1、http:/ 时尚女装 女鞋 衣之韩舍官方旗舰店http:/ 时尚女装 女鞋 衣之韩舍官方旗舰店通信系 DSP 原理及应用期末考试题(答案)姓名: 学号: 班级: 分数: 考试时间:15:4017:30 考试方式:开卷;注意:所有答案必须写在答题纸上,试卷上的答案无效!一、 填空题(每空 2 分,共 20 分)1、在 C 语言和 C55x 汇编语言的混合程序设计中,C 函数的参数和返回值传递到 C55x 的寄存器中。在函数“long func(int *p1, int i2, int i3, int i4)”中,*p1 传递到 AR0 寄存器,i2 传递到 T0 寄存器,i4传递到 AR1 寄
2、存器,返回值由 AC0 寄存器传递。2、汇编语言“mov *AR0,AC0”使用的寻址方式是 间接寻址模式 ,“mov #0x3,DPH”使用的寻址方式是 直接寻址模式 ,“mov *(#0x011234),T2”使用的寻址方式是 绝对寻址模式 。3、指令执行前 AC0 的值是 0012345678,那么汇编语句“AND #0x7f, AC0”,执行之后,AC0 的值是 0000000078 。4、C55x 的链接器命令文件中,SECTIONS 命令的主要作用是 告诉链接器如何将输入段组合成输出段,以及在存储器何处存放输出 。MEMORY 命令的主要作用是 定义目标系统的存储器配置图,包括对存
3、储器各部分的命名,以及规定它们的起始地址和长度 。二、简述题(共 40 分)1、根据你的理解,试列举 DSP 芯片的特点?(5 分)答:哈佛结构;多总线结构;指令系统的流水线操作;专用的硬件乘法器;特殊的DSP 指令;快速的指令周期;丰富的外设 http:/ 时尚女装 女鞋 衣之韩舍官方旗舰店http:/ 时尚女装 女鞋 衣之韩舍官方旗舰店2、TMS320C55x 芯片的总线结构有何特点,主要包括哪些总线?它们的功能是什么?(6 分)答:TMS320C55x DSP 采用先进的哈佛结构并具有十二组总线,其独立的程序总线和数据总线允许同时读取指令和操作数,实现高度的并行操作。采用各自分开的数据总
4、线分别用于读数据和写数据,允许 CPU 在同一个机器周期内进行两次读操作数和一次写操作数。独立的程序总线和数据总线允许 CPU 同时访问程序指令和数据。 包括 12 条总线,分别是:PAB 和 PB、BAB 和 BB、CAB 和 CB、DAB 和 DB、EAB 和EB、FAB 和 FB。功能:3、DSP 为了降低功耗采取了哪些措施?(6 分)答:双电压供电;多种工作模式4、TMS320C55x 的总存储空间为多少?可分为哪 3 类,它们的大小是多少?存储器空间的各自作用是什么?(6 分)答:程序空间 16M Byte;I/O 空间 64K Words;数据空间 8M Words5、TMS320
5、C55x 有哪些寻址方式,它们是如何寻址的?试为每种寻址方式列举一条指令(6 分)答:直接寻址模式,mov K16,DP;间接寻址模式,mov *AR0,AC0;绝对寻址模式,mov *(#0x011234),T2;MMR 寻址模式,mov *abs16(AR2), T2;寄存器位寻址模式,btstp 30, AC1;圆形寻址模式。6、将 C 源程序转换成可执行文件需要经过哪些步骤?(6 分)答:创建 C 源文件;创建工程文件;创建连接器命令文件;编译整个工程文件;链接;生成可执行文件http:/ 时尚女装 女鞋 衣之韩舍官方旗舰店http:/ 时尚女装 女鞋 衣之韩舍官方旗舰店7、常用的 T
6、MS320C55x 汇编命令有哪些,它们的作用是什么?(5 分)三、程序设计题(共 40 分)1、用 C55x 汇编语言实现计算 的程序。(10 分)41iixay答:mpym *AR0+, *AR1+, AC0mpym *AR0+, *AR1+, AC1add AC1, AC0mpym *AR0+, *AR1+, AC1add AC1, AC0mpym *AR0+, *AR1+, AC1add AC1, AC0或者:mpym *AR0+, *AR1+, AC0|rpt #2macm *AR0+, *AR1+, AC02、用 C55x 汇编语言实现计算 的程序。(10 分)211*axy答:m
7、pym *AR0+, *AR1+, AC3masm *AR0+, *AR1+, AC3http:/ 时尚女装 女鞋 衣之韩舍官方旗舰店http:/ 时尚女装 女鞋 衣之韩舍官方旗舰店3、以 8 点的 FFT 为例,用 C55x 的汇编语言实现 FFT 的算法,并且解释该算法的实现方法。(20 分)答: .sect “fft_code“ _fft:aadd #(ARGS-Size+1),SP ; Adjust stack for local varsmov mmap(ST1_55),AR2 ; Save ST1,ST3mov mmap(ST3_55),AR3 mov AR2,fft.d_ST1m
8、ov AR3,fft.d_ST3btst #0,T1,TC1 ; Check SCALE flag setmov #0x6340,mmap(ST1_55) ; Set CPL,XF,SATD,SXAM,FRCT (SCALE=1) mov #0x1f22,mmap(ST3_55) ; Set: HINT,SATA,SMUL xcc do_scale,TC1mov #0x6300,mmap(ST1_55) ; Set CPL,XF,SATD,SXAM (SCALE=2) do_scalemov T2,fft.d_T2 ; Save T2 | mov #1,AC0mov AC0,fft.d_L ;
9、 Initialize L=1| sfts AC0,T0 ; T0=EXPmov AC0,fft.d_N ; N=11 | sfts AC0,#-1 sub #1,AC0 ; Init mid_loop countermov mmap(AC0L),BRC0 ; BRC0=LE1-1http:/ 时尚女装 女鞋 衣之韩舍官方旗舰店http:/ 时尚女装 女鞋 衣之韩舍官方旗舰店sub #1,AC1 ; Init inner loop countermov mmap(AC1L),BRC1 ; BRC1=(NL)-1 add AR1,AR0 mov #0,T2 ; j=0 | rptblocal m
10、id_loop-1 ; for (j=0; j#1,dual(*AR3) ; Scale Xi by 1/SCALEmov dbl(*AR3),AC2 scaleadd T0,AR2| sub dual(*AR4),AC2,AC1 ; Xid.re=Xi.re/SCALE-temp.remov AC1,dbl(*(AR5+T0) ; Xid.im=Xi.im/SCALE-temp.im| add dual(*AR4),AC2 ; Xi.re=Xi.re/SCALE+temp.remov AC2,dbl(*(AR3+T0) ; Xi.im=Xi.im/SCALE+temp.iminner_loo
11、p ; End of inner loop amar *CDP+amar *CDP+ ; Update k for pointer to Uk| add #2,T2 ; Update j mid_loop ; End of mid-loop sub #1,T1 add #1,fft.d_L ; Update Lbcc outer_loop,T10 ; End of outer-loopmov fft.d_ST1,AR2 ; Restore ST1,ST3,T2mov fft.d_ST3,AR3mov AR2,mmap(ST1_55)mov AR3,mmap(ST3_55) mov fft.d_T2,T2aadd #(Size-ARGS-1),SP ; Reset SPret.endhttp:/ 时尚女装 女鞋 衣之韩舍官方旗舰店http:/ 时尚女装 女鞋 衣之韩舍官方旗舰店