admin管理员组

文章数量:1530842

2024年6月5日发(作者:)

精品文本

最新DSP考试试题集合外加复习资料(后)

一、填空(每空1分,共30分)

1. 程序计数器的值可以通过 复位操作 、 顺序执行指令 、 分支转移 ,

累加器转移,块重复,子程序调用,从累加器调用子程序,中断等操作改变。

2. ’C54x DSP芯片采用了6级流水线的工作方式,即一条指令分为 预取指 、

取指、译码、 寻址 、读数和执行6个阶段。

3. 解决MMR写操作的流水线冲突时,一般可用采用推荐指令和 插入空操

作指令 的方法。

4. TI公司的定点DSP产品主要有 TMS320C2000 系列、TMS320C5000系列

和 TMS320C6000 系列。

5. ’C54x DSP中传送执行指令所需的地址需要用到 PAB 、CAB、DAB和

EAB 4条地址总线。

6. 在’C54x DSP寻址和指令系统中,Xmem和Ymem表示 16位双寻址操作

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

数,表示 程序存储器地址 。

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

(ROM)。其中RAM又可以分为两种类型:单寻址RAM(SARAM)和双

寻址RAM(DARAM)。

8.

9. ’C54x DSP的内部总存储空间为192K字,分成3个可选择的存储空间:64K

字的程序存储空间 、64K字的数据存储空间和64K字的 I/O空间 。

10.从功能结构上,’C54X DSP的CPU可以划分成 运算部件 和 控制部件 两

大部分。

11.’C54x DSP的寻址方式有七种,分别为立即寻址、绝对寻址、累加器寻址、

直接寻址、 间接寻址 、存储器映象寄存器寻址、堆栈寻址。

12.’C54x DSP定时器由3个16位存储器映射寄存器组成:定时器寄存器(TIM)、

1 / 16

精品文本

定时器周期寄存器(PRD)和 定时器控制寄存器(TCR) 。

13. 主机接口(HPI,Host Port Interface) 是TMS320C54x 系列定点芯片内部

具有的一种接口部件,主要用于DSP与其他总线或CPU进行通信。

14.’C54x DSP的指令系统有 助记符指令 和 代数指令 两种形式。

目标文件中.text段通常包含 可执行代码 ,.data段通常包含己初始

化的数据,.bss段中通常为 未初始化的数据 保留空间。

芯片的开发工具可以分为 代码生成工具 和 代码调试工具 两类。

17、DSP芯片按照其用途分类,可以分为通用型和 专用型 两种。

18,在堆栈操作中,PC当前地址为4020h,SP当前地址为0033h,运行PSHM AR2后,

PC= 4021h , SP= 0032h 。(PSHM AR2为单字指令)

19、TMS320C54xDSP芯片四种串行口类型是指 SP 、 BSP 、McBSP和

TDMcBSP。

20、请简要说明TMS320C5402VCDSP以下引脚的功能:

RS

: 复位引用脚 ,

IOSTRB

: I//O选通信号引脚 。

21, TMS320C54xDSP的内部总线主要包括 程序总线 、 数据总线 和

地址总线

22.DSP的狭义理解为 数字信号处理器 ,广义理解为 数字信号处理方

法 。

2

23.在直接寻址中,指令代码包含了数据存储器地址的低 7 位。当ST1中直接寻址编

辑方式位CPL =0 时,与DP相结合形成16位数据存储器地址;当ST1中直接寻址编

辑方式位

CPL =1 时,加上SP基地址形成数据存储器地址。

3

24.TMS320C54有两个通用引脚,BIO和XF, BIO 输入引脚可用于监视外部

接口器件的状态; XF 输出引脚可以用于与外部接口器件的握手信号。

4

25.累加器又叫做 目的寄存器 ,

39~32 31~16 15~0

它的作用是存放从ALU或乘法器/

保护位 高阶位 低阶位

加法器单元 输出的数据。它的

存放格式为

26.桶形移位器的移位数有三中表达方式: 立即数 ; ASM ; T低6

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

C16=1

为双16位运算方式。

2 / 16

精品文本

28.复位电路有三种方式,分别是 上电复位 ; 手动复位 ; 软件复位 。

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

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

30.一般,COFF目标文件中包含三个缺省的段: .text 段; .data 段和 .bss 段。

31.汇编源程序中标号可选,若使用标号,则标号必须从 第一列 开始;程序中可以有注

释,注释在第一列开始时前面需标上 星号或分号 ,但在其它列开始的注释前面只能标

分号 。

32.C5402有23条外部程序地址线,其程序空间可扩展到 1M ,内程序区在 第0

页 。

