您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > DSP多套试题倾心整理
一、填空题(每空2分,共20分)1、在C语言和C55x汇编语言的混合程序设计中,C函数的参数和返回值传递到C55x的寄存器中。在函数“longfunc(int*p1,inti2,inti3,inti4)”中,*p1传递到AR0寄存器,i2传递到T0寄存器,i4传递到AR1寄存器,返回值由AC0寄存器传递。2、汇编语言“mov*AR0,AC0”使用的寻址方式是间接寻址模式,“mov#0x3,DPH”使用的寻址方式是直接寻址模式,“mov*(#0x011234),T2”使用的寻址方式是绝对寻址模式。3、指令执行前AC0的值是0012345678,那么汇编语句“AND#0x7f,AC0”,执行之后,AC0的值是0000000078。4、C55x的链接器命令文件中,SECTIONS命令的主要作用是告诉链接器如何将输入段组合成输出段,以及在存储器何处存放输出。MEMORY命令的主要作用是定义目标系统的存储器配置图,包括对存储器各部分的命名,以及规定它们的起始地址和长度。二、简述题(共40分)1、根据你的理解,试列举DSP芯片的特点?(5分)答:哈佛结构;多总线结构;指令系统的流水线操作;专用的硬件乘法器;特殊的DSP指令;快速的指令周期;丰富的外设2、TMS320C55x芯片的总线结构有何特点,主要包括哪些总线?它们的功能是什么?(6分)答:TMS320C55xDSP采用先进的哈佛结构并具有十二组总线,其独立的程序总线和数据总线允许同时读取指令和操作数,实现高度的并行操作。采用各自分开的数据总线分别用于读数据和写数据,允许CPU在同一个机器周期内进行两次读操作数和一次写操作数。独立的程序总线和数据总线允许CPU同时访问程序指令和数据。包括12条总线,分别是:PAB和PB、BAB和BB、CAB和CB、DAB和DB、EAB和EB、FAB和FB。功能:3、DSP为了降低功耗采取了哪些措施?(6分)答:双电压供电;多种工作模式4、TMS320C55x的总存储空间为多少?可分为哪3类,它们的大小是多少?存储器空间的各自作用是什么?(6分)答:程序空间16MByte;I/O空间64KWords;数据空间8MWords5、TMS320C55x有哪些寻址方式,它们是如何寻址的?试为每种寻址方式列举一条指令(6分)答:直接寻址模式,mov#K16,DP;间接寻址模式,mov*AR0,AC0;绝对寻址模式,mov*(#0x011234),T2;MMR寻址模式,mov*abs16(#AR2),T2;寄存器位寻址模式,btstp@30,AC1;圆形寻址模式。6、将C源程序转换成可执行文件需要经过哪些步骤?(6分)答:创建C源文件;创建工程文件;创建连接器命令文件;编译整个工程文件;链接;生成可执行文件7、常用的TMS320C55x汇编命令有哪些,它们的作用是什么?(5分)三、程序设计题(共40分)1、用C55x汇编语言实现计算41iiixay的程序。(10分)答:mpym*AR0+,*AR1+,AC0mpym*AR0+,*AR1+,AC1addAC1,AC0mpym*AR0+,*AR1+,AC1addAC1,AC0mpym*AR0+,*AR1+,AC1addAC1,AC0或者:mpym*AR0+,*AR1+,AC0||rpt#2macm*AR0+,*AR1+,AC02、用C55x汇编语言实现计算22111**axaxy的程序。(10分)答:mpym*AR0+,*AR1+,AC3masm*AR0+,*AR1+,AC33、以8点的FFT为例,用C55x的汇编语言实现FFT的算法,并且解释该算法的实现方法。(20分)答:.sectfft_code_fft:aadd#(ARGS-Size+1),SP;Adjuststackforlocalvarsmovmmap(ST1_55),AR2;SaveST1,ST3movmmap(ST3_55),AR3movAR2,fft.d_ST1movAR3,fft.d_ST3btst@#0,T1,TC1;CheckSCALEflagsetmov#0x6340,mmap(ST1_55);SetCPL,XF,SATD,SXAM,FRCT(SCALE=1)mov#0x1f22,mmap(ST3_55);Set:HINT,SATA,SMULxccdo_scale,TC1mov#0x6300,mmap(ST1_55);SetCPL,XF,SATD,SXAM(SCALE=2)do_scalemovT2,fft.d_T2;SaveT2||mov#1,AC0movAC0,fft.d_L;InitializeL=1||sftsAC0,T0;T0=EXPmovAC0,fft.d_N;N=1EXPmovXAR1,XCDP;CDP=pointertoU[]movXSP,XAR4add#fft.d_temp,AR4;AR4=pointertotempmovXAR0,XAR1;AR1pointstosamplebuffermovT0,T1movXAR0,XAR5;CopyexterndbitstoXAR5outer_loop;for(L=1;L=EXP;L++)movfft.d_L,T0;note:Sincethebufferis||mov#2,AC0;arrangedinre,impairssftsAC0,T0;theindextothebuffernegT0;isdoubled||movfft.d_N,AC1;ButtherepeatcoutnerssftlAC1,T0;arenotdoubledmovAC0,T0;LE=2L||sftsAC0,#-1movAC0,AR0;LE1=LE1||sftsAC0,#-1sub#1,AC0;Initmid_loopcountermovmmap(AC0L),BRC0;BRC0=LE1-1sub#1,AC1;Initinnerloopcountermovmmap(AC1L),BRC1;BRC1=(NL)-1addAR1,AR0mov#0,T2;j=0||rptblocalmid_loop-1;for(j=0;jLE1;j++)movT2,AR5;AR5=id=i+LE1movT2,AR3addAR0,AR5;AR5=pointertoX[id].readd#1,AR5,AR2;AR2=pointertoX[id].imaddAR1,AR3;AR3=pointertoX[i].re||rptblocalinner_loop-1;for(i=j;iN;i+=LE)mpy*AR5+,*CDP+,AC0;AC0=(X[id].re*U.re::mpy*AR2-,*CDP+,AC1;-X[id].im*U.im)/SCALEmasr*AR5-,*CDP-,AC0;AC1=(X[id].im*U.re::macr*AR2+,*CDP-,AC1;+X[id].re*U.im)/SCALEmovpair(hi(AC0)),dbl(*AR4);AC0H=temp.reAC1H=temp.im||movdbl(*AR3),AC2xccscale,TC1||movAC2#1,dual(*AR3);ScaleX[i]by1/SCALEmovdbl(*AR3),AC2scaleaddT0,AR2||subdual(*AR4),AC2,AC1;X[id].re=X[i].re/SCALE-temp.removAC1,dbl(*(AR5+T0));X[id].im=X[i].im/SCALE-temp.im||adddual(*AR4),AC2;X[i].re=X[i].re/SCALE+temp.removAC2,dbl(*(AR3+T0));X[i].im=X[i].im/SCALE+temp.iminner_loop;Endofinnerloopamar*CDP+amar*CDP+;UpdatekforpointertoU[k]||add#2,T2;Updatejmid_loop;Endofmid-loopsub#1,T1add#1,fft.d_L;UpdateLbccouter_loop,T10;Endofouter-loopmovfft.d_ST1,AR2;RestoreST1,ST3,T2movfft.d_ST3,AR3movAR2,mmap(ST1_55)movAR3,mmap(ST3_55)movfft.d_T2,T2aadd#(Size-ARGS-1),SP;ResetSPret.end一、填空题(共30分,每空1分)1.DSP的狭义理解为数字信号处理器,广义理解为数字信号处理方法。2.在直接寻址中,指令代码包含了数据存储器地址的低7位。当ST1中直接寻址编辑方式位CPL=0时,与DP相结合形成16位数据存储器地址;当ST1中直接寻址编辑方式位CPL=1时,加上SP基地址形成数据存储器地址。3.TMS320C54有两个通用引脚,BIO和XF,BIO输入引脚可用于监视外部接口器件的状态;XF输出引脚可以用于与外部接口器件的握手信号。4.累加器又叫做目的寄存器,它的作用是存放从ALU或乘法器/加法器单元输出的数据。它的存放格式为5.桶形移位器的移位数有三中表达方式:立即数;ASM;T低6位6.DSP可以处理双16位或双精度算术运算,当C16=0位双精度运算方式,当C16=1为双16位运算方式。7.复位电路有三种方式,分别是上电复位;手动复位;软件复位。8.立即数寻址指令中在数字或符号常数前面加一个#号,来表示立即数。9.位倒序寻址方式中,AR0中存放的是FFT点数的一半。10.一般,COFF目标文件中包含三个缺省的段:.text段;.data段和.bss段。11.汇编源程序中标号可选,若使用标号,则标号必须从第一列开始;程序中可以有注释,注释在第一列开始时前面需标上星号或分号,但在其它列开始的注释前面只能标分号。12.’C5402有23条外部程序地址线,其程序空间可扩展到1M,内程序区在第0页。13.指令执行前有关寄存器及数据存储器单元情况如下图所示,请在下图分别填写指令执行后有关寄存器及数据存储器单元的内容。ADD*AR3+,14,AA0000001200数据存储器二、简答(共40分)1.TMS320C54x有多少条16位总线?这些总线各有什么作用?(6分)答:’C54x共有4组8条16位总线1条程序总线(PB):传送取自程序存储器的指令代码和立即操作数。3条数据总线(CB、DB、EB):CB和EB传送从数据存储器读出的操作数;EB传送写到存储器中的数据。4条地址总线(PAB、CAB、DAB、EAB)传送相应指令所学要的代码。2.TMS320C54x片内存储器一般包括哪些种类?如何控制存储器片内或片外的分配?(6分)答:TMS320C54x的片内存储空间分为3个可选择的存储空间:64K的程序空间,64K的数据空间和64K的I/O空间,所有TMS320C54x芯片都包括RAM、SARAM、DARAM。程序空间:MP/MC=14000H~FFFFH片外MP/MC=04000H~EFFFH片外FF00H~FFFFH片内OVLY=10000H~007FH保留0080H~007FH片内OVLY=00000H~3FFFH片外数据空间:DROM=1F000H~FEFFH只读空间FF00H~FFFH保留DROM=0F000H~FEFFH片外3.当TMS320C54xCPU接收到可屏蔽的硬件中断时,满足哪些条件中断才能被响应?(6分)答:(1)出现多个中断时,此中断的优先级最高(2)INTM=0允许全局中断39~32保护位31~16高阶位15~0低阶位A0000002700C1C1AR30101AR301000100h15000100h1500(3)IMR中的响应相应位为1,开放此中断。4.TMS320C54x硬件复位地址为多少?如何确定中断向量地址?计算INT0(IPTR=001H)的中断向量地址
本文标题:DSP多套试题倾心整理
链接地址:https://www.777doc.com/doc-6839269 .html