dsp原理及应用李利第二版课后习题答案.docx

上传人:b****3 文档编号:26766050 上传时间:2023-06-22 格式:DOCX 页数:12 大小:21.24KB
下载 相关 举报
dsp原理及应用李利第二版课后习题答案.docx_第1页
第1页 / 共12页
dsp原理及应用李利第二版课后习题答案.docx_第2页
第2页 / 共12页
dsp原理及应用李利第二版课后习题答案.docx_第3页
第3页 / 共12页
dsp原理及应用李利第二版课后习题答案.docx_第4页
第4页 / 共12页
dsp原理及应用李利第二版课后习题答案.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

dsp原理及应用李利第二版课后习题答案.docx

《dsp原理及应用李利第二版课后习题答案.docx》由会员分享,可在线阅读,更多相关《dsp原理及应用李利第二版课后习题答案.docx(12页珍藏版)》请在冰豆网上搜索。

dsp原理及应用李利第二版课后习题答案.docx

dsp原理及应用李利第二版课后习题答案

第1章

1.简述DSP芯片的主要特点。

答:

哈佛结构;多总线结构;指令系统的流水线操作;专用的硬

件乘法器;特殊的DSP指令;快速的指令周期;硬件配置强。

2.请详细描述冯·诺曼依结构和哈佛结构,并比较它们的不同。

答案在P6第一自然段。

3.简述DSP系统的设计过程。

答案依图1-3答之。

4.在进行DSP系统设计时,如何选择合适的DSP芯片?

答:

芯片运算速度;芯片硬件资源;运算精度(字长);开发工具;

芯片的功耗;其他因素(封装形式、环境要求、供货周期、生命周期

等)。

5.TI公司的DSP产品目前有哪三大主流系列?

各自应用领域是什

么?

答案在P8第二自然段。

第2章

一、填空题

1.TMS320C54xDSP中传送执行指令所需的地址需要用到PAB、

CAB、DAB和EAB4条地址总线。

P13

2.DSP的基本结构是采用哈佛结构,即程序和数据是分开的。

3.TMS320C54xDSP采用改进的哈佛结构,围绕8条16位总线建

立。

P13

4.DSP的内部存储器类型可分为随机存取存储器(RAM)和只读

存储器(ROM)。

其中RAM又可以分为两种类型:

双访问RAM,即

DARAM和单访问RAM,即SARAM。

P24-2.4节

5.TMS320C54xDSP的内部总存储空间为192K字,分成3个可选择的存储空间:

64K程序存储器空间、64K数据存储器空间和64KI/O

存储空间。

P23-2.4节

6.TMS320C54xDSP具有2个40位的累加器。

7.溢出方式标志位OVM=1,运算溢出。

若为正溢出,则ACC中

的值为007FFFFFFFH。

8.桶形移位器的移位数有三种表达方式:

5位立即数;ST1中

5位ASM域;暂存器T的低6位。

9.DSP可以处理双16位或双精度算术运算,当C16=0为双精度

运算方式,当C16=1为双16位运算方式。

10.TMS320C54x系列DSP的CPU具有三个16位寄存器来作为

CPU状态和控制寄存器,它们是:

ST0、ST1和PMST。

11.TMS320C54x:

DSP软硬件复位中断号为0,中断向量为00H。

12.TMS320C54xDSP主机接口HPI是8位并行口。

引脚

13.TMS320C54xDSP的中断源中,中断号小者,中断级别最高。

P29

14.若PMST寄存器的值为01A0H(0000000110100000b),中断矢

量为INT3(60H),则中断响应时,程序计数器指针PC的值为00000001

11100000b。

15.TMS320C54x有两个通用引脚,即BIO和XF,BIO输入引

脚可用于监视外部接口器件的状态;XF输出引脚可以用于与外部接

口器件的握手信号。

P34-2.7节

二、选择题

1.以下控制位中,(B)用来决定程序空间是否使用内部RAM。

A.MP/MCB.OVLYC.DROMD.SXM

2.下列说法中错误的是(C)。

P24

A.每个DARAM块在单周期内能被访问2次

B.每个SARAM块在单周期内能被访问1次

C.片内ROM主要存放固化程序和系数,只能作为程序空间

D.DARAM和SARAM既可以被映射到数据存储空间,也可以

映射到程序空间

3.C54x进行32位长数据读操作时使用的数据总线是(C)

p15表2-1

A.CB和EBB.EB和DBC.CB和DBD.CB、DB和

EB

4.要使DSP能够响应某个可屏蔽中断,下面说法正确的是(B)。

A.需要把状态寄存器STl的INTM位置1,且中断屏蔽寄存器

IMR相应位置0

B.需要把状态寄存器STl的INTM位置0,且中断屏蔽寄存器IMR

相应位置1

C.需要把状态寄存器STl的INTM位置1,且中断屏蔽寄存器IMR

相应位置1

D.需要把状态寄存器STl的INTM位置0,且中断屏蔽寄存器

IMR相应位置0

三、简答题

1.请描述TMS320C54x的总线结构。

答:

一条程序总线,三条数据总线,四条地址总线。

