收藏 分销(赏)

DSP技术习题.doc

上传人:pc****0 文档编号:7460736 上传时间:2025-01-05 格式:DOC 页数:6 大小:146.50KB 下载积分:10 金币
下载 相关 举报
DSP技术习题.doc_第1页
第1页 / 共6页
DSP技术习题.doc_第2页
第2页 / 共6页


点击查看更多>>
资源描述
第一章※<思考题> 1.DSP应用系统模型包括哪些主要部分? 2.DSP系统有何特点? 3.设计一个DSP系统应考虑哪些问题? 4.选择DSP芯片的依据是什么? 5.比较不同种类DSP芯片的区别是什么? 6.在你接触到的问题中,哪些可用DSP来解决? 7.开发DSP系统可用哪些开发工具? 8.试列举DSP芯片的特点。 5 第二章※<思考题> 1. TSM320C54X芯片存储器采用什么结构?有何特点? 2  TSM320C54X芯片在提高芯片运算速度方面采用了哪些措施? 3. TSM320C54X芯片的总线有哪些?它们各自的作用和区别是什么? 4. DSP采用多处理单元结构有何好处? 5. TSM320C54X芯片的CPU主要包括哪些部分?它们的功能是什么? 6. 累加器A和B的作用是什么?它们有何区别? 7. ST0、ST1、PMST的作用是什么?它们是如何影响DSP工作过程的? 8. 数据页0(0H-7FH)能否被映象到程序空间? 9. TSM320C54x的总存储空间为多少?可分为哪3类,它们的大小是多少? 10. TSM320C54x片内随机存储器有哪两种,片内与片外RAM的区别是多少? 11. 试述三种存储器空间的各自作用是什么? 12. 试述RAM、ROM的分配和使用方法。 13. 片内DARAM可否用作为程序空间?对哪些情况要用两个机器周期才能访问到存储器? 14. 寻址存储器映象外围电路寄存器时,要用多少个机器周期? 15. 定时器由哪些寄存器组成,他们是如何工作的? 16. 时钟发生器由哪些部分组成,他们是如何工作的? 17. /RS为低电平至少多少个CLKOUT周期才能保证DSP复位? 18. HPI由哪些部分组成,它们的作用是什么? 19. HPI是如何控制与DSP进行8位至16位数据转换的,高低字节是如何处理的? 20. C54x有哪几种串行口?标准同步串行口由哪些部分组成,它们是如何工作的? 21. CLKX、CLKR有何作用?收发数据按8、16位传送是如何控制的? 22. C54x与外部存储器、I/O设备接口主要有哪些总线和控制信号线,他们的作用是什么? 23. C54x如何寻址不同速度的外部设备? 24. SWWSR是如何与READY线一起工作的? 25. DSP为了降低功耗采取了哪些措施? 26. 什么情况下使用外部总线只用一个机器周期? 27. 什么情况下IO读/写操作需要至少3个机器周期? 28. 使C54x进入复位状态后以及结束复位后外部总线状态如何变化? 29. 用什么办法进入IDLE3省电工作方式和结束这种方式? 30. /HOLD和/HOLDA 是如何控制CPU的? 31. 哪些办法可以引起硬件或软件中断? 32. CPU是如何响应中断的? 33. 如何计算中断复位后的开始地址? 34. 在选择存储器时,主要考虑哪此因素?如果所选存储器的速度跟不上DSP的要求,应如何协调? 35. C54x-40与低地址数据存储器(SRAM,10 ns)以及高地址程序存储器(EPROM,200 ns)相接口。应如何设置SWWSR?画出连接图。 36. 有哪些自举加载方法?它们是如何工作的? 5 第三章※<思考题> 1. C54x有哪些寻址方式,它们是如何寻址的? 2. 当使用位倒序寻址时,应使用什么辅助寄存器?试述地址以位倒序方式产生的过程。 3. 对C54x而言有哪些分支转移形式?他们是如何工作的? 4. 带延迟的分支转移与不带延迟的分支转移指令有何差异? 5. 可重复操作指令的特点是什么?其最多重复次数是多少? 6. RC在执行减1操作时能否被访问? 7. 进行块重复操作要用到几个计数器或寄存器,块重复可否嵌套?重复次数如何设置? 8. 长度为R的的循环缓冲器必须从一个N位地址的边界开始,N与R应满足何种关系? 9. C54x的6级流水线的功能是什么?流水线操作中哪些情况不会发生冲突?哪些情况可能发生冲突?解决冲突的办法有哪些? 10. 由于DSP采用多级流水线操作,当分支转移指令到达流水线的执行阶段时,其后面的两个指令字已经被取指。在什么条件下他们才能被执行? 11. 为什么DARAM能够在单周期内对CPU进行两次访问?试述访问PAB/PB、DAB/DB、CAB/CB、EAB/EB时,何时会发生冲突?如何避免? 12. TMS320C54x是如何进行凑整运算的?为什么要进行凑整运算? 13. *(lk)寻址方式的指令可与循环指令(RPT,RPTZ)一起使用? *(lk)寻址也是用标号标记数据空间地址。 如:LD *(BUFFER),A。使用这类指令的好处在于不用修改 DP 和 AR 值。但有一点要注意的是,这类指令不能用于重复执行单指令中 (RPT,RPTZ) 。 14. 直接寻址方式可以用于程序空间的寻址? 15. 汇编指令中的*ARx表示ARF所选择的辅助寄存器? 16. 用双操作数指令编程有何特点?用何种寻址方式获得操作数,且只用哪些辅助寄存器? 17. 有些指令如MAC、MAS等,后面带有后缀R,这表示要对结果进行舍入处理,舍入是如何进行的? 5 第四章※<思考题> 1. 以.asm为扩展名的汇编语言源程序由哪几个部分组成,对他们有何规定? 2. 常用汇编命令有哪些,它们的作用是什么? 3. 画出汇编程序的编辑、汇编和链接过程图,并说明各部分的作用是什么? 4. 汇编器和链接在对段进行管理时的区别是什么? 5. 段程序计数器(SPC)是怎样工作的?试述已初始化段和未初始化段的的区别? 6. 宏指令与子程序有何异同? 7. 编制一个有3个目标文件组成的.cmd文件,并对存储器空间进行分配。 8. MEMORY命令和SECTIONS命令的作用是什么?如何使用? 9. C源程序如何与汇编语言程序接口? 10.将C源程序转换成可执行文件需要经过哪些步骤? 11.C源程序调用汇编程序函数时,哪些辅助寄存器需要保护? 5 第五章※<思考题> 1. 假定N=37,辅助寄存器用AR4,循环缓冲区自定义段的名字为MY_BUF,则.ASM和.CMD两个文件中相应部分应包含哪些内容? 2. 用线性缓冲区和带移位双操作数寻址方法实现FIR滤波器,编写计算N=4,y(n)=a0*x(n)+a1*x(n-1)+a2*x(n-2)+a3*x(n-3)的程序。 3. 编写使用带MAC指令的循环寻址模式实现FIR滤波器的程序片段,其中输入数据在BL中,滤波结果在BH中,FIR滤波系数存放FIR_COFF_P指定在数据存储区中。 4. 比较实现数据块传送各种指令的应用和区别。 5. 比较单操作数与双操作数乘法以及长字运算和并行运算的差异。 6. 在32位数寻址时,如DST  B, *AR3+ ;AR3=0101,B=00 C621 AAEE,则执行完该指令后,数据存储器0101、0102、0103单元的内容是多少? 7. 怎样进行小数乘法运算和除法运算以及浮点运算? 8. 用汇编语言实现: y1=x1*a1-x2*a2 y2=12/3+1 Y3=0.3*(-0.5)+1 9.  在C语言程序中如何嵌入汇编程序?在汇编程序中如何与C语言程序相连接? 10. 编写计算的程序。 11. 试设计一大小为200个单元的堆栈并初始化指针。 12. 在各项中找出最小值的项,并存放在累加器B中。 13. TMS320C54x是如何解决冗余符号以区别小数乘法和整数乘法的?小数系数应如何书写? 14. 在一般的DSP中,都没有除法器硬件,如何完成除法运算? 15. TMS320C54x如何将定点数转换为浮点数或将浮点数转换为定点数? 16. 数据存储区的哪些区域可用作线性缓冲区? 17. 对累加器A的内容进行归一化,已知A=FF FFFF  FFC3。 18. 一个浮点数由尾数m、基数b和指数e三部分组成。即: 下图举例说明了IEEE标准里的浮点数表示方法。这个格式用带符号的表示方法来表示尾数,指数含有127的偏移。在一个32bit表示的浮点数中,第一位是符号位,记为S。接下来的8bit表示指数,采用127的偏移格式(实际是e-127)。然后的23-bit表示尾数的绝对值,考虑到最高一位是符号位,它也应归于尾数的范围,所以尾数一共有24bit    1            8                       23 S Biased Exponent -e Mantissa -f   例如:十进制数-29.625可以用二进制表示为-11101.101B,用科学计数法表示为  -1.1101101*24,其指数为127+4=131,化为二进制表示为10000011B,故此数的浮点格式表示为11000001111011010000000000000000,转换成16进制表示为0xC1ED0000。说明下面程序段完成什么功能? ①               dld    op1_hsw,a              ②        bitf      op1se,#100h                    sfta    a,8                           bc       testop2,NTC                    sfta    a,-8                         ld       #0,a                    bc     op1_zero,AEQ                  dsub   op1hm,a                    sth    a,-7,op1se                    dst      a,op1hm                    stl     a,op1lm            testop2:  bitf     op2se,#100h                    and   #07Fh,16,a                     bc      compexp,NTC                    add   #080h,16,a                     ld       #0,a                           sth    a,op1hm                       dsub  op2hm,a                                                         dst     a,op2hm ③compexp:                             ④op1_gt_op2:                           ld       op1se,a                    abs    b                        and    #00ffh,a                     sub    #24,b                        ld       op2se,b                    bc     return_op1,BGEQ                    and    #00ffh,a                     add   #23,b                                       sub    a,b                          stl      b,rltsign                               bc     op1_gt_op2,BLT               dld     op2hm,a                           bc     op2_gt_op1,BGT               rpt     rltsign         a_eq_b:                                 dld       op1hm,a                                                dadd    op2hm,a                                                   bc        res_zero,AEQ                                       ld         op1se,b                      sfta      a,-1                                        bd        normalize                               ld        op1se,b                      dadd   op1hm,a   5 ※<综合测试> 一、判断下列说法是否正确 。(30分) ⑴ AR1、AR2不能用作双数据存储器操作数寻址的辅助寄存器( ); ⑵ 时钟发生器从DIV工作方式转到PLL方式时,CLKOUT立即用作C54x的时钟 ( ); ⑶ 依具体指令的不同,对部分外围电路寄存器寻址时,有的只需要1个机器周期( ); ⑷ C548和C549中的数据空间可扩展到128页,每页64K( )。 ⑸ 程序存储器取指比数据寻址具有较高的优先权( ) ⑹ 硬件中断仅指由外部中断口信号触发的外部硬件中断( ); ⑺ 单条指令中的多个(2~3)条件是“或”的关系( )。 ⑻ 大多数C54x程序是不需要对其流水线冲突问题特别关注的,只有某些MMR写操作才需要注意( )。 ⑼ 解决流水线冲突的办法就是在写操作指令的后面插入若干条NOP指令( )。 ⑽ 累加器A和B的作用相同,没有差别,可以互换使用( )。 二、填空:(30分) ⑴重复执行单条指令的最大次数为( )。 ⑵访问不同页的同一单元(dma值相同)的区别在于( )的值不同。 ⑶对硬件初始化,复位输入信号至少必须保持( )个CLKOUT周期的低电平。 ⑷当C54x响应复位时,CPU终止当前的程序,并强迫程序计数器PC置成( )。 ⑸如果没有利用MEMORY和SECTIONS命令,链接器就按( )来定位输出段。 ⑹如果汇编语言程序中无段命令,那么汇编器把程序中的内容都汇编到( )段。 ⑺TMS320C54x DSP有( )级流水线。 ⑻含有29个字的循环缓冲器必须从最低( )位为0的地址开始。 ⑼一条k段流水要完成n条指令所需的最少周期数为( )。 ⑽TMS320C54x内部有( )种总线。 三、指出下段程序将执行多少次循环 。(5分) ( 次 ) STM #5,AR1 STM #10,AR0 loop: … … *AR1+ … … CMPR LT,AR1 BC loop,TC  四、试设计一个段名为MYSTACK的有11个单元的堆栈,并为堆栈指针赋初值。(5分) 五、写出提取B=03 6543 4321中的指数值的指令,执行后T中的值为多少。(10分) 六、编制一段计算y=555/222+1的汇编程序。(10分) 七、简述用DSP芯片进行产品开发需要经过的环节和在CCS上如何进行基本操作。(10分)
展开阅读全文

开通  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 

客服