DSP原理期末试卷和答案
1、下面对一些常用的伪指令说法正确的是:( D )
A、.def所定义的符号,是在当前模块中使用,在别的模块中定义的符号;
B、.ref 所定义的符号,是当前模块中定义,并可在别的模块中使用的符号;
C、.sect命令定义的段是未初始化的段;
D、.usect命令定义的段是未初始化的段.
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、对于TMS320C54x系列DSP芯片,下列说法正确的是………… ( C )
A、 8位DSP
B、32位DSP
C、定点型DSP
D、浮点型DSP
4、若链接器命令文件的MEMORY部分如下所示:
MEMORY
{
PAGE 0: PROG: origin=C00h, length=1000h
PAGE 1: DA TA: origin=80h, length=200h
}
则下面说法不正确的是()
A、程序存储器配置为4K字大小
B、程序存储器配置为8K字大小
C、数据存储器配置为512字大小
D、数据存储器取名为DATA
5、在串行口工作于移位寄存器方式时,其接收由()来启动.
A、REN
B、RI
C、REN和RI
D、TR
6、执行指令PSHM AR5之前SP=03FEH,则指令执行后SP=( A )
A、03FDH
B、03FFH
C、03FCH
D、0400H
7、TMS320C54X DSP采用改进的哈佛结构,围绕____A__组_______位总线建立.
A、8,16
B、16,8
C、8,8
D、16,16
8、TMS320C54X DSP汇编指令的操作数域中, A 前缀表示的操作数为间接寻址的地址.
A、*
B、#
C、@
D、&
9、TMS320C54X DSP中有_____B___个辅助寄存器.
A、4
B、8
C、16
D、32 10、TMS320C54X DSP的中断标志寄存器是___ A _____.
A、IFR
B、TCR
C、PRD
D、TIM
11、以下控制位中哪 A 位用来决定数据存储空间是否使用内部ROM.
A、MP/MC
B、OVL Y
C、DROM
D、SXM
12、下列说法中错误的是( C ).
A、每个DARAM块在单周期内能被访问2次.
B、每个SARAM块在单周期内只能被访问1次.
C、片内ROM主要存放固化程序和系数表,只能作为程序存储空间.
D、DARAM和SARAM既可以被映射到数据存储空间用来存储数据,也可以映射到程序空间用来存储程序代码.
13、若程序中对堆栈设置如下,则下列说法错误的是(C ).
size .set 120
stack .usect “STACK”,size
STM # stack + size,SP
A、此堆栈段的段名为STACK
B、此堆栈段共120个单元
C、此堆栈段第一个变量的名称为size
D、堆栈设置好后,堆栈指针SP指向栈底
14、TMS320C54x中累加器A分为三个部分,低位字,高位字和保护位,其中A的高位字是指(C )
A、AL
B、AG
C、AH
D、AM
15、TMS320C54X DSP软硬件复位时,中断向量为________.( C )
A、0000H
B、0080H
C、FF80H
D、FF00H
二、判断题(每小题1分,共10分)
1.TMS320C54X
DSP缓冲串行接口是在同步串口基础上,增加了一个自动缓冲单元,主要提供灵活的数据串长度,并降低服务中断开销. (对)
2.循环缓冲区是一个滑动窗,包含最近的数据,若有新的数据到来,它将覆盖旧的数据. (对)
3.浮点DSP与定点DSP相比,价格便宜、功耗较小、运算精度稍低.(错)
4.TMS320C55X DSP的40位ALU和累加器,仅支持16位算术运算.( 错)
5.C5000系列DSP低功耗、大运算量,主要用于便携式信息处理终端产品.(对)
6、解决MMR写操作的流水线冲突时,一般可用采用推荐指令和插入空操作指令的方法.(对)
7. DSP的流水线冲突产生的原因是由于DSP运行速度还不够快. (错)
8. 直接寻址中从页指针的位置可以偏移寻址64个单元. (错)
9. C54x系列DSP处理器中,实现时钟频率倍频或分频的部件是锁相环PLL (对)
10. DSP处理器TMS320VC5509的堆栈是向低地址方向生长的. (对)
三、填空题(每小空1分,共15分)
1、TMS320VC5402型DSP的CPU采用寄存器作为专用硬件实现移位功能.
1、答:桶形移位寄存器
2、汇编语句“STL A,@y”中“@y”表示寻址方式.
2、答:直接寻址
3、TMS320C54X具有两个通用I/O口,________用于输入外设的状态;________用于输出外设的控制信号.
3、答:BIO,XF
4、C5X可编程定时器的定时周期=(时钟周期)*(分频系数TDDR+1)*(____ +1).
4、答:PRD
5、指令执行前AC0的值是0012345678,那么汇编语句“AND #0x7f, AC0”,执行之后,AC0的值是 .
5.答:0000000078
6、TI公司DSP处理器的软件开发环境是__________________.
6.答:
7、在链接器命令文件中,PAGE 0通常指________存储空间.
7、答:程序
8、在C54X系列中,按流水线工作方式,分支转移指令的分为哪两种类型:_______;_______.
8、答:无延迟分支转移,延迟分支转移
9、C54x的程序中,“.bss”段主要用于_______________.
9、答:为变量保留存储空间
10、TMS320VC5402型DSP处理器的内核供电电压________伏.
10、答:1.8v 11、DSP技术是利用专用或通用数字信号处理芯片,通过_ _运算的方法对信号进行处理.
11、答:数值运算
12、C54x的程序中,“.text”段是_________段,主要包含_______________.
12.、答:文本段,可执行文本
四、简答题(每小题5分,共15分)
1、当TMS320C55x CPU接收到可屏蔽的硬件中断时,满足哪些条件中断才能被响应?(6分)
答:(1)出现多个中断时,此中断的优先级最高
(2)INTM=0 允许全局中断
(3)IMR中的响应相应位为1,开放此中断.
2、简述流水线操作的基本原理.
解:流水线操作是各指令以机器周期为单位相差一个时钟周期,连续并行工作的情况.其本质是DSP多条总线彼此独立地同时工作,使得同一条指令在不同机器周期内占用不同总线资源.同时,不同指令在同一机器周期内占用不同总线资源.
3、’C55x DSP有哪些重复操作?各有什么优点?
解:有单条指令重复执行和程序块重复执行两种重复操作.
单条指令重复操作功能,可以使乘法/累加和数据块传送那样的多周期指令在执行一次之后变成单周期指令,大大提高了这些指令的执行速度.
利用块重复操作进行循环,是一种零开销循环.
五、阅读题(每小题5分,共10分)
1. 阅读下面的程序:
.mmregs
DA T0 .SET 60H
DA T1 .SET 61H
DA T2 .SET 62H
DA T3 .SET 63H
add3 .macro P1,P2,P3,ADDRP
LD P1,A
ADD P2,A
ADD P3,A
STL A,ADDRP
.endm
ST #0034h,DA T0
ST #0243h,DA T1
ST #1230h,DA T2
ADD3 DA T0,DA T1,DAT2,DA T3
问题:(1)语句“.mmregs”的含义.
(2)语句“ADD3 DA T0,DA T1,DA T2,DAT3”是一条什么类型的语句?作用是什么?
(3)执行此段程序后,存储单元(DAT3)的运行结果多少?
1.(1) 定义存储器映像寄存器的符号名称.
(2)宏调用.执行三个数相加.
(3) 14a7H
2.阅读下面的程序片断,写出运行结果
.mmregs
DAT0 .SET 60H
LD #004h,DP
ST #0345h,DA T0
STM #0002h,T
MPY DA T0,A
NOP
问题:(1)寄存器T的作用是什么?
(2)执行“MPY DA T0,A”后,累加器A的内容是什么?
2.答:1、寄存器T的作用是暂存被乘数,
2、累加器A的内容为0x68A或68Ah
六、程序设计题(每小题10分,共20分)
1、编程实现y=(x+y)*8-w
.title "madd.asm"
.mmregs
STACK .usect "STACK", 10H
.bss x,1
.bss y,1
.bss w,1
.bss z,1
.def _c_int00
.data
table: .word 6,7,9
.text
_c_int00: STM #0, SWWSR ;插入0个等待状态STM #STACK+10H, SP ;设置堆栈指针
STM #x, AR1 ;AR1指向x
RPT #2
MVPD table, *AR1+ ; 从程序存储器传送3个值到数据存储器LD @x,A
ADD @y,A ;A=x+y
LD A,3 ;A=(x+y)*8
SUB @w, A ;A=(x+y)*8-w
STL A, @z
end: B end
2、编程利用循环缓冲区实现FIR低通滤波器.N=7 .
.title “FIR2.ASM”
.mmregs
.def start
.bss y,1
xn .usect “xn”,7
b0 .usect “b0”,7
PA0 .set 0
PA1 .set 1
.data
table: .word 1*32768/10
.word 2*32768/10
.word 3*32768/10
.word 4*32768/10
.word 5*32768/10
.word 6*32768/10
.word 7*32768/10
.text
start: SSBX FRCT
STM #b0,AR1
RPT #6
MVPD table,*AR1+
STM #xn+6,AR2
STM #b0+6,AR3
STM #7,BK
STM #-1,AR0
LD #xn,DP
PORTR PA1,@xn
FIR2: RPTZ A,#6
MAC *AR2+0%,*AR3+0%,A
STH A,@y
PORTW @y,PA0
BD FIR2
PORTR PA1,*AR2+0%
.end