DSP测试的题目及详解_第1页
DSP测试的题目及详解_第2页
DSP测试的题目及详解_第3页
DSP测试的题目及详解_第4页
DSP测试的题目及详解_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实用标准文案1、什么是哈佛结构和冯诺伊曼(Von Neuman )结构?它们有什么区别?答: 冯.诺伊曼(Von Neuman )结构该结构采用单存储空间, 即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。(2)哈佛(Harvard )结构该结构采用单存储空间, 即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。两者区别:哈佛(Harvard )结构:该结构采用双存储空间,程序存储器和数

2、据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大地提高了数据处理能力和指令的执行 速度,非常适合于实时的数字信号处理。冯诺伊曼(Von Neuman )结构:当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。2、TMS320VC5416-160的指令周期是多少毫秒?它的运算速度是多少MIPS ?答:TMS320VC5416-160的指令周期16ns ,它的运算速度是 160MIPS 。3、TMS320C54X 芯片的流水线操作共有多少个操作阶段

3、?每个阶段执行什么任务?完成一条指令都需要哪些操作周期?答:(1)六个操作阶段。(2)各个阶段执行的任务:预取指P:将PC中的内容加载到 PAB 取指F:将读取到的指令字加载到 PB 译码D:将PB的内容加载IR,对IR的内容译码寻址A: CPU将数据1或数据2的读地址或同时将两个读地址分别加载到数据地址总线DAB和CAB中,并对辅助寄存器或堆栈指针进行修正。读数R:将读出的数据1和数据2分别加载到数据总线 DB和CB中。若是并行操作指令,可同时将数据 3的写地址加载到数据地址总线EAB中。执彳T X:执行指令,写数据加载 EB。(2) 完成一条指令需要的周期:需要:预取指周期、取指周期、译码

4、周期、寻址周期和读数周期。4、TMS320VC5402共有多少可屏蔽中断?它们分别是什么?NMI和RS属于哪一类中断源?答:(1) TMS320VC5402 有13个可屏蔽中断。(3) TMS320VC5402 有的13个可屏蔽中断分别是:(课本56页最下面)(4) RS和NMI属于外部硬件中断。5、试分析下列程序的流水线冲突,画出流水线操作图。如何解决流水冲突?STLM A , AR0STM #10 , AR1LD *AR1 , B答:流水线图如下图:2345678商1取取指 洋码 寻址 读儆 执行指STIAIA AKO写ARI再取 以指 译屈 目计 没敏 执行精彩文档© 指STM

5、1st Word>写 AR2写AR2预展取指 部科 寻址 诿数 执行 指STM2nd Word博取 取指 洋蚂 力升 读数 执行AARI.HitAR2解决流水线冲突:最后一条指令(LD *AR1 , B)将会产生流水线冲突,在它前面加入一条NOP指令可以解 决流水线冲突。6、已知(1030H)=0050H,AR2=1040H,AR3=1060H,AR4=1080HMVKD 1030H, *AR2MVDD *AR2 , *AR3MVDM 1060H, AR4运行以上程序后,(1030H)、(1040H )、*AR3和AR4的值分别等于多少?答:(1030H)=0050H, (1040H)=

6、0050H, *AR3=0050H , AR4=0050H7、已知,(1080H)=0020H、(1081H ) =0030H 。STM #1080H,AR0STM #1081H,AR1LD *AR0 , 16 , BADD *AR1 , B运行以上程序,B等于多少?答:(B) =0020 0030H8、试阅读以下程序,分别写出运行结果。(1) .bss x,4.datatable:.word 4,8,16,32STM #x,AR1RPT #2MVPD table,*AR1 +答:数据表table中的常量4传送到以变量x的地址为地址的存储单元中;数据表 table中的常量8传送到以变量 x+1

