DSP复习题及答案.docx

上传人:b****4 文档编号:5315634 上传时间:2023-05-08 格式:DOCX 页数:15 大小:29.42KB
下载 相关 举报
DSP复习题及答案.docx_第1页
第1页 / 共15页
DSP复习题及答案.docx_第2页
第2页 / 共15页
DSP复习题及答案.docx_第3页
第3页 / 共15页
DSP复习题及答案.docx_第4页
第4页 / 共15页
DSP复习题及答案.docx_第5页
第5页 / 共15页
DSP复习题及答案.docx_第6页
第6页 / 共15页
DSP复习题及答案.docx_第7页
第7页 / 共15页
DSP复习题及答案.docx_第8页
第8页 / 共15页
DSP复习题及答案.docx_第9页
第9页 / 共15页
DSP复习题及答案.docx_第10页
第10页 / 共15页
DSP复习题及答案.docx_第11页
第11页 / 共15页
DSP复习题及答案.docx_第12页
第12页 / 共15页
DSP复习题及答案.docx_第13页
第13页 / 共15页
DSP复习题及答案.docx_第14页
第14页 / 共15页
DSP复习题及答案.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

DSP复习题及答案.docx

《DSP复习题及答案.docx》由会员分享,可在线阅读,更多相关《DSP复习题及答案.docx(15页珍藏版)》请在冰点文库上搜索。

DSP复习题及答案.docx

DSP复习题及答案

DSP原理及应用复习题

题型为以下七种:

1、填空题(每空1分,共10分)

2、单项选择题(每题2分,共10分)

3、判断题(每题2分,共10分)

4、简答题(每题4分,共20分)

5、程序阅读题(每题4分,共20分)

6、编程题(8分)

7、作图题(10分)

8、程序设计题(12分)

一、填空题

1.在DSP处理器中,数据地址的产生是由(数据地址发生器)来完成的。

2.TMS320C54x的累加器分别称为(累加器A)和(累加器B),它们的数据宽度是(40)位。

3.TMS320C54x的DSP采用先进的(哈佛)结构,其独立的(程序)总线和(数据)总线允许同时读取(指令)和(操作数),实现高度的并行操作。

4.TMS320C54x的通用I/O引脚有(跳转控制输入引脚

)和(外部标志输出引脚XF)。

5.指令MPY0Dh,A中乘数和被乘数分别在(累加器B高16位)和(累加器A)中。

6.TMS320C54x有(3)个状态和控制寄存器。

7.在DSP处理器中,配有两个地址生成器,包括(数据地址发生器)和(程序地址发生器)。

8.TMS320C54x使用一个40位的(ALU)和两个40位的(累加器ACCA和ACCB)来完成算数算术运算和逻辑运算。

9.TMS320C54x存储器由3个独立的可选择空间组成:

(程序空间)、(数据空间)和(I/O空间)。

10.TMS320C54x的指令系统包含(助记符指令)和(代数指令)两种形式。

11.编译器对于符号地址和变量的处理都是相对于本段的开始。

连接器为每个段选择了合适的起始地址,就必须相应地修改这些符号地址和变量,同时修改所有对这些地址和变量的引用,这个过程称为(重定位)。

12.TMS320C54x的总线由

(1)组程序总线、(3)组数据总线和(4)组地址总线组成,可在一个指令周期内产生两个数据存储地址,实现流水线并行数据处理。

一、单项选择题

1.1.TMS320C54x中累加器分为三个部分,低位字,高位字和保护位,其中高位字是指(B)

A.15~0位B.31~16位C.39~32位D.39~23位

2.2.TMS320C54x中,暂存器T的数据宽度是(C)

A.40位B.32位C.16位D.8位

3.3.TMS320C54x的立即数寻址中,位数最长的短立即数的长度是(B)

A.16位B.9位C.8位D.5位

4.TMS320C54x汇编语言中,用于自定义段的是(A)

A..sectB..bssC..textD..data

5.下列TMS320C54x的中断,不是可屏蔽中断的是(D)

A.RINT0B.HPIINTC.DMAC4D.reset

6.1.TMS320C54x中累加器分为三个部分,低位字,高位字和保护位,其中保护位字是指(C)

A.15~0位B.31~16位C.39~32位D.39~23位