二 填空题

1、对于TMS320C54x系列DSP芯片,下列说法正确的是 ( C )

(A) 专用型DSP (B)32位DSP (C) 定点型DSP (D) 浮点型DSP

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

A. 需要把状态寄存器ST1的INTM位置1,且中断屏蔽寄存器IMR相应位置0

B. 需要把状态寄存器ST1的INTM位置1,且中断屏蔽寄存器IMR相应位置1

C. 需要把状态寄存器ST1的INTM位置0,且中断屏蔽寄存器IMR相应位置0

D. 需要把状态寄存器ST1的INTM位置0,且中断屏蔽寄存器IMR相应位置1

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

MEMORY

{

PAGE 0: PROG: origin=C00h, length=1000h

PAGE 1: DATA: origin=80h, length=200h

}

则下面说法不正确的是(A)

A、 程序存储器配置为4K字大小 B、程序存储器配置为8K字大小

C、 数据存储器配置为512字大小 D、数据存储器取名为DATA

5、C54X DSP的流水线是由( B )级(也即是由多少个操作阶段)组成。

(A) 4 (B) 6 (C) 8 (D) 10

6、假定AR3中当前值为200h,AR0中的值为20h,下面说法正确的是( )

A、在执行指令*AR3+0B后,AR3的值是200h;

B、在执行指令*AR3-0B后,AR3的值为23Fh;

C、在执行指令*AR3-0B后,AR3的值是180h;

7、下面对一些常用的伪指令说法正确的是:( D )

A、.def所定义的符号,是在当前模块中使用,而在别的模块中定义的符号;

B、.ref 所定义的符号,是当前模块中定义,并可在别的模块中使用的符号;

C、.sect命令定义的段是未初始化的段;

D、.usect命令定义的段是未初始化的段。

8、在采用双操作数的间接寻址方式时,要使用到一些辅助寄存器,在此种寻址方式下,下

面的那些辅助寄存器如果使用到了是非法的( D )

A、AR2 B、AR4 C、AR5 D、AR6

3 / 16

精品文本

三、简答题(每题5分,共20分)

1.什么是定点DSP芯片和浮点DSP芯片?各有什么优缺点?

解:按数据的定点格式工作的DSP芯片称为定点DSP;

按数据的浮点格式工作的DSP芯片称为浮点DSP;

定点DSP的价格便宜,功耗低,但运算精度低;

浮点DSP的价格较高,C语言编程调试方便,运算精度高。

2. 简述流水线操作的基本原理。

解:流水线操作是各指令以机器周期为单位相差一个时钟周期,连续并行工作

的情况。其本质是DSP多条总线彼此独立地同时工作,使得同一条指令在不同

机器周期内占用不同总线资源。同时,不同指令在同一机器周期内占用不同总

线资源。

3. ’C54x DSP有哪些重复操作?各有什么优点?

解:有单条指令重复执行和程序块重复执行两种重复操作。

单条指令重复操作功能,可以使乘法/累加和数据块传送那样的多周期指令在执

行一次之后变成单周期指令,大大提高了这些指令的执行速度。

利用块重复操作进行循环,是一种零开销循环。

4. 软件可编程等待状态发生器的功能是什么?

解:软件可编程等待状态产生器可以将外部总线周期扩展到7个机器周期(C549、

C5402、C5410和C5420为14个机器周期),这样’C54x DSP可以方便地与慢速

的片内存储器和I/O器件接口。

4 / 16

精品文本

5. TMS320C54x有多少条16位总线?这些总线各有什么作用?(6分)

答:’C54x共有4组8条16位总线

1条程序总线(PB):传送取自程序存储器的指令代码和立即操作数。

3条数据总线(CB、DB、EB):CB和EB传送从数据存储器读出的操作数;EB

传送写到存储器中的数据。

4条地址总线(PAB、CAB、DAB、EAB)传送相应指令所学要的代码。

6,TMS320C54x片内存储器一般包括哪些种类?如何控制存储器片内或片外的分配?(6

分)

答:TMS320C54x的片内存储空间分为3个可选择的存储空间:64K的程序空间,64K

的数据空间和64K的I/O空间,所有TMS320C54x芯片都包括RAM、SARAM、

DARAM。

程序空间:MP/MC=1 4000H~FFFFH 片外

MP/MC=0 4000H~EFFFH 片外 FF00H~FFFFH 片内

OVLY=1 0000H~007FH 保留 0080H~007FH 片内

OVLY=0 0000H~3FFFH 片外

数据空间:DROM=1 F000H~FEFFH 只读空间 FF00H~FFFH 保留

DROM=0 F000H~FEFFH 片外

