DSP习题及解答[1](精)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章引言
1. 一个存储单元有哪两个属性?寄存器与存储器有什么不同?
一个存储单元的两个属性是:地址与值。寄存器是特殊的存储器,读写寄存器可引发相关电路的动作。
2. 由单片机构成的最小系统有哪几部分构成?
由单片机构成的最小系统包括电源和晶体振荡器。
3. DSP是哪三个英文词的缩写?中文意义是什么?
DSP是Digital Signal Processor的缩写,中文意义是数字信号处理器。
4. 哈佛结构计算机与冯∙诺伊曼结构计算机有什么差别?
哈佛结构计算机有独立的数据总线和程序总线,冯∙诺伊曼结构计算机数据和程序共用一套总线。
5. 微控制器与微处理器有什么不同?
微控制器内部可固化程序,而微处理器内部不含程序。
6. TMS320LF24xA系列单片机有几套总线?分别起什么作用?总线中数据线和地址线分别有多少条?最
大可以访问多少存储单元?每个存储单元由多少位组成?
TMS320LF24xA系列单片机有三套总线,分别是程序读总线、数据读总线和数据写总线。每套总线中各有16条数据线和16条地址线,最大可以访问64K个存储单元,每个存储单元由16位组成。
7. 什么是操作码?什么是操作数?
操作码用于表示指令所要执行的动作,操作数表示指令所涉及的数据。
8. 实现一条指令的功能要经过哪四个阶段?CPU为什么要采用流水线结构?
实现一条指令的功能要经过“取指”、“译码”、“取操作数”和“执行”四个阶段,CPU采用流水线结构可以同时使多条指令处于不同的处理阶段,实现并行处理,提高CPU的指令吞吐率。
第二章寻址方式与主要寄存器操作
1. 有哪三种寻址方式?
三种寻址方式是:立即数寻址、直接寻址和间接寻址。
2. 指令LACL #10与LACL 10有什么区别?各为什么寻址方式?含义是什么?指令LACL #10将常数10装载到累加器,指令LACL 10将地址10(假设DP为0)处的值装载到累加器。前者是立即数寻值,操作数在指令中;后者是直接寻址,操作数的地址最低7位在指令中。
3. 指令LACC #1234h和LACC #0ABCDh执行后累加器ACC中为何值?与SXM 的状态有关吗?
指令LACC #1234h执行后累加器ACC中为0x00001234。
指令LACC #0ABCDh执行后,当SXM=0时,累加器ACC中为0x0000ABCD;当SXM=1时,累加器ACC中为0xFFFFABCD。
4. 要用直接寻址将地址0x03F8处的值装入累加器,DP中应装入什么值?指令中包含这个地址的哪几
位? DP中应装入0x07,指令中包含地址的低7位,即0x78。
5. 下列程序执行后,ARP、ARB、AR2和AR3的值分别是什么?累加器装入的值来自哪个地址?
LAR
LAR
MAR
LACL AR2, #100h AR3, #200h *, AR2 *+, AR3
ARP为3,ARB为2,AR2为0x101,AR3为0x200。累加器装入的值来自
0x100。
6. 累加器中0x12345678除了表示整数外还可以表示小数,如果是Q31格式表示什么?如果是Q16格式
呢?
Q31格式0x12345678表示0x12345678×2
-16Q16格式0x12345678表示0x12345678×2
7. 16位数0x1234左移0至15位可以表示哪些整数?如果是Q31格式可以表示哪些小数?如果是Q16
格式呢?
整数0x1234, 0x2468, 0x48D0, ……, 0x091A0000
Q31小数0x1234×2-31, 0x1234×2-30, ……, 0x1234×2-16
1 -31
Q16小数0x1234×2-16, 0x1234×2-15, ……, 0x1234×2-1
8. 指令LACC #1234h, 2和指令LACC #0ABCDh, 2执行后累加器ACC中为何值?与SXM的状态有关吗?
指令LACC #1234h, 2执行后累加器ACC中为0x000048D0。
指令LACC #0ABCDh, 2执行后,当SXM=0时,累加器ACC中为0x0002AF34;当SXM=1时,累加器ACC中为0xFFFEAF34。
9. 累加器中是0x12345678,指令SACH *, 2和指令SACL *, 2分别保存的是什么值?指令执行后,累
加器中是什么值?
指令SACH *, 2保存的是0x48D1,指令SACL *, 2保存的是0x59E0。指令执行后,累加器中仍为0x12345678。
第三章算术逻辑运算
1. 累加器中原为0x0000ABCD,与0x6789相加后,C和OV有什么变化?
C是0,OV不变。
2. 累加器中原为0xFFFFABCD,与0x6789相加后,C和OV有什么变化?
C是1,OV不变。
3. 累加器中原为0x7FFFABCD,与0x6789相加后,C和OV有什么变化?
C是0,OV是1。
4. 累加器中原为0x7FFFFFFE,加2后,累加器中是什么值?与OVM有什么关系?
当OVM=0时,累加器中是0x80000000;当OVM=1时,累加器中是
0x7FFFFFFF。
5. 累加器中原为0x80000001,减2后,C和OV有什么变化?累加器中是什么值?与OVM有什么关系?
C是1,OV是1。
当OVM=0时,累加器中是0x7FFFFFFF;当OVM=1时,累加器中是
0x80000000。
6. 累加器中原为0xFFFFABCD,与0x8888相加后,再与0x1234相加,C和OV 的值是什么?与我们所希
望的结果相同吗?
C是0,OV不变。我们所希望的结果是C为1,OV不变。
7. 完成下列32位加法程序:
MAR *, AR2
LACL *+, AR3
ADDS *+
ADD ; xL ; yL *+, 16, AR2 ; yH
ADD *+, 16 ; xH
8. 接着上题完成下列64位加法程序。
LAR AR2, #(x + 2)
LACL *+, AR3 ; xHL
ADDC
ADD *+ ; yHL *+, 16, AR2 ; yHH
ADD *+, 16 ; xHH
9. 仿照上两题完成64位减法程序。
……
LACL
SUBS
SUB