7.TMS320C54x中,ALU的数据宽度是(A)

A.40位B.32位C.16位D.8位

8.TMS320C54x的立即数寻址中,长立即数寻址的长度是(A)

A.16位B.9位C.8位D.5位

9.4.TMS320C54x汇编语言中,用于定义未初始化段的是(B)

A..sectB..bssC..textD..data

10.5.下列哪个浮点数表示的是无效的数(C)

A.99e9B9.9e9C99e9D99.e9

三、判断题

1.TMS320C54x汇编语言中,符号常量可以用.set定义,不占用存储器

(X)

2.TMS320C54x的中断处理分为3个阶段:

一是请求中断,二是响应中断,三是执行中断服务程序。

(√)

3.TMS320C54x在执行中断之前,要完成所有流水线中的指令。

所以,最大的中断延时取决于进入流水线的指令。

(√)

4.TMS320C54x在执行中断服务程序(ISR)时,在进入中断服务程序后,CPU将首先把程序计数器(PC)的值,也即返回地址,压入堆栈,然后把中断矢量的地址装入PC。

(×)

5.TMS320C54x有三个状态和控制寄存器,分别是:

状态寄存器ST0,状态寄存器ST1,以及处理器方式状态寄存器PMST。

(√)

6.如果在程序中未用任何段伪指令,则汇编器将把所有的程序块或数据块统一汇编至.text段中

(×)

7.MEMORY命令是告诉连接器如何将输入段组合成输出段。

(×)

8.TMS320C54x在执行中断之前,要完成所有流水线中的指令。

所以,最大的中断延时取决于进入流水线的指令。

(×)

9.局部标号可以用伪指令来定义。

(√)

10.TMS320C54x只有两个状态和控制寄存器,分别是:

状态寄存器ST0,状态寄存器ST1。

(×)

四、简答题

1.简述哈佛结构的基本特征,并画出示意图。

P3

哈佛结构结构采用双存储空间,程序存储器和数据存储器分开,取指和读数可以同时进行,扩展了存储器带宽,增加了系统的吞吐量。

2.简述TMS320C54xDSP的ALU的可能的输入数据来源。

P44

第一种答案:

ALU的X输入端的数据:

①移位器的输入②来自数据总线DB的数据存储器操作数

ALU的Y输入端的数据:

①累加器A中的数据②累加器B中的数据

③来自数据总线CB的数据存储器操作数

T寄存器中的数据

第二种答案:

可以使用的输入形式包括:

16位的立即数,从数据存储器读出的16位字,暂存器T中的16位字,从数据存储器中读出的2个16位字,从数据存储器读出的1个32位字,从其中一个累加器输出的40位值

3.简述辅助寄存器(AR0~AR7)的主要功能。

辅助寄存器(AR0~AR7)属于数据地址生成逻辑单元,产生16位数据空间,通用R,为各种寻址服务。

4.简述TMS320C54x中硬件定时器的功能。

TMS320C54x有一个带有4位预定标器的16位定时电路。

这个定时计数器每个时钟周期减1,减至0时就产生一个定时中断。

可以通过设置特定的状态位,来使定时器停止、恢复运行、复位或禁止。

5.列举四种绝对地址寻址。

P142

数据存储器地址(dmad)寻址程序存储器地址(pmad)寻址

端口地址(PA)寻址*(lk)寻址

6.简述TMS320C54xDSP的总线组成和功能。

P31

C54x的内部有8组16位总线:

4条程序/数据总线和4条地址总线。

这些总线功能:

(1)1组程序总线PB主要用来传送取自程序存储器的指令代码和立即操作数。

(2)3组数据总线CB、DB、EB

CB和DB用来传送从数据存储器读出的数据;

EB用来传送写入存储器的数据。

(3)4组地址总线PAB、CAB、DAB、EAB用来提供执行指令所需的地址。

7.简述TMS320C54xDSP的乘法器的输入数据来源。

P51

输入端XM数据来自:

①T寄存器

②累加器A的位32-16

③DB总线传送过来的数据存储器操作数

输入端YM的数据来自:

①累加器A的位32-16

②由DB总线和CB总线传送过来的数据存储器操作数

③由PB总线传送过来的程序存储器操作数

9.简述TMS320C54x指令系统的特点。

