您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > DSP期末试题与答案
一、填空题:1.DSP芯片的结构特点主要有改进的哈佛结构、流水线操作、专用的硬件乘法器、快速的指令周期、低功耗设计、高并行度、多处理单元、特殊的DSP指令等。2.C54xDSP具有两个40位累加器。累加器A的AG或32-39位是保护位。3.软件中断都是由INTRK、TRAPK和RESET产生。4.TMS320C54X片内有8条16位主总线,它们是1条程序总线、3条数据总线、4条地址总线。5.MEMROY的作用是用于描述系统实际的硬件资源,用来定义用户设计的系统中所包含的各种形式的存储器,以及它们占据的地址范围,SECTIONS的作用是用于描述输入段怎样被组合到输出段内,在可执行程序内定义输出段,规定存储器内何处存放置输出段,允许重命名输出段。6.执行复位操作后,下列寄存器的初始值分别为:ASM=0、DP=0。7.TMS320C54x有三种类型的串行口:标准同步串行口(SPI)、缓冲串行口(BSP)、和时分多路复用串行接口(TDM)。8.桶形移位器能把输入的数据进行0-31位的左移和0-15位的右移。9.即寻址方式中的立即数有两种数值形式,数值的位数为3、5、8、9位时为短立即数;数值的位数为16位时是长立即数。10.DSP片内寄存器在C语言中一般采用指针方式来访问,常常采用的方法是将DSP寄存器地址的列表定义在头文件中(reg.h)。11.所有TMS320C54X芯片内部都包含程序存储器和数据存储器。12.直接寻址就是在指令中包含有数据存储器地址的低7位用作偏移地址,并与基地址组成16位的数据存储器地址。13.定时器主要由3个寄存器所组成,包括定时寄存器TIM、定时周期寄存器PRD、定时控制寄存器TCR。14.链接器对段的处理主要通过MEMORY和SECTIONS两个命令完成。15.OVLY=0,则片内RAM只安排到数据存储空间。DROM=1,则部分片内ROM安排到数据空间。16.C54X的工作方式状态寄存器PMST提供了三个控制位,包括MP/非MC、OVLY、DROM。18.ST1的CPL=1表示选用堆栈指针(SP)的直接寻址方式。19.TMS320C54X有3个16位寄存器作为状态和控制寄存器,它们是状态寄存器ST0、状态寄存器ST1、处理器工作方式状态寄存器PMST。20.ST1的C16=0表示ALU工作在双精度算术运算方式。21.时钟发生器包括一个内部振荡器和一个锁相环(PLL)电路。22.所有的COFF文件都包含三种形式的段,分别是.text文本段、.data数据段、和.bss保留空间段。23.状态寄存器ST1中CPL=0表示使用DP,CPL=1表示选择的是使用SP。24.累加器寻址的两条指令分别是READASmem、WRITASmem。二、简答题1.简述TMS320C54x的7种基本的数据寻址方式。(P25)答:1、立即寻址2、绝对寻址3、直接寻址4、间接寻址5、累加器寻址6、存储器映射寄存器寻址7、堆栈寻址。2.段的作用是什么?COFF目标文件包含哪些段?(P79)答:所谓段,是指连续地占有存储空间的一个代码段或数据段,是COFF文件中最重要的概念。一个目标文件中的每一段都是分开的和各不相同的。COFF目标文件文件包含:(1)text段:可执行代码段(2)data段:已初始化数据段(3)bss段:未初始化数据的保留空间段。3.简述实现FIR滤波器延时一个采样周期运算Z-1。的算法。(P184)答:(1)线性缓冲区法,又称延迟线法。对于N级的FIR滤波器,在数据存储器中开辟一个称为滑窗的N个单元的缓冲区,存放最新的N个样本输入。从最老的样本开始,每读一个样本后,则将此样本向下移位。读完最后一个样本后,输入最新样本至缓冲区的顶部。优点:新老数据在存储器中存放的位置直接明了。(2)用循环缓冲区法实现。对于N级的FIR滤波器,在数据存储器中开辟一个称为滑窗的N个单元的缓冲区,在滑窗中存放最新的N个输入样本。每次输入新的样本时,以新样本改写滑窗中的最老数据,而滑窗中的其他数据不需要移动。利用片内BK(循环缓冲区长度)寄存器对滑窗进行间接寻址,循环缓冲区地址首尾相邻。优点:它不需要移动数据,不存在一个机器周期中要求能够进行一次读和一次写的数据存储器,因而可将循环缓冲区定位在数据存储器的任何位置(线性缓冲区要求定位在DARAM中)。8.简述C54X芯片的主要特点。答:(1)CPU利用其专用的硬件逻辑和高度并行性提高芯片的处理性能。(2)存储器具有192K字可寻址存储空间(包括64K字程序存储空间、64K字数据存储空间、64K字I/O空间)(3)高度专业化的指令集能够快速地实现算法并用于高级语言编程优化(4)片内外设和专用电路采用模块化的结构设计,可以快速地推出新的系列产品(5)TMS320C54X执行单周期定点指令时间为25/20/15/12.5/10ns,每秒指令数为40/66/100MIPS。(6)TMS320C54XD电源由IDLE1、IDLE2、IDLE3功耗下降指令控制功能,以便DSP工作在节电模式下,使之更适合于手机。(7)在片仿真接口,片上的JTAG接口符合IEEE149.1边界扫描逻辑接口标准,可与主机连接,用于芯片的仿真和测试。9.定时器由哪些寄存器组成,他们是如何工作的?(P245)答:定时器主要由3个寄存器所组成,包括定时寄存器TIM、定时周期寄存器PRD、定时控制寄存器TCR。定时寄存器TIM是一个减1计数器,提供定时器目前的计数值;周期定时器PRD用来存取定时时间常数;定时控制寄存器TCR中包含定时器的控制位和状态位,可以使能和屏蔽定时器,决定定时器的工作模式,用来控制定时器的操作。二、指令解释1、MAC*AR3+,*AR4+,A,B;B=A-*AR3+*AR4;AR3=AR3+1;AR4=AR4+12、SUB#12345,8,A,B;B=A-1234583、ADD*AR2+,*AR2-,A;A=*(AR2)+*(AR2+1)4、RPT#99;重复NOP100次NOP5、MVDD*AR3+,*AR5+;数据存储器内部传送数据AR3→AR5,且指令结束后AR3与AR5加16、ABDST*AR3+,*AR4+;B=(*AR3-*AR4)167、CALAA;按累加器规定的地址调用子程序8、STT,*AR7-;*AR7=T,AR7=AR7-19、DSTB,*AR1+;AR1=B,AR1=AR1+110、STA,*AR4+;AR4=A,AR4=AR4+1||A=AR4,AR4-1||LD*AR4-,A11、LD#0032H,4,A;立即数0032H先左移4位后,再加载累加器A12、STM#1000H,*AR2;立即数1000H存储到AR2指向的地址单元13、MAC#345,A,B;立即数345与T寄存器的值相乘后与累加器A相加,结果加载累加器B14、MVDD*AR3-,100H;AR3指向的地址单元的值传送给地址100H,AR3中地址减一15、LDM*AR1,A;AR1指向的地址单元的值加载到累加器A16、LD#80H,A;把立即数80H装入累加器16、WRITASMEM;把Smem所指定的数据存储单元中的一个数传送到累加器A所指定的成序存储单元17、PORTRFIFO,*AR5;把一个数从端口为FIFO的I/O口复制到AR5寄存器所指向的数据存储单元中19、LDMMMR,A;将MMR装入累加器A中20、MVKDSAMPLE,*AR5;21、ADD*AR3+,14,A;将AR3左移14加上A→A,AR3=AR3+122、MPYATEMP2;B=A.Temp2.T=Temp223、STA,*AR4+||LD*AR4-,A24、DSTB,*AR1-;B存到长字单元AR1中,且AR减125、MACD*AR2-,COEFFS,A26、STLA,@quot;将累加器A的低16位字存放在quot的存储单元中27、ADD#4568H,8,A,B;将4568H左移8位与A相加,赋给B28、LDMAR1,A;存储器映像寄存器寻址方式,将映像寄存器加载累加器AR1→A的低位,其余位置为029、MVDD*AR3+,*AR5+;数据存储器内部传送数据AR3→AR5,且指令结束后AR3与AR5加130、MPYATEMP2;B=A.Temp2.T=Temp2四、编程2.编一程序,首先实现对DATA开始的5个单元赋初值0,1,2,3,4,然后再对每个单元内容加1。.titlelian.asm.mmregs.bssx,5stack.usectstack,10h.datatable:.word0,1,2,3,4.defstart.textstart:STM#x,AR1RPT#4MVPDtable,*AR1+LD#1,16,BSTM#4,BRCSTM#x,AR4RPTB#next-1ADD*AR4,16,B,ASTHA,*AR4+next:LD#0,Bend:Bend.end3.试编一程序,计算y=xaiii51,其中数据均为小数。并找出5项乘积xaii(i=1,2,3,4,5)中的最小值,放入z单元中。4.编一程序,首先实现对DATA开始的4个单元赋初值0,1,2,3,然后再对每个单元内容加1。5.编写一段程序,将程序存储器中的10个数据首先传送到数据存储器中(以DATA1开始),再将DATA1开始的10个单元内容传送到DATA2开始的数据储存期中。.tiltle“zh1.asm”.mmregs.defstart.dataTable:.word2,1,2,3,4,5,6,7,8,2.bssDATA1,10.bssDATA2,10.textstart:STM#DATA1,AR1RPT#9MVPDTable,*AR1+STM#DATA2,AR0RPT#9MVPDDATA1,*AR0+end:Bend.end五、阅读程序1、阅读下列汇编源程序,在每条语句后写出注释,并叙述程序的功能。.titleF2.ASM;为汇编源程序取名.mmregs;定义存储器映像文件.defstart;定义启动模式.bssy,1;为y分配1个存储空间X.usectx,7;为x预留7个存储空间b0.usectb0,7;为b0预留7个存储空间PA0.set0;PA0=0PA1.set1;PA1=1.dataCOEF:.word1*32768/10;0.1.word2*32768/10;0.2.word-4*32768/10;-0.4.word3*32768/10;0.3.word-4*32768/10;-0.4.word2*32768/10;0.2.word1*32768/10;0.1.textstart:SSBXFRCT;FRCT位置1,表示进行小数乘STM#b0,AR1;b0的首地址传给AR1RPT#6;重复7次下条指令MVPDtable,*AR1+;将程序空间的7个数据传送给数据存储器STM#xn+6,AR2;AR2指向x(n-6),AR2=86HSTM#b0+6,AR3;AR3指向b6单元,AR3=8EHSTM#7,BK;BK=7,设置缓冲区长度LD#xn,DP;设置页指针,DP=01HPORTRPA1,@xn;输入x(n)FIR2:RPTZA,#6;累加器A清零,设置迭代次数MAC*AR2+0%,*AR3+0%,A;A=circ(AR2+AR0)+circ(AR3+AR0)STHA,@y;暂存y(n)PORTW@y,PA0;输出y(n)BDFIR2;执行完下一条后,跳到FIR2处PORTRPA1,*AR2+0%;输入最新样本,并修改AR2.end功能:N=7的滤波器,y(n)=b0*x(n)+b1*x(n-1)+b2*x(n-2)+b3*x(n-3)+b4*x(n-4)+b5*x(n-5)+b6*x(n-6)2.阅读下列汇编源程序,在每条语句后写出注释,并叙述程序的功能.title“cjy4.asm”.mmregsSTACK.usect“STACK”,10H.bssa,4;为a分配4个存储单元.bssx,4;为x分配4个存储单元.bss
本文标题:DSP期末试题与答案
链接地址:https://www.777doc.com/doc-6870261 .html