7.,当TMS320C54x CPU接收到可屏蔽的硬件中断时,满足哪些条件中断才能被响应?

(6分)

答:(1)出现多个中断时,此中断的优先级最高

(2)INTM=0 允许全局中断

(3)IMR中的响应相应位为1,开放此中断。

8,TMS320C54x硬件复位地址为多少?如何确定中断向量地址?计算INT0(IPTR=001H)

的中断向量地址。(6分)

答:复位后,复位向量地址为:0080H

确定地址方式:IPTR+左移2位后的中断向量序列号

10H左移2位后成为40H,IPTR=001H,则中断向量地址为00C0H

9,若辅助寄存器AR0的值为0x0005H,AR3的值为0x030FH,请分别给出下列寻址方式

修改后的辅助寄存器的值。(6分)

*AR3+ ; AR3=0310H

*AR3+0 ; AR3=0314H

*AR3(15) ; AR3=0324H

10,分别解释以下指令的功能。(6分)

LD #80h, A; 把立即数80H装入累加器A

LD 80h, A; 把80H为地址的数据装如累加器A

LD #80h,16, A; 把立即数80H左移16位后装如累加器A

说明以下各量的理论值(4分)

A: 2A a1的地址:81H 内容:1

AR1: 88H AR3: 84H

5 / 16

精品文本

四、问答题(10分)

1. ’C54x DSP的串行口有哪些类型?各有什么特点?

解:有标准同步串口SP、缓冲同步串口BSP、多路缓冲串口McBSP、时分多路同

步串口TMD 四种。

缓冲串口(BSP)是一个增强型的标准串口,它由一个全双工双缓冲串口和一个

自动缓冲单元(ABU)组成。

由于其中的串行口与标准串口的功能相同,因此在标准模式下,缓冲串口的操

作与标准串口的工作方式是一样的。不过无论是标准模式还是自动缓冲模式,

BSP都提供了一些增强功能。主要包括了可编程控制的串口时钟、可选择时钟和

帧同步信号的正负极性,能够以每帧8位、10位、12位和16位传输数据。通

过配置BSP的控制寄存器,BSP还能实现忽略帧同步信号的数据传输。

时分复用串行口TDM采用时分复用技术,将多个外部器件复用与’C54x进行串行

通信,每一个时隙对应于其中的1路通信。

TDM可以和外部的多个应用接口实现方便灵活的数据交换。’C54x最多可以和8

个外部器件接口通信。

多通道缓冲串口(McBSP)是在缓冲串口的基础上发展起来的增强版。

McBSP具有高速、全双工、可与各种总线标准的器件直接接口等特点,它为DSP

使用者在不同方面的应用提供了方便,尤其适合在通信领域的应用。

五、阅读指令并填空(每题5分,共25分)

1.

BANZ 2000h, *AR3-

指令执行前

指令执行后

PC

AR3

1000

005

PC

AR3

2000

004

6 / 16

精品文本

2.CMPR GT, AR3

指令执行前

指令执行后

TC

AR0

AR3

3.ADD *AR3+, 14, A

指令执行前

1

FFFF

7FFF

TC

AR0

AR3

0

FFFF

7FFF

指令执行后

A

C

AR3

SXM

00 0000 1200

1

0100

1

A

C

AR3

SXM

00 0540 1200

0

0101

1

Data Memory

0100h

4.SUB A, -8, B

1500

0100h

1500

指令执行前

指令执行后

A

B

C

SXM

00 0000 1200

00 0000 1800

x

1

A

B

C

SXM

00 0000 1200

00 0000 17EE

1

1

5.MPY *AR3+, A

7 / 16

精品文本

指令执行后

指令执行前

A

T

AR3

00 0000 1200

0004

0100

A

T

AR3

00 0000 0040

0004

0101

Data Memory

0100h

0010

0100h

0010

五、程序题(15分)

写出计算

y

x

i

的主要汇编程序,并给程序添加注释,画出程序的流程图。

i1

20

解:程序及注释:

.bss x, 20

.bss y, 1

STM #x, AR1

STM #19, AR2

LD #0, A

loop: ADD *AR1+, A

BANZ loop, *AR2-

STL A, @y

流程图:

开始

AR1=#x;

AR2=19;

;给变量x分配20个字单元

;给变量y分配1个字单元

;取x地址

;设置循环次数

;累加器清零

;累加x分量

;循环是否结束,没有结束则继续累加

;把结果存入y

A=(AR1)+A;

AR2=AR2-1

N

AR2=0?

Y

y=AL;

结束

8 / 16

本文标签: 指令寄存器存储器数据地址