10.列举出TMS320C54x的7种基本的数据寻址方式。

P141

立即寻址、绝对寻址、累加器寻址、直接寻址、间接寻址、存储器映像寄存器寻址、

堆栈寻址

五、程序阅读题

1.请说明下面语句执行后,A,T,FRCT、AR5、数据存储器中0100h的数据。

MAC*AR5,A

指令执行前执行后

A0000001000000048E000

T04000400

FRCT00

AR501000100

数据存储器

0100h12341234

2.阅读下面的程序段,说明每一条语句的功能,以及整个程序段的功能。

.bssx,8为数组x分配8个存储单元

STM#x,AR1将目的地首地址赋给AR1

RPTZA,#7执行一次下一条指令在循环执行7次并对ACC清0

STLA,*AR1+把累加器的低端存放到数据存储器中

整个程序段的功能是对数组进行初始化,使x[8]={0,0,0,0,0,0,0,0}

3.阅读下面的程序段,利用长字指令来完成下面程序段的功能,并说明整个程序段完成什么功能。

P241

LD@xhi,16,A

ADDS@xlo,A

ADD@yhi,16,A

ADDS@ylo,A

STHA,@zhi

STLA,@zlo

答案:

DLD@xhi,A

DADD@yhi,A

DSTA,@zhi

整个程序段完成:

Z(32)=X(32)+Y(32)

4.阅读下面的程序段,说明每一条语句的功能。

STM#88H,AR0;将操作数88H装入AR0

LD#1000H,A;将操作数1000H装入ACC

zhong:

SUBAR0,A;ACC中的值减去AR0中的值,结果存入A

BCzhong,AGT,AOV;若累加器A>0且溢出,则转至zhong,否则往下执行

5.阅读下面的程序段,说明每一条语句的功能。

STM#123H,AR0;将操作数123H装入入AR0

LD#456H,AR1;将操作数456H装入ACC

CALLnew;调子程序new

LDAR1,16,A;将AR1的内容左移16位后装入A

new:

MPYAR0,AR1,A;AR0与AR1的内容相乘,结果存入A中

RET;子程序返回

6.请说明下面语句执行后,A,C,AR1、SXM、数据存储器中0100h的数据。

SUB*AR1+,14,A

指令执行前指令执行后

A0000001200FFFAC01200

CX0

AR101000101

SXM11

数据存储器

0100h15001500

7.阅读下面的程序段,说明每一条语句的功能,以及整个程序段的功能。

rsbxFRCT;清楚FRCT标志,表明以下是做整数乘法。

ldtemp1,T;将变量temp1装入T寄存器。

mpytemp2,a;完成temp1*temp2,结果放入累加器A。

stha,temp3;结果的高16位存入temp3

stla,temp4;结果的低16位存入temp4.

整个程序段的功能是计算temp1×temp2,32位的结果分别存入temp3和temp4.

8.阅读下面的程序段,说明语句1、2和3的功能,以及整个程序段的功能。

.mmregs

.globalstart

.data

dst.space18*16

len.word18

.text

src.string"thisisthesource"

.start

stm#dst,ar1;语句1将dst的地址存入ar1

stm#len,ar2

rpt*(ar2);语句2循环执行*(ar2)次指令mvpdsrc,*ar1+

mvpdsrc,*ar1+

b$;语句3原地执行

.end

整个程序的功能是将源数据存储区(src)的字符串复制到目的的数据存储区(dst).

9.阅读下面的程序段,说明每一条语句的功能,以及整个程序段的功能。

SUM3:

LD@x1,T;T=x1

MPY@a1,B;B=x1×a1

LD@x2,T;T=x2

MAC@a2,B;B=x2×a2

STLB,@y;计算结果的低字BL存入y中

STHB,@y+1;计算结果的高字BH存入y+1中

整个程序段的功能是计算y=x1×a1+x2×a2

10.请说明下面语句执行后,累加器A,寄存器T,FRCT、DP、数据存储器中040Dh的数据。

MPY0Dh,A

指令执行前指令执行后

A000000A039

T5050

FRCT11

DP008008

数据存储器

040Dh40004000

六、编程题

1、求4项乘积aixi(i=1,2,3,4)中的最大值,并存放累加器A中。