7、的地址为地址的存储单元中;数据表table中的常量16传送到以变量x+2的地址为地址的存储单元中。(2) .bss x,4.datatable: .word 4,8,16,32STM #x,AR1RPT #2MVPD table,*+AR2答:数据表table中的常量4传送到以变量x的地址为地址的存储单元中;数据表 table 中的常量8传送到以变量 x+1的地址为地址的存储单元中;数据表table中的常量16传送到以变量x+2的地址为地址的存储单元中。9、NOP指令不执行任何操作,它有什么作用?答:延时几个周期,避免流水线冲突;需要精确延时程序时,可能也会用到NOP指令。10 .说明.tex

8、t段、.data段和.bss段分别包含什么内容 ?答:.text段(文本段),通常包含可执行代码;.data段(数据段),通常包含初始化数据;.bss段(保留空间段),通常为未初始化变量保留存储空间。11 .链接器能完成什么工作?链接器命令文件中,MEMORY 命令和 SECTIONS 命令的任务是什么?答:链接器将各个目标文件合并起来,并完成如下工作:(1)将各个段配置到目标系统的存储器。(2)对各个符号和段进行重新定位,并给它们指定一个最终的地址。(3)解决输入文件之间的未定义的外部引用。MEMORY命令的作用:MEMORY命令用来建立 DSP应用系统中的存储器模型。通过这条命令,可以定义

9、系统中所包含的各种形式的存储器,以及它们占用的地址范围。SECTION命令的作用:说明如何将输入段结合成输出段;在可执行程序中定义输出段;规定输出段在存储器中的存储位置;允许重新命名输出段。12 .在堆栈操作中,PC当前地址为 4020H , SP当前的地址为 0013H ,运行PSHM AR7 后,PC和SP的值分别为多少?答:PC=4021H ; SP=0012H13 .试写出以下两条指令的运行结果: EXP AA=FFFD876624T=0000则以上指令执行后,B、T的值各是多少?答:A=0xFFFD876624; T=5NORM BB=420D0D0D0D, T=FFF9则以上指令执

10、行后,B、T的值各是多少?答:B=0x841A1A1A, T=FFF914 .阅读以下程序,写出运行结果。.bss y, 5table .word 1,2,3,4,5STM #y, AR2RPT #5MVPD table,*AR2+LD #0,BLD #81h, AR5STM #0,ASTM #4, BRCSTM #y, AR5RPTB sub-1ADD *ARM5,B,ASTL A,*AR5+sub: LD #0,B)的值分别是多少?(85H ) =#5 。运行以上程序后,(81H ), (82H ) , (83H ), (84H )和(85H答:(81H ) =#1 , (82H ) =#

11、2 , (83H ) =#3 , (84H ) =#4 ,15 . FIR 滤波器的算法为 y(n尸 aox(n)+ aix(n-1)+ a2X(n-2)+ a3X(n-3)+ a4X(n-4),试用线性缓冲区和直接寻址的方法实现。答: .title "FIR1.ASM.mmregs.def startx .usect"x" , 5PA0.set0PA1.set1.dataCOEF : .word1*32768/10;定义 a4= 0.1.word-3*32768/10;定义 33= -0.3.word5*32768/10;定义 32=-0.5.word-3*32

12、768/10;定义a产-0.3.word1*32768/10;定义 30=-0.1.textstart:SSBX FRCTSTM #x+5,AR2STM #4,AR0LD #x+1,DPPORTR PA1,x+1FIR1:RPTZ A,#4MACD *AR2-,COEF,ASTH A,*AR2PORTW *AR2+,PA0BD FIR1PORTR PA1,*AR2+0.end16 .试用线性缓冲区和间接寻址白方法实现上题算法的FIR滤波器。答: .title “FIR2.ASM ”.mmregs.defstart.bssy,1xn.usect"xn" ,5b0.usect“