程序总线PB

传送从程序存储器来的指令代码和立即数;数据总线CB和DB传送从数据存储器读出的数据、数据总线EB传送写入到存储器中的数据。

四组地址总线PAB、CAB、DAB、EAB传送执行指令所需地址,基

本上是与PB、CB、DB、EB对应配套使用。

2.写出提取B=0365434321中的指数值的指令,执行后T中的值

为多少?

3.TMS320C54x芯片的CPU包括哪些部分?

其功能是什么?

答案在p11。

4.TMS320C54x有几个状态和控制寄存器?

它们的功能是什么?

答:

3个,ST0、ST1、PMST。

ST0和ST1包括各种条件和工作

方式的状态,PMST包括存储器配置状态和控制信息。

5.TMS320C54x片内存储器一般包括哪些种类?

如何配置

TMS320C54x片内存储器。

答:

ROM、DARAM、SARAM三种。

利用状态寄存器PMST的

MP/MC位、DROM位和OVLY位配置片内存储器。

P22

6.TMS320C54x片内外设主要有哪些?

答案在p14第4款。

7.当TMS320C54xCPU接收到可屏蔽的硬件中断时,满足哪些条

件才能响应中断?

答:

需要把状态寄存器STl的INTM位置1,且中断屏蔽寄存器

IMR相应位置1

8.TMS320C54x的中断向量表是如何重定位的?

答:

将中断向量表复制到程序存储器的任一128字页,将页地址高9位设置到IPTP即可。

第3章

一、填空题

1.在C54xDSP寻址和指令系统中,Xmem和Ymem表示双数据存储器操作数。

Pmad为16位立即数,表示程序存储器地址,Dmad

为16位立即数,表示数据存储器地址。

2.C54xDSP的指令系统有助记符和代数式形式。

3.在堆栈操作中,PC当前地址为4020h,SP当前地址为0033h,

运行PSHMAR2后,PC=4021h,SP=0032h(假设PSHM为单字指

令)。

4.立即数寻址指令中在数字或符号常数前面加一个#号来表示

立即数。

5.位倒序寻址方式中,AR0中存放的是FFT点数的一半。

6.双数据存储器操作数间接寻址所用辅助寄存器只能是AR2、

AR3、AR4、AR5。

7.在TMS320C54X中没有提供专门的除法指令,一般是使用

SUBC指令完成无符号数除法运算。

8.含有29个字的循环缓冲器必须从最低5位为0的地址开始。

二、指令执行前有关寄存器及数据存储器单元情况如下图所示,请在下图分别填写指令执行后有关寄存器及数据存储器单元的内容

1.ADD*AR3+,14,A

指令执行前指令执行后

(A)=0000001200h(A)=?

0054001200h

(C)=1(C)=0

(AR3)=0100h(AR3)=?

0101h

数据存储器数据存储器

(0100h)=1500h(0100h)=?

1500h

2.PSHM*AR3+

指令执行前指令执行后

(AR3)=0200h(AR3)=?

0201h

(SP)=8000h(SP)=?

7FFFh

数据存储器数据存储器

(0200h)=07FFh(0200h)=?

07FFh

(7FFFh)=06EFh(7FFFh)=?

07FFh

3.POPMAR5

指令执行前指令执行后

(AR5)=0055h(AR5)=?

07FFh

(SP)=03F0h(SP)=?

03F1h

数据存储器数据存储器

(03F0h)=07FFh(03F0h)=?

07FFh

4.BANZ2000h.*AR3-

指令执行前指令执行后

(PC)=1000h(PC)=?

2000h

(AR3)=005h(AR3)=?

004h

4.DADD*AR3+,A,B

指令执行前指令执行后

(A)=0056788933H(A)=?

0056788933H

(B)=0000000000h

(AR3)=?

006BACBD89h

C16=0

C16=0

(AR3)=0100

(AR3)=?

0102

数据存储器

数据存储器

(0100h)=1534h

(0100h)=?

1534h

(0101h)=3456h

(7FFFh)=?

3456h

三、简答题

1.TMS320C54x提供哪几种数据寻址方式?

举例说明它们是如何寻

址的?

答:

7种(p39).举例p40—p45

2.在循环寻址方式中,如何确定循环缓冲的起始地址?

如循环缓冲

大小为32,其起始地址必须从哪开始?

答:

依2N>R(循环缓冲区大小)求得N,循环缓冲的起始地址低N

位必须为0。

例如26>32,循环缓冲区地址:

xxxxxxxxxx000000b。

3.若辅助寄存器AR0的值为0010H,AR3的值为0310H,循环缓

冲起始地址为0300H,BK=31,

请分别给出下列寻址方式修改后的辅助寄存器的值。

*AR3+%0311h

*AR3+0%0301h(由0320h-31得)

*AR3-%030Fh

*+AR3(-2)030Eh

