东莞理工学院期末复习DSP复习题及答案.docx
- 文档编号:10793292
- 上传时间:2023-02-22
- 格式:DOCX
- 页数:15
- 大小:29.27KB
东莞理工学院期末复习DSP复习题及答案.docx
《东莞理工学院期末复习DSP复习题及答案.docx》由会员分享,可在线阅读,更多相关《东莞理工学院期末复习DSP复习题及答案.docx(15页珍藏版)》请在冰豆网上搜索。
东莞理工学院期末复习DSP复习题及答案
DSP原理及应用复习题
一、填空题
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}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东莞 理工学院 期末 复习 DSP 复习题 答案