P224

.mmregs

STACK.usect“STACK“,10h

.bssa,4

.bssx,4

.bssy,1

.defstart

.data

table:

.word1,2,3,4

.word8,6,4,2

.text

start:

STM#0,SWWSR

STM#STACK+10h,SP

STM#a,AR1

RPT#7

MVPDtable,*AR1+

CALLSUM

end:

Bend

SUM:

STM#a,AR3

STM#x,AR4

RPTZA,#3

MAC*AR3+,*AR4+,A

STLA,@y

RET

.end

2、编制求解

的程序。

P235

.mmregs

STACK.usect“STACK“,30h

.bssa,25

.bssx,25

.bssy,2

.defstart

.data

table:

.word1,2,3,4,5,6,7,8,9,10

.word11,12,13,14,15,16,17,18,19,20

.word21,22,23,24,25,26,27,8,29,30

.word1,2,3,4,5,6,7,8,9,10

.word11,12,13,14,15,16,17,18,19,20

.text

start:

SSBXFRCT

STM#a,AR1

RPT#49

MVPDtable,*AR1+

LD#0,B

STM#a,AR2

STM#x,AR3

RPTZA,#24

MAC*AR2+,*AR3+,A

STLA,@y

STHA,@y+1

.end

七、作图题

1、扩展程序存储器p123

2、’C54x与A/D转换器的接口p126

3、’C54x与D/A转换器的接口

八、程序设计题

,p273例子

1、利用线性缓冲区法和循环缓冲区法设计一个FIR滤波器,其中滤波系数为b0=0.1,b1=0.2,b2=-0.4,b3=0.3,b4=-0.4,b5=0.2,b6=0.1;(8分)

线性缓冲区法:

.title“FIR1.Asm

.mmregs

.defstart

x“x”,7

PA0.set0

PA1.set1

.data

COEF:

.word1*32768/10;b0=0.1

.word2*32768/10;b1=0.2

.word-4*32768/10;b2=0.4

.word3*32768/10;b3=0.3

.word-4*32768/10;b4=0.4

.word2*32768/10;b5=0.2

.word1*32768/10;b6=0.1

.text

Start:

SSBXFRCT

STM#x+7,AR2

STM#6,AR0

LD#x+1,DP

PORTRPA1,@x+1

FIR:

RPTZA,#6

MACD*AR2-,COEF,A

STHA,*AR2;保存滤波器输出结果

PORTW*AR2+,PA0;将滤波器的输出从端口送出去

BDFIR1

PORTRPA1,*AR2+0

循环缓冲区法:

.title“FIR2.ASM”

.mmregs

.defstart

.bssy,1

xn.usect“xn”,7

b0.usect“b0”,7

PA0.set0

PA1.set1

.data

table:

.word1*32768/10;b0=0.1

.word2*32768/10;b1=0.2

.word3*32768/10;b2=0.3

.word4*32768/10;b3=0.4

.word5*32768/10;b4=0.5

.word6*32768/10;b5=0.6

.word7*32768/10;b6=0.7

.text

start:

SSBXFRCT

STM#b0,AR1

RPT#6

MVKDtable,*AR1+

STM#xn+6,AR2

STM#b0+6,AR3;AR3指向系数a6

STM#7,BK;缓冲区长度为7

STM#-1,AR0;AR0=-1

LD#xn,DP

PORTRPA1,@xn;从端口PA1读入采样值

FIR:

RPTZA,#6

MAC*AR2+0%,*AR3+0%

STHA,@y

PORTW@y,PA0

BDFIR2

PORTRPA1,*AR2+0%

.END

2、编写连接命令文件FIR.CMD。

(4分)

程序存储器:

4K字ROM,起始地址为C00h,取名为EPROM。

数据存储器:

32字RAM,起始地址为60h,取名为SPRAM。

4992字RAM,起始地址为80h,取名为DARAM

MEMORY

{PAGE0:

EPROM:

origin=c00H,length=1000H

PAGE1:

SPRAM:

origin=60H,length=20H

DARAM:

origin=80H,length=1380H

}

SECTIONS

{.text:

>EPROMPAGE0

.data:

>EPROMPAGE0

.bss:

>SPRAMPAGE1

STACK:

>DARAMPAGE1}

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2