DSP习题及解答[1](精)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档