您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 4套DSP(数字信号处理)经典考试试卷
39~32保护位31~16高阶位15~0低阶位11、填空题(共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.指令执行前有关寄存器及数据存储器单元情况如下图所示,请在下图分别填写指令执行后有关寄存器及数据存储器单元的内容。ADDA0000002700C1C1AR30101AR301000100h15000100h1500*AR3+,14,AA0000001200数据存储器2、简答(共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允许全局中断(3)IMR中的响应相应位为1,开放此中断。4.循环寻址中,如何确定循环缓冲的起始地址?如果循环缓冲大小为17,其起始地址必须从什么地址开始?BK初始化为多少?(4分)5.TMS320C54x硬件复位地址为多少?如何确定中断向量地址?计算INT0(IPTR=001H)的中断向量地址。(6分)答:复位后,复位向量地址为:0080H确定地址方式:IPTR+左移2位后的中断向量序列号10H左移2位后成为40H,IPTR=001H,则中断向量地址为00C0H6.若辅助寄存器AR0的值为0x0005H,AR3的值为0x030FH,请分别给出下列寻址方式修改后的辅助寄存器的值。(6分)*AR3+;AR3=0310H*AR3+0;AR3=0314H*AR3(15);AR3=0324H7.分别解释以下指令的功能。(6分)LD#80h,A;把立即数80H装入累加器ALD80h,A;把80H为地址的数据装如累加器ALD#80h,16,A;把立即数80H左移16位后装如累加器A3、程序填空(共22分,每空2分)1.实现计算z=x+y-w的程序。.titleexample1.asm.mmregsSTACK.usectSTACK,10h.bssx,1.bss y,1.bssw,1.bssz,1.defstart.datatable:.word10,26,23.textstart:STM#0,SWWSRSTM#STACK+10h,SP;初始化堆栈指针SPSTM#x,AR1RPT#2MVPDtable,*AR1+;数据从程序存储器传送到数据存储器CALLSUMBend:BendSUMB:LD@x,AADD@y,ASUB@w,A;实现减法运算STLA,@zRET.end2.实现对数组X[5]={1,2,3,4,5}的初始化,然后将数据存储器中的数组X[5]复制到数组Y[5]。最后实现数组X和数组Y中对应元素相乘并累加,即z=1*1+2*2+3*3+4*4+5*5.mmregs.bssx,5.bssy,5.bssz,1.defstarttable:.word1,2,3,4,5.textstart:STM#x,AR1RPT4MVPDtable,*AR1+;从程序存储器传送到数据存储器数组X[5]STM#x,AR2STM#y,AR3RPT4MVDD*AR1,*AR3;从数据存储器数组X[5]传送到Y[5]SSBXFRCT;准备整数乘法STM#x,AR2STM#y,AR3STM#z,AR4RPTZ4MAC*AR2+,*AR3+,ASTLA,*AR4End:Bend.end四、分析程序回答问题(共8分) .def_c_int00 .mmregsstack: .usectstack,10h .bssa,4 .bssx,4 .bssy,1.datatable: .word1,2,4,3 .word8,6,4,2 .text_c_int00:STM#stack+10h,sp STM#a,AR1 RPT#7 MVPDtable,*AR1+ CALLsumend: Bendsum: STM#a,AR3 STM#x,AR4 RPTZA,#3 MAC*AR3+,*AR4+,A STLA,@y ret .end(1)说明该程序的功能:(4分)答:a1*x1=a2*x2+a3*x3+a4*x4(2)说明以下各量的理论值(4分)A:2Aa1的地址:81H内容:1AR1:88HAR3:84H21.TI公司的定点DSP产品主要有TMS320C2000系列、TMS320C5000系列和TMS320C6000系列。2.’C54xDSP中传送执行指令所需的地址需要用到PAB、CAB、DAB和EAB4条地址总线。3.DSP的内部存储器类型可分为随机存取存储器(RAM)和只读存储器(ROM)。其中RAM又可以分为两种类型:单寻址RAM(SARAM)和双寻址RAM(DARAM)。4.’C54xDSP的内部总存储空间为192K字,分成3个可选择的存储空间:64K字的程序存储空间、64K字的数据存储空间和64K字的I/O空间。5.从功能结构上,’C54XDSP的CPU可以划分成运算部件和控制部件两大部分。6.’C54xDSP的寻址方式有七种,分别为立即寻址、绝对寻址、累加器寻址、直接寻址、间接寻址、存储器映象寄存器寻址、堆栈寻址。7.在’C54xDSP寻址和指令系统中,Xmem和Ymem表示16位双寻址操作数,Dmad为16位立即数,表示数据存储器地址,Pmad为16位立即数,表示程序存储器地址。8.程序计数器的值可以通过复位操作、顺序执行指令、分支转移,累加器转移,块重复,子程序调用,从累加器调用子程序,中断等操作改变。9.’C54xDSP芯片采用了6级流水线的工作方式,即一条指令分为预取指、取指、译码、寻址、读数和执行6个阶段。10.解决MMR写操作的流水线冲突时,一般可用采用推荐指令和插入空操作指令的方法。11.’C54xDSP定时器由3个16位存储器映射寄存器组成:定时器寄存器(TIM)、定时器周期寄存器(PRD)和定时器控制寄存器(TCR)。12.主机接口(HPI,HostPortInterface)是TMS320C54x系列定点芯片内部具有的一种接口部件,主要用于DSP与其他总线或CPU进行通信。13.’C54xDSP的指令系统有助记符指令和代数指令两种形式。14.COFF目标文件中.text段通常包含可执行代码,.data段通常包含己初始化的数据,.bss段中通常为未初始化的数据保留空间。15.DSP芯片的开发工具可以分为代码生成工具和代码调试工具两类。1.BANZ2000h,*AR3-2.CMPRGT,AR33.ADD*AR3+,14,A4.SUBA,-8,B5.MPY*AR3+,A五、程序题(15分)写出计算的主要汇编程序,并给程序添加注释,画出程序的流程图。解:程序及注释:.bssx,20;给变量x分配20个字单元.bssy,1;给变量y分配1个字单元STM#x,AR1;取x地址STM#19,AR2;设置循环次数LD#0,A;累加器清零loop:ADD*AR1+,A;累加x分量BANZloop,*AR2-;循环是否结束,没有结束则继续累加STLA,@y;把结果存入y流程图:31、用C55x汇编语言实现计算的程序。(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汇编语言实现计算的程序。(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;theindex
本文标题:4套DSP(数字信号处理)经典考试试卷
链接地址:https://www.777doc.com/doc-5881695 .html