*AR0(#0100)0010h

4.请描述TMS320C54x的位倒序寻址方式。

设FFT长度N=16,

AR0应赋值为多少?

若AR2中存放的数据存储器地址为FF00H,则经

过8次*AR2+0B寻址,访问的内存单元地址依次为多少?

答:

AR0值为8;地址低4位0000,1000,0100,1100,0010,1010,0110,

1110,0001。

地址依次为:

FF00h,FF08h,FF04,FF0Ch,FF02,FF0A,FF06,FFE0,FF01h

5.双数据存储器操作数间接寻址使用哪几种类型?

所用辅助寄存器

只能是哪几个?

其特点是什么?

答:

4种类型:

*ARx、*ARx-、ARx+、ARx+0%。

所用寄存器为:

AR2、AR3、AR4、AR5。

特点:

指令占空间少,运行速度快。

6.直接寻址方式有哪两种?

其实际地址如何生成?

当(SP)=2000H,

(DP)=2,偏移地址为25h时,分别寻址的是哪个存储空间的哪个单元?

答:

指令中含数据存储器地址低7位(dma),即所谓偏移地址。

CPL位0时,与DP(9位)拼成实际地址:

(DP)|dma。

(DP)=2时,

数据存储空间0125h。

CPL位1时,与(SP)相加得实际地址。

(SP)=2000h时,对应数据

存储空间地址2025h。

7.TMS320C54x指令系统包括哪几种基本类型的操作?

答:

算术指令、逻辑运算指令、程序控制指令、加载和存储指令。

第4章

一、填空题

1.一般地,COFF目标文件包含三个缺省的段:

.text、.data和bss。

2.若链接器命令文件的MEMORY部分如下所示:

MEMORY

{

PAGE0:

PROG:

origin=C00h.1ength=1000h

PAGE1:

RAM:

origin=80h,length=200h

}

程序存储器配置为1000h字大小,数据存储器配置为200h字大小,

数据存储器取名为RAM。

3.汇编源程序中标号可选,若使用标号,则标号必从第一列开始;程序中可以有注释,注释在第一列开始时前面需标上*或;,但在其他列开始的注释前面只能标;。

4.初始化段包含数据或代码,包括.text段、.data段以及由汇编器

伪指令.sect产生的命名段。

5.MEMORY的作用是用来定义目标系统的存储器空间;

SECTIONS的作用是告诉链接器将输入文件中用.text、.datd、.bss

和.sect等伪指令定义的段放到MEMORY命令描述的存储器空间的什

么位置。

6..def的功能是指定当前模块定义并且可能在其他模块定义的一个

或多个符号。

.ref的功能是指定在当前模块使用并且可能在其他模块定义的一个或多个符号。

二、简答题

1.汇编器和链接器如何对段进行管理?

答:

汇编器通过段伪指令自动识别各段,并将段名相同的语句汇编在一起。

链接器对段的处理有两个功能,首先,它将汇编器产生的

COFF目标文件(.obj文件)的各种段作为输入段,当有多个文件链接时,它将输入段组合起来,在可执行的COFF输出模块中建立各个输出段。

其次,链接器为输出段选择存储器地址。

2.汇编程序中的伪指令有什么作用?

其中段定义伪指令有哪些?

始化段和未初始化段有何区别?

答:

不产生最终代码,但对汇编器和链接器有重要的指示作用。

定义伪指令有.text、.data、.bss、.sect和.usect等。

初始化段存放了程

序或/和数据,未初始化段只是留下一定存储器空间。

3.链接命令文件有什么作用?

如何使用MEMORY命令和

SECCTIONS命令?

链接命令文件内容和汇编程序中段定义伪指令有

联系吗?

答:

链接命令文件用来为链接器提供链接信息,可将链接操作所需的信息放在一个文件中,这在多次使用同样的链接信息时,可以方

便地调用。

存储器伪指令MEMORY,用来定义目标系统的存储器空间。

伪指令SECTIONS负责告诉链接器将输入文件中

用.text、.data、.bss、.sect等伪指令定义的段放到MEMORY命令描

述的存储器空间的什么位置。

链接命令文件内容和汇编程序中段定义伪指令有联系。

4.C语言程序设计时,C编译器会产生哪些段?

答:

三个基本段:

.text、.data和.bss。

此外还生成.cinit、.const、.stack

和.sysmem。

5.为什么通常需要采用C语言和汇编语言的混合编程方法?

答:

因为两种语言各有优缺点:

用C语言开发DSP程序,使DSP

开发的速度大大加快,采用C编译器的优化功能可以提高C代码的效

率,在DSP芯片的运算能力不是十分紧张时用C语言开发DSP程序

是非常合适的。

但是许多情况下,C代码的效率还是无法与手工编写

的汇编代码的效率相比,如FFT程序等。

即使是最佳的C编译器,也

无法在所有情况下都最佳地利用DSP芯片所提供的各种资源。

此外,用C语言实现DSP芯片的某些硬件控制也不如用汇编语言

方便,有些甚至无法用C语言实现。

因此,在很多情况下,DSP应用

程序往往需要用C语言和汇编语言混合编程的方法来实现,以达到最

佳利用DSP芯片软、硬件资源的目的。

6.用C语言和汇编语言混合编程时,在C程序中如何调用汇编子

程序(函数)?

如何进行变量的联系?

在C程序中如何直接嵌入汇编语

句?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1