13、a0”,5PA0.set0PA1.set1.datatable:start:FIR2:.word 1*32768/10.word-3*32768/10.word5*32768/10.word-3*32768/10.word1*32768/10.textSSBX FRCTSTM #a0,AR1RPT #4MVPD table,*AR1 +STM #xn+4,AR2STM #b0+4,AR3STM #5,BKSTM #-1,AR0LD #xn,DPPORTR PA1,xnRPTZ A,#4MAC *AR2+0%,*AR3+0%,ASTH A,yPORTW y,PA0BD FIR2PORTR PA1

14、,*AR2+0%;定义 a4= 0.1;定义 a3= -0.3;定义 a2=-0.5;定义 a1= -0.3;定义 a0=-0.1.end17 .试分别说明下列有关定时器初始化和开放定时中断语句的功能:STM #0080H, IFR答:清除定日器中断1标志位STM #0080H, IMR答:允许定时器T1或DMAC1中断(使用哪一种中断由 DMA通道优先级和使能控制寄存器DMPREC控制。在复位以后,中断被配置为定时器T1中断)。RSBX INTM答:使能所有可屏蔽中断。STM #0279H, TCR答:设置定标计数器的值 PSC为9 ;定时器分频系数为 9 ;以PRD中的值加载TIM ,以T

15、DDR 中的值加载PSC;定时器停止工作。18 .假设时钟频率为 40MHz ,试编写在XF端输出一个周期为 2ms的方波的程序。答:(定时 半周期=CLKOUT*(TDDR+1)*(PRD+1);1/2T= (1/40M ) * (9+1 ) * (3999+1 ) =1ms );abc1.asm;定时器0寄存器地址TIM0.set0024HPRD0.set0025HTCR0.set0026H;K_TCR0 :设置定时器控制寄存器的内容K_TCR0_SOFT .set 0b; Soft=0K_TCR0_FREE.set0b;Free=0K_TCR0_PSC.set1001b;PSC=9HK_

16、TCR0_TRB.set1b;TRB=1K_TCR0_TSS.set0b;TSS=0K_TCR0_TDDR.set1001b;TDDR=9K_TCR0.setK_TCR0_SOFT| K_TCR0.FREE| K_TCR0_PSC|K_TCR0_TRB| K_TCR0_TSS| K_TCR0_TDDR;初始化定时器0;Tt=25*(9+1)*(3999+1)=1000000(ns)=1(ms)STM#3999 , TIM0STM#3999 , PRD0STM#K_TCR0 , TCR0;启动定时器0中断RET;定时器0的中断服务子程序:通过引脚XF给出;若 t0_flag=1 则 XF=1 ,

17、若 t0_flag=0 则 XF=0t0_flag .usect "vars " , 1time0_rev : PSHM TRNPSHMTPSHMST0PSHMST1BITFt0_flagBCxf_outSSBXXFST#0 , t0_flagBnextxf_out :RSBXXFST#1 , t0_flagnext :POPMST1POPMST0POPMTPOPMTRNRETE19 .试分别说明下列语句的功能:STM #SPCR10 , SPSA0STM #0001H , BSP0答:对串口控制寄存器 SPCR10赋值。不使用数字循环返回模式,接收数据DRR1 , 2采用

18、右对齐方式,连续时钟方式,DX使能判断,接收中断由 RRDY产生,接收移位寄存器未超载,串口接收器准备好,使能串口接收器。STM #SPCR20 , SPSA0STM #0081H , BSP0答:对串口控制寄存器 SPCR20赋值。串口使用软件模式,帧同步逻辑、采样率发生器复位,由发送准备好 XRDY驱动发送中断;发送移位寄存器为空,发送器未准备好,使能串口发送器。STM#SPCR20 , SPSA0ORM #01000001B, BSP0答:修改串口控制寄存器SPCR20的值。由采样率发生器产生帧同步信号,使能串口发送器。20.答:已知中断向量 TINT=013H ,中断向量地址指针 IPTR=0111H ,求中断向量地址。中断向量地址 =(100010001B)<<

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论