您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > DSP原理及应用答案
第1页共11页广东白云学院2013—2014学年第二学期期末考试《DSP原理及应用》(A卷)参考答案及评分标准命题人签名陈立旺适用专业及方向:电子信息工程、通信工程层次:本科年级:11级限时:120分钟考试形式:闭卷考场要求:笔试系(教研室)主任签名院长(部)主任签名题号总分得分一、填空题(请将正确答案填写在括号内。每空1分,共20分)得分评卷人1、DSP定点数值为0x6000,若它是Q15(或S0.15)定标的有符号小数,它的数值是(0.75);若是Q0(或S15.0)格式有符号整数,则它的数值是(24576)。2、'C54x芯片分成(3)个相互独立的可选择的存储空间,其中程序存储器空间在不扩展的情况下可寻址(64K)字。3、与单片机相比,DSP采用了改进型(哈佛)结构和流水线/或并行技术,多了硬件乘加器,是(运算密集)型处理器,运算速度和(精度)高。4、’DSP在CPL=0时,操作数@y的实际地址是将(DP)寄存器的内容作为地址的高(9)位,再加上y提供的低(7)位偏移地址。5、COFF文件的基本单元是((段))。。它是就是最终在存储器映象中占据连续空间的一个数据或代码块。6、AR1=1001H时,执行DSTA,*AR1指令后,AH内容存入地址(1001H)的单元,AL存入地址(1000H)的单元。7、指令ADD#4567H,8,A,B执行前A=00001234H,B=00001100H,执行后A和B的值分别为(00001234H)、(00457934H)。学院.专业班级.姓名学号.--------------------------------------------------------密-----------------------封------------------线----------------------------------------------------------------------第2页共11页8、'C54x芯片的中断系统可分为硬件中断和(软件中断),还可以分为可屏蔽中断和(非屏蔽中断)。99、、'C54x芯片的硬件复位地址为(FF80H),INT0的中断序号为16,IPTR=1FFH时其中断向量地址为(FFC0H)。10.在’C54xDSP寻址和指令系统中,操作数Xmem和Ymem表示(数据存储器双寻址数据),Lmem表示(长字寻址的32位数据存储器数据)。二、判断题(正确的在括号内画√,错误的在括号内画×。每空1分,共10分)(√)1、解决流水线冲突的办法之一就是中间插入若干条NOP指令。(√)2、链接器可以将自定义未初始化段自动地定位到数据存储器。(√)3、'C54x有6级流水线,包含预取指、取指、译码、寻址、读数和执行。(×)4、'C54x数据空间可进行页扩展,每页空间是64K字。(√)5、DSP采用了改进型哈佛结构和流水线技术(√)6、FRCT=1,可保证Q15×Q15小数乘法结果仍为Q15。(×)7、SXM=0时数据进入ALU或移位器之前会进行符号扩展。(√)8、INTM=0允许全局中断。(√)9、'C54x的IO管脚供电电压为3.3伏。(×)10、C5000(C54x、C55x)系列主要用于数字控制系统。三、编程题(10分)得分评卷人编写程序,计算51iiixay。其中a1=0.1,a2=0.2,a3=-0.4,a4=0.4,a5=0.51,x1=0.7,x2=0.6,x3=-0.7,x4=-0.8,x5=-0.91评分标准:伪指令无误得5分,代码段无误得5分答案:第3页共11页.titlemac.asm.mmregs.bssa,5;.bssx,5;.bssy,1;.globalstart.data;table:.word1*32768/10;.word2*32768/10.word-4*32768/10.word4*32768/10.word51*32768/100.word7*32768/10;.word6*32768/10.word-7*32768/10.word-8*32768/10.word-91*32768/100.text;start:SSBXFRCT;RSBXCPL;STM#a,AR1;RPT#9;MVPDtable,*AR1+;第4页共11页STM#x,AR2;STM#a,AR3;RPTZA,#4;MAC*AR2+,*AR3+,A;LD#y,DPSTHA,@y;end:Bend;.end三、回答问题(每题4分,共24分)得分评卷人1、DSP的主要技术指标有哪些?答:精度,速度,功耗,片内资源,价格,生命周期及其开发工具等。2、程序地址生成器PAGEN中,RC起何作用?如何工作的?答:RC是重复计数器,初值决定于RPT(Z)指令的操作数,随后一条指令被重复指令,每重复执行一次RC内容减一,直至0为止。3、举例反序寻址的表达方式及其关键符号的意义?答:反序寻址如*AR4+0B,它表示修改AR4时,AR4=AR4+AR0,B表示反向进位(或借位)。4、说明FIR滤波器使用线性缓冲区时编程的方法及步骤答:线性缓冲区可利用.bss伪指令开辟未初始化数据段,线性数据缓冲区可采用直接寻址(如@x)或间接寻址(*AR1)的方法,其算法是:利用MAC指令计算输出,数据的更新法是利用移位指令(即延迟指令)如LTD指令等,进行全区数据的更新。5、试说明浮点乘法的主要计算步骤(写出关键指令)。第5页共11页答答::将将00..0055和和00..8855转转化化成成指指数数((EEXXPP指指令令))和和尾尾数数((NNOORRMM指指令令)),,再再作作尾尾数数乘乘((乘乘后后需需再再转转化化成成指指数数和和尾尾数数))和和指指数数加加。。再再利利用用NNOORRMM指指令令化化为为定定点点数数。。6.串口的字符组传送模式和连续传送模式的区别在哪里?答:前者每16位传送时,需要一个帧同步信号。后者传输若干个16位只需要一个帧同步信号四、问答题(26分)得分评卷人1、阅读程序,设x1为300H地址,回答问题(10分).titlebitrev.asm.mmregsx.usectinputx,16y.usectoutputx,16.def_c_int01.datatable:.word1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16.text_c_int01:STM#x,AR1RPT#15MVPDtable,*AR1+CALLbitrevend:Bendbitrev:STM#8,AR0STM#x,AR3STM#y,AR4RPT#14第6页共11页MVDD*AR3+0B,*AR4+bitrevend:RET.end填空回答问题(每空1分):1)x1.usectinputx,16一句表示为:定义段名为(inputx)的(未初始化自定义段)段,该段长度为16个字,起始地址为(x)2)、该程序要求X地址低(5)位必须为0,为达到这种要求必须在(*.CMD)文件中对.inputx段分配和存储器配置。3)、假定AR3中当前值为0304h,在执行指令MVDD*AR3+0B,*AR4+后,AR3的值是(030C)h4)、该程序运行的结果是Y单元的内容为:(1)Y+1单元的内容:(9)Y+2单元的内容:(5)5)、设FFT点数为32,则STM#8,AR0应该改成(STM#16,AR0)。2、阅读程序填写结果。(12分).title“FIR4.ASM”;.mmregs;.defstart;.bssy,1;xn.usect“xn”,5;a0.usect“a0”,5;PA0.set0;PA1.set1;.datatable:.word2*32768/10;第7页共11页.word1*32768/10;.word3*32768/10;.word1*32768/10;.word4*32768/10;.textstart:SSBXFRCT;STM#a0,AR1;RPT#4;MVPDtable,*AR1+;STM#xn+4,AR3;STM#a0+4,AR4;STM#5,BK;STM#-1,AR0;LD#xn,DP;PORTRPA1,@xn;FIR4:RPTZA,#4;MAC*AR3+0%,*AR4+0%,A;STHA,@y;PORTW@y,PA0;BDFIR4;PORTRPA1,*AR3+0%;.end填空及回答(每空2分)1)、语句STM#5,BK表示的意思是:(设置缓冲区长度为5)2)、“xn”数据段是线性缓冲区还是循环缓冲区:(循环缓冲区)3)、此程序算法的表达式是(y中内容等于):y(n)=(0.2x(n)+0.1x(n-1)+0.3x(n-2)+0.1x(n-3)+0.4x(n-4))4):指出以下指令中各个操作数的寻址方式STM#a0,AR1第8页共11页(#a是立即寻址,AR1是MMR寻址)LD#y,DP(#y是立即寻址,DP是MMR寻址)STHA,@y(A是MMR寻址,@y是直接寻址(DM区))4.阅读下面的程序,回答问题。MEMORY{PAGE0:PROG:origin=0x2000,length=0x1000PAGE1:DATA:origin=0x3000,length=0x1000}SECTIONS{.text:{}PROGPAGE0STACK:{}DATAPAGE1}汇编程序size.set0x0120stack.usect“STACK”,size.textSTM#stack+size,SP问题:(1)标号“stack”的存储器地址是多少?(2分)(2)执行这段代码之后,SP寄存器的内容是多少?(2分)答:(1)stack的存储空间为0x3000;(2)SP=0x3120;三、应用题(10分)得分评卷人第9页共11页设CLKOUT=8MHz,试阅读下列程序。试回答,引脚XF产生什么波形的信号?若要求方波周期改为16s,T0中断周期减小到原来一半,试说明程序的修改方法。程序:.titletime.asm.mmregs.global_mainK_TCR0.set111001101001B.text_main:nopSTM#0010H,TCRSTM#6399,TIMSTM#6399,PRDSTM#K_TCR0,TCRSTM#0008H,IFRSTM#0008H,IMRRSBXINTMLop:blopt0_flag.usect“vars”,1time0_rev:PSHMST0PSHMST1BITFt0_flag,#1BCxf_out,NTCSSBXXF;XF=1ST#0,t0_flagBnextxf_out:RSBXXF;XF=0ST#1,t0_flagnext:POPMST1POPMST0RETE.end另外:在中断向量表vector文件中,在T0中断向量入口处加上如下三条指令:IV_TINT0:Btime0_revrNOPNOP第10页共11页答案:引脚XF产生占空比为50%,周期为16ms的方波的程序。原题8ms=(TDDR+1)(PRD+1)ms/8000,(TDDR+1)(PRD+1)=64000;所以:可以使TDDR=9,PRD=6399。现在使PRD=3199即可方波周期改为16s即每中断2000次修改一次XF,程序进行如下修改:1,STM#6399,PRD改为STM#3199,PRD2,在Lop:blop之前加一条STM#1999,AR13,在time0_rev:PSHMST0之前加两条指令BANZOK,*AR1-STM#1999,AR14,在RETE前加标号OK,即指令为OK:RETE第11页共11页表表一一::常常用用指指令令表表::指指令令类类型型格格式式举举例例((简简例例))注注释释((略略说说))修正指针MAR*AR3+0BAR3+AR0→AR3,并反向进位测试指令BITFx1,#1x1与1的结果→TC位条件转移BCL1,NTCTC位为零则转移到L1条件转移BANZL2,*AR2-AR2减1不为0则转移到L2条件转移
本文标题:DSP原理及应用答案
链接地址:https://www.777doc.com/doc-2871043 .html