DSP测试试题-(A卷)

DSP测试试题-(A卷)
DSP测试试题-(A卷)

DSP H题-(A 卷)

作者: 日期:

1. C54x系列DSP芯片由于其内部CPU采用了( B ),因此具有比传统处理器更快的指令执行速度。

(A)冯.诺依曼结构和流水线操作(B)哈佛结构、流水线技术和多总线结构

(C)并行操作和多总线结构(D) 高时钟频率

2. OVM是状态寄存器ST1中的溢出方式控制位,当0VM=1时,则对ALU的运行结果进行调整,若数据发生正向溢出时,则ALU将采用下列( C )方式进行处理。

(A )将32位最小负数FF80000000装入累加器

(B)由低32位向高8位进位

(C)将32位最大正数007FFFFFFF装入累加器

(D)保持不变

3. 当C54X执行一个双数据读操作指令时,将会使用到下列的哪一组总线( D )

(A) PB、CB、PAB、CAB (B) DB、EB、DAB、EAB

(C) CB、EB、CAB、EAB (D) CB、DB、CAB、DAB

4. 40位累加器A中的定点数为FF FFFF FFCBH,T=0000H,执行EXP A指令后,则T寄存器的值变为( A )

(A) 0019H (B) FFFFH

(C) 0025H (D)保持不变

5. 在C54X系列的DSP汇编语言程序中,定义一个小数如0.907,应当写成:(B )

(A) 0. 907 (B) 32768*0.907

(C) 907/1000 (D) 32768*907/1000

6. 程序空间的配置可通过PMST的MP/MC和OVLY控制位来设置,对C5402如要将其0000H~3FFFH空间定义为内部DARAM,

可按如下哪一种方式配置( A )。

(A) OVLY=1 (B) MP/MC=1

(C) OVLY=0 (D) MP/MC=0

7. 直接寻址指令中的低7位是一个数据页的偏移地址dmad,而所在的数据页由数据页指针DP或SP的值决定。如果用DP方式产生直接地址,并取DP=2和dmad=10H则该直接地址为:(A )

(A) 0110H (B) 0210H

(C) 0012H (D) 0201H

8. 有一条DSP汇编指令,其语法格式为:MAC Smen , src ,该指令所完成的操作对应的表达式为:( D )

(A) src=src+Sme n*src (B) src=src+T*src

(C) src=T+src*Smen (D) src=src+T*Smen

9. 当某个可屏蔽中断被DSP 响应后,中断系统将自动完成(

D )操作。

二、简答题(每小题6分,共12分)

1. 循环循址是实现循环缓冲区的关键,简要说明循环缓冲区中循环循址算法的基本工作原理。 循环缓冲区的有效基地址(EFB )就是用户选定的辅助寄存器(ARx )的低N 位置0后所

刚的值。循环缓冲区的尾基地址(EOB )是通过用BK 的低N 位代替ARx 的低N 位得到。循环缓冲区的index 就是ARx 的低N 位, 步长(step )就是加到辅助寄存器或从辅助寄存器中减去的值。

(3分)

循环寻址算法为: 0< in dex+step BK

( 3 分)

In dex= in dex+step — BK Else in dex+step<0; In dex= in dex+step+BK

2. 试分析小数乘法产生冗余符号位的原因,并说明如何解决冗余符号位问题。

出错原因:两带符号数相乘,其结果带有

2个符号位

S x x x (Q3 格式)

x S y y y (Q3 格式)

S S z z z z z z (Q6

格式)

解决办法:运算结果左移一位,消去多余符号位。可通过对 FRCT 位置1,乘法器自动将乘积结果左移一位。

三、分析题(每小题6分,共12分)阅读下列程序,写出程序的总体功能和运行结果。假定 x1、x2、x3、x4、y 、a 、x 、y 等变量

单元已按顺序定义。

1、STACK .usect “ STACK ,10H

2 、 STACK .usect “ STACK ,10H

