武汉理工大学 DSP原理及应用 04级A卷试卷与答案
武汉理工大学考试试题纸,A卷,
课程名称 DSP原理及应用 专业班级 电信0401,06
题号 一 二 三 四 五 六 七 八 九 十 总分
题分
一、 名词解释(15分,各5分)
1. 改进的哈佛结构
2. 定点DSP
3. 软件中断
二、 简答(45分,各5分)
1. TMS320C54x的数据寻址方式有哪几种,各有什么特点,
2. TMS320C54x定时器包括那几个存储映像寄存器,画出其内部原理图,说明如何设定定时时间, 3. TMS320C54x的片内外设主要包括哪些电路,
4. HPI的作用什么,一般有哪几类接口
5. C54x的串行通信接口分几种,
6. 0.00125用定点如何表示,用浮点又如何表示,
7. 假设累加器A=FF01234567H,分别执行带移位的STH和STL指令后,数据存储单元T的结果如何, STH A, 8,T; 左移8位,AH存入T
STH A,-8,T; 右移8位,AH存入T
STL A, 8,T; 左移8位,AL存入T
STL A,-8,T; 右移8位,AL存入T
8. TMS320C54x芯片内DRAM和SRAM的区别,
9. 循环寻址和位倒序寻址属于什么寻址方式,举例说明分别用在DSP何种计算,写出下面位倒序寻
址的结果,8点FFT变换中时域输入x(4),x(7),对应的频域输出序号,
三、 填图(10分,各1分)
下图是C54x的CPU结构示意图,试填写标号空格处表示CPU的基本组成。
CPU ALU MAC (1) (6)
(7) (2)
(3)
(8) 寻址单元 累加器 (4)
(9) (5)
40位桶形移位器 (10)
(-16,31)
四、论述(20分,各10分) 1.阐述TMS320C54x存储空间的分配。 2.什么是流水线技术,TMS320C54x的流水线操作具体分成哪几个阶段,
五、分析程序(10分)
1. 逐条解释指令,最后说明程序所实现的功能。(5分)
.title ”example(asm"
.mmregs
STACK .usect ”STACK”,10h
.bss a,4
.bss x,4
.bss y,1
.def Start
.data
Table: .word 1,2,3,4
.word 8,6,4,2
.text start:STM #0,SWWSR
STM #STACK+10h,SP
STM #a,AR1
RPT #7
MVPD table,*AR1+
CALL SUM end: B end
SUM: STM #a,AR3
STM #x,AR4
RPTZ A,#3
MAC *AR3+,*AR4+,A
STL A,@y
RET
.end
2. 编写完成Z = W+X-Y的程序。其中Z、W、X、Y都是64位数。 6464646464646464
武汉理工大学教务处
试题
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
答案及评分标准用纸
课程名称 DSP原理及应用 , A 卷, 一、填空(15分,各5分)
1. 具有以下特点:程序空间和数据空间分开,各自有自己的地址总线和数据总线,能够同时取指令(来自程序存储器)和取操作数(来自数据存储器),具有多条总线,即一条程序总线和多条数据总线,并且程序空间和数据空间可以互相传送数据等。
2. 小数点位置固定的数据为定点数,以定点数据格式工作的DSP芯片
3. 由指令(INTR、TRAP或RESET)要求的中断
二、简答(40分,各5分)
1. TMS320C54x DSP提供以下7种基本数据寻址方式。
立即数寻址:操作数在指令中,运行较慢,需要较多的存储空间,用于对寄存器的初始化。
绝对地址寻址:可以寻址任一数据存储器中的操作数,运行较慢,需要较多的存储空间,用于对
寻址速度要求不高的场合。
累加器寻址: 把累加器内容作为地址指向程序存储单元,用于在程序存储器和数据存储之间传送
数据。
直接寻址:指令中包含数据存储器的低7位和DP或SP结合形成16位数据存储器地址,寻址速
度快,用于对寻址速度要求高的场合。
间接寻址:利用辅助寄存器内容作为地址指针访问存储器,可寻址64千字×16位字数据存储空
间中任一单元,用于按固定步长寻址的场合。
存储器映射寄存器寻址:用于中断或子程序调用时,将数据保存或从堆栈弹出。
存储器映像寄存器寻址:是基地址为零的直接寻址,寻址速度快,用于直接用NMR快速访问数据存储
器的0页。
2. TMS320C54x定时器有3个存储器映象寄存器:TIM、PRD和TCR,TIM是定时器寄存器,每计数一次自动减1, PRD是定时器周期寄存器,当TIM减为0后,CPU自动将PRD的值装入TIM,TCR是定时器控制寄存器,包含定时器的控制和状态位,
其内部原理图为:
定时周期,CLKOUT×(TDDR,1)×(PRD+1)。
3. 通用I,O引脚:XF(输出)和BIO(输入),时钟发生器,定时器,主机接口,软件可编程等待状态发生
器,可编程分区开关,串行口。
4. HPI 是一个与主机通信的并行接口,主要用于DSP与其他总线或CPU进行通信。信息可通过C54x
的片内存储器进行数据交换。 可分为8位标准HPI接口、8位增强型HPI接口和16位增强型HPI接口。
5. C54x配备的串口有4种,分别是:单通道同步串口SP;带缓冲器单通道同步串口BSP;并行带缓冲器
多通道同步串口McBSP;时分多通道带缓冲串行口。
,50.42,6. 0.00125定点表示为:0x0028, 浮点表示为:尾数:0x3333,指数 5,即 ,或
,6,40.82,0.22,尾数:0x6666,指数 6,;或 尾数0x1999,指数 5,。
7. STH A, 8,T; T= 2345H ;
STH A,-8,T; T= FF01H;
STL A, 8,T; T=6700H;
STL A,-8,T; T= 2345H ;
8. 双寻址DAM (DRAM)在一个指令周期内,可对其进行两次存取操作,一次读出和一次写入。 单寻址
DAM (SDRAM)在一个指令周期内只能进行一次存取操作。
9. 循环寻址和位倒序寻址都属于间接寻址:
循环寻可用在信号处理中的卷积、相关、FIR滤波运算中。
位倒序可以提高FFT的算法效率
FFT变换中时域输入x(4),x(7)对应的频域输出是X(1),X(7)。
10分) 三、填图(
CPU ALU MAC 40位ALU 17×17乘法器
CSSU运算器 40位专用加法 (Viterbi 加速器) 器 舍入和饱和逻 EXP编码器 辑 寻址单元
程序、数据地址产生器 累加器
8个辅助寄存器 40位ACC A
40位桶形移位器 40位ACC B
(-16,31)
四、论述(20分,各10分)
1. C54x存储空间共192K,分成三个64k可单独选择的空间:程序、数据、I/O空间,不同指令支持访问不同的存储空间;三者没有固定界限,有时可互为映射;在任何一个存储空间,RAM、ROM或存储器映射外围设备都可驻留在片内或片外。CPU可以访问的空间,最大是三者的和。有的芯片程序空间可扩展,如5409:8M,5402:1M等。程序存储空间、数据存储空间的映射见图。
MP/MC控制位用来决定程序存储空间是否使用内部存储器。
OVLY控制位用来决定程序存储空间是否使用内部RAM。
0h 0h OVLY=1保留 OVLY=1保留 0h 存储器映射 OVLY=0外部 OVLY=0外部 5Fh 寄存器 07Fh 07Fh 7Fh 暂存器 OVLY=1片内OVLY=1片内080h 080h 片内 80h DARAM DARAM DARAM OVLY=0外部 OVLY=0外部 3FFFh 3FFFh 16K×16位 3FFFh 4000h 外部 4000h 4000h 外部 EFFFh EFFFh F000h 片内ROM F000h DROM=1 ROM 外部 FEFFh 4K×16位 FEFFh DROM=0 外部 FF00h FF00h FF7Fh 保留 FF7Fh DROM=1 保留 FF80h FF80h 中断矢量 中断矢量 DROM=0 外部 DROM=1 保留 (外部存储器) (片内存储器) DROM=0 外部 FFFFh FFFFh FFFFh (a)微处理器(MP)方式 (b)微型计算机方式
MP//MC=0 MP//MC=1
MP方式不使用片内ROM,片内存储器不需等待,速度快,功耗低,但最大只有64K。OVLY=0,片内RAM
只作数据存储器用;OVLY=1,片内RAM同时映射到程序、数据存储空间,可用访问数据存储器的指令访问程序
存储区。片内ROM的高2K内容是TI确定固化的。
数据存储空间由内部和外部存储器构成,共有64K字,采用内部和外部存储器统一编址。
DROM决定片内ROM是否映射到数据存储空间。
DROM=0,片内ROM不映射到数据空间,反之,部分ROM映射;片内DARAM可以在一个周期两次读,或
者一次读一次写。当CPU发生的数据地址处于内部存储器的范围内时,直接对内部数据存储器寻址;当CPU
发生的数据地址不在内部存储器的范围内时,CPU自动对外部数据存储器寻址。
2. 流水线操作是DSP芯片不同于一般单片机的主要硬件工作机制,流水线操作可以减少指令执行时间,提高DSP的运行速度,增强DSP的处理能力。
流水线操作是指各条指令以机器周期为单位,相差一个时间周期而连续并行工作的情况。其工作原理是:将指令分成几个子操作,每个子操作由不同的操作阶段完成,这样每隔一个机器周期,每个操作阶段就可以进入一条新指令,因此在同一机器周期内,在不同的操作阶段以处理多条指令,相当于并行执行了多条指令。
在C54x的流水线中,一条指令分为预取指、取指、译码、寻址、读数和执行6个操作阶段。
预取指:CPU将PC中的内容 加载到程序地址总线PAB,找到指令代码的存储单元。
取指:CPU从选取的程序存储单元中,取出指令代码加载到程序总线PB。
译码:CPU将PB中的指令代码加载到指令译码器IR,并对IR中的内容进行译码,产生执行指令所需要的一系列控制信号。
寻址:CPU将数据的读地址或 将两个读地址分别加载到数据总线DAB和CAB中,并对辅助寄存器或堆栈进行修正。
读数:CPU将读出的数据分别加载到数据总线 DB和CB中,若是执行并行操作指令,在完成上述操作的过程中,同时将数据的写地址加载到数据地址总线EAB中。
执行:CPU按照操作码要求执行指令,并将数据加载到EB中,写入指定的存储单元。
五、分析程序(10分)
1. (5分)
.title ”example(asm";伪指令,说明程序名
.mmregs ;伪指令,映射寄存器名可用 STACK .usect ”STACK”,10h ;伪指令,预留堆栈区
.bss a,4 ;伪指令,预留变量区
.bss x,4
.bss y,1
.def Start ;伪指令,定义参数,本程序定义,其他程序可用
.data ;伪指令,定义数据段 Table:.word 1,2,3,4 ;伪指令,定义字数据流
.word 8,6,4,2
.text ;伪指令,可执行代码 start:STM #0,SWWSR ;不插入等待周期
STM #STACK+10h,SP ;定义堆栈指针
STM #a,AR1 ;AR1指向a,定义数据a的指针
RPT #7 ;重复传送8个数
MVPD table,*AR1+ ;从程序区向数据区传送数据
CALL SUM ;调用子程序
end: B end ;原地跳转
SUM: STM #a,AR3 ;多重乘积累加子程
STM #x,AR4 ;定义x指针
RPTZ A,#3 ;将A清0且重复下面一条指令4次
MAC *AR3+,*AR4+,A ;将a与x乘积累加
STL A,@y ;存储结果y
RET ;子程序返回
.end ;伪指令,表示程序结束 功能:4对数据的乘积累加y=a1x1+a2x2+a3x3+a4x4(2分) 2. DLD @w1,A
DADD @x1,A
DLD @w3,B
ADDC @x2,B
ADD @x3,16,B
DSUB @y1,A
DST A,@z1
SUBB @y2,B
SUB @y3,16,B
DST B,@z3