dsp应用技术复习题DOC.docx
- 文档编号:1624202
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:18
- 大小:74.16KB
dsp应用技术复习题DOC.docx
《dsp应用技术复习题DOC.docx》由会员分享,可在线阅读,更多相关《dsp应用技术复习题DOC.docx(18页珍藏版)》请在冰点文库上搜索。
dsp应用技术复习题DOC
DSP总复习题
一、填空
1、DSP芯片按照其用途分类,可以分为通用型和专用型两种。
2、在堆栈操作中,PC当前地址为4020h,SP当前地址为0033h,运行PSHMAR2后,PC=4021h,SP=0032h。
(PSHMAR2为单字指令)
3、TMS320C54xDSP芯片四种串行口类型是指SP、BSP、McBSP和TDMcBSP。
4、请简要说明TMS320C5402VCDSP以下引脚的功能:
:
复位引用脚,
:
I//O选通信号引脚。
5、TMS320C54xDSP的内部总线主要包括程序总线、数据总线和地址总线。
1.DSP的狭义理解为数字信号处理器,广义理解为数字信号处理方法。
2.在直接寻址中,指令代码包含了数据存储器地址的低7位。
当ST1中直接寻址编辑方式位CPL=0时,与DP相结合形成16位数据存储器地址;当ST1中直接寻址编辑方式位CPL=1时,加上SP基地址形成数据存储器地址。
3.TMS320C54有两个通用引脚,BIO和XF,BIO输入引脚可用于监视外部接口器件的状态;XF输出引脚可以用于与外部接口器件的握手信号。
39~32
保护位
31~16
高阶位
15~0
低阶位
4.累加器又叫做目的寄存器,它的作用是存放从ALU或乘法器/加法器单元输出的数据。
它的存放格式为
5.桶形移位器的移位数有三中表达方式:
立即数;ASM;T低6位
6.DSP可以处理双16位或双精度算术运算,当C16=0位双精度运算方式,当C16=1
为双16位运算方式。
7.复位电路有三种方式,分别是上电复位;手动复位;软件复位。
8.立即数寻址指令中在数字或符号常数前面加一个#号,来表示立即数。
9.位倒序寻址方式中,AR0中存放的是FFT点数的一半。
10.一般,COFF目标文件中包含三个缺省的段:
.text段;.data段和.bss段。
11.汇编源程序中标号可选,若使用标号,则标号必须从第一列开始;程序中可以有注释,注释在第一列开始时前面需标上星号或分号,但在其它列开始的注释前面只能标分号。
12.’C5402有23条外部程序地址线,其程序空间可扩展到1M,内程序区在第0页。
13.指令执行前有关寄存器及数据存储器单元情况如下图所示,请在下图分别填写指令执行后有关寄存器及数据存储器单元的内容。
ADD*AR3+,14,A
14.TI公司的定点DSP产品主要有TMS320C2000系列、TMS320C5000系列和TMS320C6000系列。
15、C54xDSP中传送执行指令所需的地址需要用到PAB、CAB、DAB和EAB4条地址总线。
16、DSP的内部存储器类型可分为随机存取存储器(RAM)和只读存储器(ROM)。
其中RAM又可以分为两种类型:
单寻址RAM(SARAM)和双寻址RAM(DARAM)。
17、’C54xDSP的内部总存储空间为192K字,分成3个可选择的存储空间:
64K字的程序存储空间、64K字的数据存储空间和64K字的I/O空间。
18、从功能结构上,’C54XDSP的CPU可以划分成运算部件和控制部件两大部分。
19、’C54xDSP的寻址方式有七种,分别为立即寻址、绝对寻址、累加器寻址、直接寻址、间接寻址、存储器映象寄存器寻址、堆栈寻址。
20、在’C54xDSP寻址和指令系统中,Xmem和Ymem表示16位双寻址操作数,Dmad为16位立即数,表示数据存储器地址,Pmad为16位立即数,表示程序存储器地址。
21、程序计数器的值可以通过复位操作、顺序执行指令、分支转移,累加器转移,块重复,子程序调用,从累加器调用子程序,中断等操作改变。
22、’C54xDSP芯片采用了6级流水线的工作方式,即一条指令分为预取指、取指、译码、寻址、读数和执行6个阶段。
23、解决MMR写操作的流水线冲突时,一般可用采用推荐指令和插入空操作指令的方法。
24、’C54xDSP定时器由3个16位存储器映射寄存器组成:
定时器寄存器(TIM)、定时器周期寄存器(PRD)和定时器控制寄存器(TCR)。
25、主机接口(HPI,HostPortInterface)是TMS320C54x系列定点芯片内部具有的一种接口部件,主要用于DSP与其他总线或CPU进行通信。
26、’C54xDSP的指令系统有和两种形式。
27、COFF目标文件中.text段通常包含,.data段通常包含己初始化的数据,.bss段中通常为保留空间。
28、DSP芯片的开发工具可以分为和两类。
29、TMS320C54xDSP的内部总线主要包括、、和。
30、TMS320C54xDSP芯片四种串行口类型是指、、McBSP和TDMcBSP。
二、单项选择题
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
{
PAGE0:
PROG:
origin=C00h,length=1000h
PAGE1:
DATA:
origin=80h,length=200h
}
则下面说法不正确的是(A)
A、程序存储器配置为4K字大小B、程序存储器配置为8K字大小
C、数据存储器配置为512字大小D、数据存储器取名为DATA
5、C54XDSP的流水线是由(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、AR2B、AR4C、AR5D、AR6
9、TMS320C54XDSP软硬件复位时,中断向量为。
A.FF00HB.FF80HC.0080HD.0000H
10、TMS320C54XDSP主机接口HPI是位并行口。
A.32B.16C.8D.2
11、TMS320C54XDSP采用改进的哈弗结构,围绕条位总线建立。
A.8、16B.16、8C.8、8D.16、16
12、TMS320C54XDSP多通道缓冲串口(MCBSY)发送和接收通道数最多可达路。
A.128B.64C.32D.16
13、TMS320C54XDSP的32个中断源分为14级,其中级别最高。
A.INTRB.NMIC.RSD.INTO
14、TMS320C54XDSP共有129条指令,分为大类。
A.6B.5C.4D.3
15、TMS320C54XDSP最多可与个器件进行时分串行通信。
A.16B.8C.4D.2
16、可编程数字信号处理器简称。
A.CPUB.DSPC.MCSD.MCU
三、简答题
1、简述DSP程序的段.text,.data,.bss,各包含什么内容。
.答:
.text代码段,该段包含程序代码.data数据段,该段包含已初始化的数据
.bss变量段,该段为未初始化的变量保留空间
2、比较伪指令.usect和.sect。
.
答:
.sect:
定义初始化了的带名称的段Unsect:
在一个未初始化的段中保留空间
3、TMS320C54X芯片的流水线共有多少个操作阶段?
每个阶段执行什么任务?
答:
共有6个操作阶段:
1,预取址2,取址3,译码4,寻址5,读数6,执行
4、TMS320C54x有多少条16位总线?
这些总线各有什么作用?
答:
’C54x共有4组8条16位总线
1条程序总线(PB):
传送取自程序存储器的指令代码和立即操作数。
3条数据总线(CB、DB、EB):
CB和EB传送从数据存储器读出的操作数;EB传送写到存储器中的数据。
4条地址总线(PAB、CAB、DAB、EAB)传送相应指令所学要的代码。
5、TMS320C54x片内存储器一般包括哪些种类?
如何控制存储器片内或片外的分配?
答:
TMS320C54x的片内存储空间分为3个可选择的存储空间:
64K的程序空间,64K的数据空间和64K的I/O空间,所有TMS320C54x芯片都包括RAM、SARAM、DARAM。
程序空间:
MP/MC=14000H~FFFFH片外
MP/MC=04000H~EFFFH片外FF00H~FFFFH片内
OVLY=10000H~007FH保留0080H~007FH片内
OVLY=00000H~3FFFH片外
数据空间:
DROM=1F000H~FEFFH只读空间FF00H~FFFH保留
DROM=0F000H~FEFFH片外
6、当TMS320C54xCPU接收到可屏蔽的硬件中断时,满足哪些条件中断才能被响应?
答:
(1)出现多个中断时,此中断的优先级最高
(2)INTM=0允许全局中断
(3)IMR中的响应相应位为1,开放此中断。
7、TMS320C54x硬件复位地址为多少?
如何确定中断向量地址?
计算INT0(IPTR=001H)的中断向量地址。
答:
复位后,复位向量地址为:
0080H
确定地址方式:
IPTR+左移2位后的中断向量序列号
10H左移2位后成为40H,IPTR=001H,则中断向量地址为00C0H
8、若辅助寄存器AR0的值为0x0005H,AR3的值为0x030FH,请分别给出下列寻址方式修改后的辅助寄存器的值。
*AR3+;AR3=0310H
*AR3+0;AR3=0314H
*AR3(15);AR3=0324H
9、分别解释以下指令的功能。
LD#80h,A;把立即数80H装入累加器A
LD80h,A;把80H为地址的数据装如累加器A
LD#80h,16,A;把立即数80H左移16位后装如累加器A
说明以下各量的理论值
A:
2Aa1的地址:
81H内容:
1
AR1:
88HAR3:
84H
四、阅读指令,写出指令执行后的结果
1.AND#00FFh,4
指令执行前指令执行后
12345678h
ACC
2.ADD1,1;DP=6:
地址0300h-037Fh
指令执行前指令执行后
301H
301H
1h
X
2h
ACCACC
C
3.ADD*-,0,AR0
指令执行前指令执行后
4
ARPARP
0
0302h
AR4AR4
2h
数据存储器数据存储器
302h302h
X
2h
ACCACC
CC
4.MPY*+,AR2
指令执行前指令执行后
1
ARPARP
40Dh
AR1AR1
7h
数据存储器数据存储器
40Dh40Dh
6h
TREGTREG
36h
PREGPREG
5、ADD*AR3+,14,A
6.BANZ2000h,*AR3-
7.CMPRGT,AR3
8.ADD*AR3+,14,A
9.SUBA,-8,B
10.2.CMPRGT,AR3
答案:
0H,FFFFH、7FFFH
11、BANZ2000h,*AR3-
答案:
2000H、004H
五、程序阅读题
1.阅读下面的程序,回答问题。
.bssx,8
LD#0001H,16,B
STM#7,BRC
STM#x,AR4
RPTBnext-1
ADD*AR4,16,B,A
STHA,*AR4+
next:
LD#0,B
问题:
(1)寄存器“BRC”的功能是什么?
(2)汇编语句“ADD*AR4,16,B,A”执行了多少次?
(3)执行语句“LD#0001H,16,B”后,累加器B的内容是多少?
答.
(1)寄存器“BRC”的功能是暂存块循环的次数
(2)8次
(3)B=0x0100H;
2.阅读下面的程序:
.mmregs
DAT0.SET60H
DAT1.SET61H
DAT2.SET62H
DAT3.SET63H
add3.macroP1,P2,P3,ADDRP
LDP1,A
ADDP2,A
ADDP3,A
STLA,ADDRP
.endm
ST#0034h,DAT0
ST#0243h,DAT1
ST#1230h,DAT2
ADD3DAT0,DAT1,DAT2,DAT3
问题:
(1)语句“.mmregs”的含义。
(2)语句“ADD3DAT0,DAT1,DAT2,DAT3”是一条什么类型的语句?
作用是什么?
(3)执行此段程序后,存储单元(DAT3)的运行结果多少?
答.
(1)定义存储器映像寄存器的符号名称。
(2)宏调用。
执行三个数相加。
(3)14a7H
3.阅读下面的程序片断,写出运行结果
.mmregs
DAT0.SET60H
LD#004h,DP
ST#0345h,DAT0
STM#0002h,T
MPYDAT0,A
NOP
问题:
(1)寄存器T的作用是什么?
(2)执行“MPYDAT0,A”后,累加器A的内容是什么?
答:
寄存器T的作用是暂存被乘数,
累加器A的内容为0x68A或68Ah
4.阅读程序,回答后面的问题
STM#6,AR4
begin:
STM#9,BRC
RPTBnext-1
nop
next:
LD#0,B
banzbegin,*AR4-
问题:
(1)BRC寄存器是做什么用途?
(2)语句“banzbegin,*AR4-”的作用是什么?
(3)其中的“nop”语句被执行了多少次?
答:
BRC保存着RPTB指令的循环次数
判断AR4的内容是否为零,若不为零,跳转到标号begin。
70次
6.阅读下面的程序片断,写出运行结果
.mmregs
bei_hua.set18
LD#bei_hua,A
问题:
(1)“.mmregs”的作用是什么?
(2)运行此段程序后,累加器A的结果是多少?
答:
定义存储器映像寄存器的符号名称
A的结果是18
7.阅读下面的程序,回答问题。
.sect".vectors"
rst:
B_c_int00;复位中断向量的入口
NOP
NOP
.space18*4*16
tint:
Btimeout;定时器0的中断向量的入口
NOP
NOP
问:
(1)“.sect”伪指令的作用是什么?
(2)标号“rst”的地址为6000H,请问标号“tint”的地址是多少?
答:
定义一个自定义段名的程序段
604Ch
8.阅读下面的命令连接文件(简称CMD文件)和程序文件:
CMD文件:
MEMORY
{PAGE0:
PROG:
origin=0x1000,length=0x1000
PAGE1:
DATA:
origin=0x2000,length=0x1000
}
SECTIONS
{.text:
{}>PROGPAGE0
.data:
{}>DATAPAGE1
}
.data
table:
.word1,2,3,4 ;变量初始化
.text
start:
STM#0,SWWSR;插入0个等待状态
问:
(1)MEMORY和SECTIONS的作用各是什么?
(2)标号“table”和“start”的地址分别是什么,分别位于程序空间还是数据空间?
答:
MEMORY和SECTIONS链接伪指令,用来指定目标存储器结构和地址分配。
标号table:
1000h(程序空间)
标号start:
2000h(数据空间)
8.阅读下面的程序片断,回答下面的问题
DAT0.SET60H
DAT1.SET61H
DAT2.SET62H
DAT3.SET63H
LD#004h,DP
ST#83h,DAT0
ST#0041h,DAT1
RSBXSXM
LDDAT0,A
RPT#15
SUBCDAT1,A
STLA,DAT2
STHA,DAT3
问:
在CPL=0的情况下,
(1)语句“STLA,DAT2”,其中DAT2所指的地址是多少?
(2)存储单元(DAT2)和(DAT3)的内容是多少?
答:
(1)0262h
(2)(DAT2)=02H(DAT3)=01H
9.阅读下面的程序,回答问题。
MEMORY
{PAGE0:
PROG:
origin=0x2000,length=0x1000
PAGE1:
DATA:
origin=0x3000,length=0x1000
}
SECTIONS
{.text:
{}>PROGPAGE0
.bss:
{}>DATAPAGE1
}
汇编程序:
.bssa,4
.bssx,4
.bssy,1
STM#a,AR3
STM#x,AR4
RPTZA,#3
MAC*AR3+,*AR4+,A
STLA,*(y)
问题:
(1)指令“STM#a,AR3”的作用是什么?
执行此句指令后,寄存器AR3的内容是多少?
(2)指令“MAC*AR3+,*AR4+,A”执行了几次?
每执行一次寄存器AR3和AR4的内容如何变化?
(3)这段代码的功能是什么?
答:
(1)将标号a的地址赋给辅助工作寄存器AR3,AR3=3000h。
(2)执行了4次,每执行一次辅助工作寄存器AR3和AR4的内容增一。
(3)
六、编程题
44
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- dsp 应用技术 复习题 DOC