Table: .word 3,5,4,5

.data

(A ) 清除IMR 中的相应位,

INTM 置 1

(B) 清除IFR 中的相应位, INTM 置 0

(C) 清除IMR 中的相应位, INTM 置 0

(D)

清除IFR 中的相应位, INTM 置 1

10. C54X 系列芯片中,在同一个周期内, CPU 可以同时进行读和写操作的存储器是:

(B )

(A ) SARAM

(B ) 片内ROM

(D )存储器映射寄存器MMR

(C ) DARAM

(3 分)

9. 当某个可屏蔽中断被DSP响应后,中断系统将自动完成( D )操作。

.text table: .word a1,a2,a3,a4

start: STM #0,SWWSR

STM #STACK+10H,SP

STM #x1,AR1

RPT #3

MVPD table,*AR1 +

.word x1,x2,x3,x4

.text

start: STM #0,SWWSR STM #STACK+10H,SP

STM #a,AR1

四、应用题(本大题共14分)假设目标存储器的配置为,程序空间:

EPROM E000H FFFFH (片外),数据空间:SPRAM 0060IH

007FH (片内),DARAM080H ?017FH (片内),试编写连接器命令文件,将 example.obj 和 vectors.obj 中的.text 、.data 、.bss 、 STAC K .vectors 段映射到对应的存储器空间。

ectors.obj example.obj -o example.out (4 分)

-m example.map -e start MEMORY {

PAGE0:

EPROM: org=0E000h, le n=100h VECS: org=0FF80h, le n=04h

PAGE1:

SPRAM: org=0060h, le n=20h DARAM: org=0080h, le n=100h

}

(5 分)

SECTIONS {

.text :>EPROM PAGE0 .data :>EPROM PAGE0 .bss :>SPROM PAGE1 STACK:>DARAM PAGE1 .vectors :>VECS PAGE0

}

(5 分)

五、编程题(本大题共14分)试编写|被除数| >|除数|,且商为整数的除法运算程序,完成

12384-512的运算。程序

CALL MODE End: B end MODE: LD @x1,T

MPY @x3,B LD @x2,T MAC @x4,B STL B,@y STH B,@y+1

RET .end

RPT #7

MVPD table,*AR1 +

CALL MODE

End: B end MODE: STM #a,AR1

STM #x,AR2 STM #2,AR3 LD *AR1+,T

MPY *AR2+,A loop: LD *AR1+,T MPY *AR2+,B MAX A

BANZ loop,*AR3- STL A,@y RET .end

1、y=x1*x3+x2*x4 2 、求ai*xi (i=1,2,3,4) 中的最大值

内容包括符号的处理。

.bss num, 1

.bss den, 1 .bss quot, 1 .data

table:

.word 12384 .word 512 (4 分)

.text

start : STM #num, AR1

RPT #1

MVPD table , *AR1 + LD @den, 16, A MPYA @num (5 分) ABS A STH A, @den LD @num, A ABS A RPT #15 SUBC @den, A ( 5 分) XC 1, BLT NEG A STL A, @quot

End:

B end

,试根据上述滤波器系数,编写一个 DSP 程序实现该滤波器。要求用循环

缓冲区法实现。 f=[ 0.35, 0.4]; b=fir1(29,f); .mmregs .def start .bss y,1 ( 3 分)

xn .usect “ xn ” ,1 a

.usect

“a ” ,1

PA0 .set 0 PA1 .set 1

.data table: .word a0,a1, …,a29

(3 分)

.text

start: SSBX FRCT STM # b0, AR1 RPT #29

六、设计题(本大题共14分)有一个阶数为

N=8的FIR 滤波器,其单位冲击响应序列 h(n)如下:h(0)=0.1, h(1)=0.2, h(2)=0.3,

h(3)=0.4, h(4)=0.4, h(5)=0.3, h(6)=0.2, h(7)=0.1

相关主题
相关文档
最新文档