收藏 分销(赏)

DSP复习题及答案.doc

上传人:s4****5z 文档编号:8756034 上传时间:2025-03-01 格式:DOC 页数:12 大小:97KB 下载积分:10 金币
下载 相关 举报
DSP复习题及答案.doc_第1页
第1页 / 共12页
DSP复习题及答案.doc_第2页
第2页 / 共12页


点击查看更多>>
资源描述
DSP原理及应用复习题 题型为以下七种: 1、 填空题(每空1分,共10分) 2、 单项选择题(每题2分,共10分) 3、 判断题(每题2分,共10分) 4、 简答题(每题4分,共20分) 5、 程序阅读题(每题4分,共20分) 6、 编程题(8分) 7、 作图题(10分) 8、 程序设计题(12分) 一、 填空题 1. 在DSP处理器中,数据地址的产生是由(数据地址发生器)来完成的。 2. TMS320C54x的累加器分别称为(累加器A)和(累加器B),它们的数据宽度是(40)位。 3. TMS320C54x 的DSP采用先进的(哈佛)结构,其独立的(程序)总线和(数据)总线允许同时读取(指令)和(操作数),实现高度的并行操作。 4. TMS320C54x的通用I/O引脚有(跳转控制输入引脚)和(外部标志输出引脚XF)。 5. 指令MPY 0Dh, A中乘数和被乘数分别在( 累加器B高16位 )和(累加器A)中。 6. TMS320C54x有(3)个状态和控制寄存器。 7. 在DSP处理器中,配有两个地址生成器,包括(数据地址发生器)和(程序地址发生器)。 8. TMS320C54x使用一个40位的(ALU)和两个40位的(累加器ACCA和ACCB)来完成算数算术运算和逻辑运算。 9. TMS320C54x存储器由3个独立的可选择空间组成:(程序空间)、(数据空间)和(I/O空间)。 10. TMS320C54x的指令系统包含(助记符指令)和(代数指令)两种形式。 11. 编译器对于符号地址和变量的处理都是相对于本段的开始。连接器为每个段选择了合适的起始地址,就必须相应地修改这些符号地址和变量,同时修改所有对这些地址和变量的引用,这个过程称为(重定位)。 12. TMS320C54x的总线由(1)组程序总线、(3)组数据总线和(4)组地址总线组成,可在一个指令周期内产生两个数据存储地址,实现流水线并行数据处理。 一、 单项选择题 1. 1.TMS320C54x中累加器分为三个部分,低位字,高位字和保护位,其中高位字是指( B ) A. 15~0位 B. 31~16位 C. 39~32位 D. 39~23位 2. 2.TMS320C54x中,暂存器T的数据宽度是( C ) A. 40位 B. 32位 C. 16位 D. 8位 3. 3.TMS320C54x的立即数寻址中,位数最长的短立即数的长度是(B ) A. 16位 B. 9位 C. 8位 D. 5位 4. TMS320C54x汇编语言中,用于自定义段的是( A ) A. .sect B. .bss C. .text D. .data 5. 下列TMS320C54x的中断,不是可屏蔽中断的是( D ) A. RINT0 B. HPIINT C. DMAC4 D. reset 6. 1.TMS320C54x中累加器分为三个部分,低位字,高位字和保护位,其中保护位字是指( C ) A. 15~0位 B. 31~16位 C. 39~32位 D. 39~23位 7. TMS320C54x中,ALU的数据宽度是( A ) A. 40位 B. 32位 C. 16位 D. 8位 8. TMS320C54x的立即数寻址中,长立即数寻址的长度是( A ) A. 16位 B. 9位 C. 8位 D. 5位 9. 4.TMS320C54x汇编语言中,用于定义未初始化段的是( B ) A. .sect B. .bss C. .text D. .data 10. 5.下列哪个浮点数表示的是无效的数( C ) A .99e9 B 9.9e9 C 99e9 D 99.e9 三、判断题 1.TMS320C54x汇编语言中,符号常量可以用.set定义,不占用存储器 。( X ) 2.TMS320C54x的中断处理分为3个阶段:一是请求中断,二是响应中断,三是执行中断服务程序。 ( √ ) 3.TMS320C54x在执行中断之前,要完成所有流水线中的指令。所以,最大的中断延时取决于进入流水线的指令。 ( √ ) 4.TMS320C54x在执行中断服务程序(ISR)时,在进入中断服务程序后,CPU将首先把程序计数器(PC)的值,也即返回地址,压入堆栈,然后把中断矢量的地址装入PC。( × ) 5.TMS320C54x有三个状态和控制寄存器,分别是:状态寄存器ST0,状态寄存器ST1,以及处理器方式状态寄存器PMST。 ( √ ) 6.如果在程序中未用任何段伪指令,则汇编器将把所有的程序块或数据块统一汇编至.text段中 。( × ) 7.MEMORY命令是告诉连接器如何将输入段组合成输出段。 ( × ) 8.TMS320C54x在执行中断之前,要完成所有流水线中的指令。所以,最大的中断延时取决于进入流水线的指令。 ( × ) 9.局部标号可以用伪指令来定义。 ( √ ) 10.TMS320C54x只有两个状态和控制寄存器,分别是:状态寄存器ST0,状态寄存器ST1。 ( × ) 四、简答题 1.简述哈佛结构的基本特征,并画出示意图。P3 哈佛结构结构采用双存储空间,程序存储器和数据存储器分开,取指和读数可以同时进行,扩展了存储器带宽,增加了系统的吞吐量。 2. 简述TMS320C54x DSP的ALU的可能的输入数据来源。P44 第一种答案: ALU的X输入端的数据: 移位器的输入 ‚来自数据总线DB的数据存储器操作数 ALU的Y输入端的数据: 累加器A中的数据 ‚累加器B中的数据 ƒ来自数据总线CB的数据存储器操作数 ④T寄存器中的数据 第二种答案: 可以使用的输入形式包括:16位的立即数,从数据存储器读出的16位字,暂存器T中的16位字,从数据存储器中读出的2个16位字,从数据存储器读出的1个32位字,从其中一个累加器输出的40位值 3. 简述辅助寄存器(AR0~AR7)的主要功能。 辅助寄存器(AR0~AR7)属于数据地址生成逻辑单元,产生16位数据空间,通用R,为各种寻址服务。 4. 简述TMS320C54x中硬件定时器的功能。 TMS320C54x有一个带有4位预定标器的16位定时电路。这个定时计数器每个时钟周期减1,减至0时就产生一个定时中断。可以通过设置特定的状态位,来使定时器停止、恢复运行、复位或禁止。 5.列举四种绝对地址寻址。P142 数据存储器地址(dmad)寻址 程序存储器地址(pmad)寻址 端口地址(PA)寻址 *(lk)寻址 6. 简述TMS320C54x DSP的总线组成和功能。P31 C54x的内部有8组16位总线:4条程序/数据总线和4条地址总线。这些总线功能: (1) 1组程序总线PB 主要用来传送取自程序存储器的指令代码和立即操作数。 (2) 3组数据总线CB、DB、EB CB和DB用来传送从数据存储器读出的数据; EB用来传送写入存储器的数据。 (3) 4组地址总线PAB、CAB、DAB、EAB 用来提供执行指令所需的地址。 7.简述TMS320C54x DSP的乘法器的输入数据来源。P51 输入端XM数据来自: T寄存器 ‚累加器A的位32-16 ƒDB总线传送过来的数据存储器操作数 输入端YM的数据来自: 累加器A的位32-16 ‚由DB总线和CB总线传送过来的数据存储器操作数 ƒ由PB总线传送过来的程序存储器操作数 9. 简述TMS320C54x指令系统的特点。 10.列举出TMS320C54x的7种基本的数据寻址方式。P141 立即寻址、绝对寻址、累加器寻址 、直接寻址、间接寻址、存储器映像寄存器寻址、 堆栈寻址 五、程序阅读题 1.请说明下面语句执行后,A,T,FRCT、AR5、数据存储器中0100h的数据。 MAC *AR5, A 指令执行前 执行后 A 00 0000 1000 00 0048 E000 T 0400 0400 FRCT 0 0 AR5 0100 0100 数据存储器 0100h 1234 1234 2.阅读下面的程序段,说明每一条语句的功能,以及整个程序段的功能。 .bss x, 8 为数组x分配8个存储单元 STM #x, AR1 将目的地首地址赋给AR1 RPTZ A, #7 执行一次下一条指令在循环执行7次并对ACC清0 STL A, *AR1+ 把累加器的低端存放到数据存储器中 整个程序段的功能是对数组进行初始化,使x[8]={0,0,0,0,0,0,0,0} 3.阅读下面的程序段,利用长字指令来完成下面程序段的功能,并说明整个程序段完成什么功能。P241 LD @xhi,16,A ADDS @xlo,A ADD @yhi,16,A ADDS @ylo,A STH A,@zhi STL A,@zlo 答案:DLD @xhi,A DADD @yhi,A DST A,@zhi 整个程序段完成: Z(32)=X(32)+Y(32) 4. 阅读下面的程序段,说明每一条语句的功能。 STM #88H,AR0 ;将操作数88H装入AR0 LD #1000H,A ;将操作数1000H装入ACC zhong: SUB AR0,A ;ACC中的值减去AR0中的值,结果存入A BC zhong,AGT,AOV;若累加器A>0且溢出,则转至zhong,否则往下执行 5. 阅读下面的程序段,说明每一条语句的功能。 STM #123H,AR0 ;将操作数123H装入入AR0 LD #456H,AR1 ;将操作数456H装入ACC CALL new ; 调子程序new LD AR1,16,A ;将AR1的内容左移16位后装入A new:MPY AR0,AR1,A ;AR0 与AR1的内容相乘,结果存入A中 RET ;子程序返回 6.请说明下面语句执行后,A,C,AR1、SXM、数据存储器中0100h的数据。 SUB *AR1+, 14, A 指令执行前 指令执行后 A 00 0000 1200 FF FAC0 1200 C X 0 AR1 0100 0101 SXM 1 1 数据存储器 0100h 1500 1500 7.阅读下面的程序段,说明每一条语句的功能,以及整个程序段的功能。 rsbx FRCT ;清楚FRCT标志,表明以下是做整数乘法。 ld temp1, T ;将变量temp1装入T寄存器。 mpy temp2, a ;完成temp1*temp2,结果放入累加器A。 sth a, temp3 ;结果的高16位存入temp3 stl a, temp4 ;结果的低16位存入temp4. 整个程序段的功能是计算temp1×temp2,32位的结果分别存入temp3和temp4. 8.阅读下面的程序段,说明语句1、2和3的功能,以及整个程序段的功能。 .mmregs .global start .data dst .space 18*16 len .word 18 .text src .string "this is the source" .start stm #dst, ar1 ; 语句1 将dst的地址存入ar1 stm #len, ar2 rpt *(ar2) ; 语句2 循环执行*(ar2)次指令mvpd src, *ar1+ mvpd src, *ar1+ b $ ; 语句3 原地执行 .end 整个程序的功能是将源数据存储区(src)的字符串复制到目的的数据存储区(dst). 9. 阅读下面的程序段,说明每一条语句的功能,以及整个程序段的功能。 SUM3: LD @x1,T ; T=x1 MPY @a1, B ; B=x1×a1 LD @x2, T ; T=x2 MAC @a2, B ; B=x2×a2 STL B,@y ;计算结果的低字BL存入y中 STH B,@y+1 ;计算结果的高字BH存入y+1中 整个程序段的功能是计算y=x1×a1+x2×a2 10. 请说明下面语句执行后,累加器A,寄存器T,FRCT、DP、数据存储器中040Dh的数据。 MPY 0Dh, A 指令执行前 指令执行后 A 00 0000 A039 T 50 50 FRCT 1 1 DP 008 008 数据存储器 040Dh 4000 4000 六、 编程题 1、求4项乘积aixi(i=1,2,3,4)中的最大值,并存放累加器A中。P224 .mmregs STACK .usect “STACK “,10h .bss a,4 .bss x,4 .bss y,1 .def start .data table: .word 1,2,3,4 .word 8,6,4,2 .text start: STM #0,SWWSR STM #STACK+10h,SP STM #a,AR1 RPT #7 MVPD table,*AR1+ CALL SUM end: B end SUM: STM #a,AR3 STM #x,AR4 RPTZ A,#3 MAC *AR3+,*AR4+,A STL A,@y RET .end 2、 编制求解的程序。 P235 .mmregs STACK .usect “STACK “,30h .bss a,25 .bss x,25 .bss y,2 .def start .data table: .word 1,2,3,4,5,6,7,8,9,10 .word 11,12,13,14,15,16,17,18,19,20 .word 21,22,23,24,25,26,27,8,29,30 .word 1,2,3,4,5,6,7,8,9,10 .word 11,12,13,14,15,16,17,18,19,20 .text start: SSBX FRCT STM #a,AR1 RPT #49 MVPD table,*AR1+ LD #0,B STM #a,AR2 STM #x,AR3 RPTZ A,#24 MAC *AR2+,*AR3+,A STL A,@y STH A,@y+1 .end 七、 作图题 1、扩展程序存储器 p123 2、’C54x与A/D转换器的接口 p126 3、’C54x与D/A转换器的接口 八、 程序设计题 对, p273例子 1、 利用线性缓冲区法和循环缓冲区法设计一个FIR滤波器,其中滤波系数为b0=0.1,b1=0.2,b2=-0.4,b3=0.3,b4=-0.4,b5=0.2,b6=0.1;(8分) 线性缓冲区法: .title “FIR1.Asm .mmregs .def start x “x”,7 PA0 .set 0 PA1 .set 1 .data COEF: .word 1*32768/10 ;b0=0.1 .word 2*32768/10 ;b1=0.2 .word -4*32768/10 ;b2=0.4 .word 3*32768/10 ;b3=0.3 .word -4*32768/10 ;b4=0.4 .word 2*32768/10 ;b5=0.2 .word 1*32768/10 ;b6=0.1 .text Start: SSBX FRCT STM #x+7,AR2 STM #6,AR0 LD #x+1,DP PORTR PA1,@x+1 FIR: RPTZ A,#6 MACD *AR2-,COEF,A STH A,*AR2 ; 保存滤波器输出结果 PORTW *AR2+,PA0 ;将滤波器的输出从端口送出去 BD FIR1 PORTR PA1,*AR2+0 循环缓冲区法: .title “FIR2.ASM” .mmregs .def start .bss y,1 xn .usect “xn”,7 b0 .usect “b0”,7 PA0 .set 0 PA1 .set 1 .data table: .word 1*32768/10 ;b0=0.1 .word 2*32768/10 ;b1=0.2 .word 3*32768/10 ;b2=0.3 .word 4*32768/10 ;b3=0.4 .word 5*32768/10 ;b4=0.5 .word 6*32768/10 ;b5=0.6 .word 7*32768/10 ;b6=0.7 .text start: SSBX FRCT STM #b0,AR1 RPT #6 MVKD table,*AR1+ STM #xn+6,AR2 STM #b0+6,AR3 ;AR3指向系数a6 STM #7,BK ;缓冲区长度为7 STM #-1,AR0 ;AR0 = -1 LD #xn,DP PORTR PA1, @xn ; 从端口PA1读入采样值 FIR: RPTZ A, #6 MAC *AR2+0%,*AR3+0% STH A,@y PORTW @y,PA0 BD FIR2 PORTR PA1,*AR2+0% .END 2、编写连接命令文件FIR.CMD。(4分) 程序存储器:4K字ROM,起始地址为C00h,取名为EPROM。 数据存储器:32字RAM,起始地址为60h,取名为SPRAM。 4992字RAM,起始地址为80h,取名为DARAM MEMORY { PAGE 0: EPROM: origin = c00H, length = 1000H PAGE 1: SPRAM : origin = 60H, length = 20H DARAM: origin = 80H, length = 1380H } SECTIONS { .text: > EPROM PAGE 0 .data: > EPROM PAGE 0 .bss: > SPRAM PAGE 1 STACK: > DARAM PAGE 1 }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服