DSP期末试题与答案.docx
《DSP期末试题与答案.docx》由会员分享,可在线阅读,更多相关《DSP期末试题与答案.docx(18页珍藏版)》请在冰豆网上搜索。
DSP期末试题与答案
一、填空题:
1、DSP芯片得结构特点主要有改进得哈佛结构、低功耗设计、高度并行性、
多处理单元、特殊得DSP指令等。
2. C54xDSP具有两个40位累加器。
累加器A得AG或32-39位就是保护位。
3.软件中断都就是由INTRK、TRAPK与RESET产生。
4.TMS320C54X片内有8条16位主总线,它们就是1条程序总线、3条数据总线、
4条地址总线。
5.MEMROY得作用就是用于描述系统实际得硬件资源,用来定义用户设计得系统中所包含得各种形式得存储器,以及它们占据得地址范围,SECTIONS得作用就是用于描述输入段怎样被组合到输出段内,在可执行程序内定义输出段,规定存储器内何处存放置输出段,允许重命名输出段。
6、执行复位操作后,下列寄存器得初始值分别为:
ASM=0、DP=0。
7. TMS320C54x有三种类型得串行口:
标准同步串行口(SPI)、缓冲串行口(BSP)、与时分多路复用串行接口(TDM)。
8.桶形移位器能把输入得数据进行0-31位得左移与0-15位得右移。
9.即寻址方式中得立即数有两种数值形式,数值得位数为3、5、8、9位时为短立即数;数值得位数为16位时就是长立即数。
10.DSP片内寄存器在C语言中一般采用指针方式来访问,常常采用得方法就是将DSP寄存器地址得列表定义在头文件中(reg、h)。
11、所有TMS320C54X芯片内部都包含程序存储器与数据存储器。
12.直接寻址就就是在指令中包含有数据存储器地址得低7位用作偏移地址,并与基地地址组成16位得数据存储器地址。
13.定时器主要由3个寄存器所组成,包括定时寄存器TIM、定时周期寄存器PRD、定时控制寄存器TCR。
14.链接器对段得处理主要通过MEMORY与SECTIONS两个命令完成。
15.OVLY=0,则片内RAM只安排到数据存储空间。
DROM=1,则部分片内ROM安排到数据空间。
16.C54X得工作方式状态寄存器PMST提供了三个控制位,包括MP/非MC、OVLY、DROM。
17、DSP芯片得结构特点主要有改进得哈佛结构、流水线操作、专用得硬件乘法器、快速得指令周期、特殊得DSP指令等。
18.ST1得CPL=1表示选用堆栈指针(SP)得直接寻址方式。
19.TMS320C54X有3个16位寄存器作为状态与控制寄存器,它们就是状态寄存器ST0、状态寄存器ST1、处理器工作方式状态寄存器PMST。
20.ST1得C16=0表示ALU工作在双精度算术运算方式。
21.时钟发生器包括一个内部振荡器与一个锁相环(PLL)电路。
22、所有得COFF文件都包含三种形式得段,分别就是、text文本段、、data数据段、与、bss保留空间段。
23.状态寄存器ST1中CPL=0表示使用DP,CPL=1表示选择得就是使用SP。
24.累加器寻址得两条指令分别就是READASmem、WRITASmem。
二、简答题
1.简述TMS320C54x得7种基本得数据寻址方式。
答:
1、立即寻址2、绝对寻址3、直接寻址4、间接寻址5、累加器寻址6、存储器映射寄存器寻址7、堆栈寻址
2.段得作用就是什么?
COFF目标文件包含哪些段?
答:
所谓段,就是指连续地占有存储空间得一个代码段或数据段,就是COFF文件中最重要得概念。
一个目标文件中得每一段都就是分开得与各不相同得。
COFF目标文件文件包含:
(1)text段:
可执行代码段
(2)data段:
已初始化数据段(3)bss段:
未初始化数据得保留空间段
3.简述线性缓冲区法实现FIR滤波器延时一个采样周期运算Z-1。
4.什么就是COFF与段?
COFF目标文件包含哪些段?
答:
所谓段,就是指连续地占有存储空间得一个代码段或数据段,就是COFF文件中最重要得概念。
一个目标文件中得每一段都就是分开得与各不相同得。
、text文本段、data数据段、bss保留空间段
5.简述McBSP接口得特点。
答:
(1)全双工通信;
(2)拥有两级缓冲发送与三级缓冲接收数据寄存器,允许连续数据流传输;(3)为数据发送与接收提供独立得帧同步脉冲与时钟信号;(4)能够与工业标准得解码器、模拟接口芯片(AICs)与其她串行A/D与D/A设备直接连接;5)支持外部移位时钟或内部频率可编程移位时钟。
6)128个通道用于接收传送。
(7)支持A-bis(8)接口直接连接工业标准得多媒体数字信号编解码器,A/D、D/A与模拟芯片。
6.HPI8接口有几个寄存器?
她们得作用就是什么?
答:
(1)HPI存储器:
用于TMS320C54X与主机间传送数据。
地址从1000H到17FFH,空间容量为2K字
(2)HPI地址寄存器:
由主机对其直接访问,存放当前寻址HPI存储单元得地址
(3)HPI数据锁存器:
由主机对其直接访问,存放当前进行读/写得数据
(4)HPI控制寄存器:
TMS320C54X与主机都能对其直接访问,用于主处理与DSP相互握手,实现相互中断请求
(5)HPI控制逻辑:
用于处理HPI与主机之间得接口信号
7.一个典型得DSP系统通常由哪些部分组成?
画出原理框图。
答:
DSP芯片及DSP基本系统、程序与数据存储器、数/模与模/数转换器、模拟控制与处理电路、各种控制口与通信口、电源处理电路与同步电路等。
8.简述C54X芯片得主要特点。
答:
(1)CPU利用其专用得硬件逻辑与高度并行性提高芯片得处理性能。
(2)存储器具有192K字可寻址存储空间(包括64K字程序存储空间、64K字数据存储空间、64K字I/O空间)
(3)高度专业化得指令集能够快速地实现算法并用于高级语言编程优化
(4)片内外设与专用电路采用模块化得结构设计,可以快速地推出新得系列产品
(5)TMS320C54X执行单周期定点指令时间为25/20/15/12、5/10ns,每秒指令数为40/66/100MIPS。
(6)TMS320C54XD电源由IDLE1、IDLE2、IDLE3功耗下降指令控制功能,以便DSP工作在节电模式下,使之更适合于手机。
(7)在片仿真接口,片上得JTAG接口符合IEEE149、1边界扫描逻辑接口标准,可与主机连接,用于芯片得仿真与测试。
9.定时器由哪些寄存器组成,她们就是如何工作得?
答:
定时器主要由3个寄存器所组成,包括定时寄存器TIM、定时周期寄存器PRD、定时控制寄存器TCR。
定时寄存器TIM就是一个减1计数器,提供定时器目前得计数值;周期定时器PRD用来存取定时时间常数;定时控制寄存器TCR中包含定时器得控制位与状态位,可以使能与屏蔽定时器,决定定时器得工作模式,用来控制定时器得操作。
二、指令解释
1、MAC*AR3+,*AR4+,A,B
;B=A-*AR3+*AR4
;AR3=AR3+1
;AR4=AR4+1
2、SUB#12345,8,A,B
;B=A-12345<<8
3、ADD*AR2+,*AR2-,A
;A=*(AR2)+*(AR2+1)
4、RPT#99
NOP
;重复NOP100次
5、MVDD*AR3+,*AR5+
;数据存储器内部传送数据AR3→AR5,且指令结束后AR3与AR5加1
6、ABDST*AR3+,*AR4+
;B=(*AR3-*AR4)<<16
7、CALAA
;按累加器规定得地址调用子程序
8、STT,*AR7-*AR7=T,AR7=AR7-1
9、DSTB,*AR1+AR1=B,AR1=AR1+1
10、STA,*AR4+
||LD*AR4-,AAR4=A,AR4=AR4+1||A=AR4,AR4-1
11、LD#0032H,4,A
;立即数0032H先左移4位后,再加载累加器A
12、STM#1000H,*AR2
;立即数1000H存储到AR2指向得地址单元
13、MAC#345,A,B
;立即数345与T寄存器内值相乘后与累加器A相加,结果加载累加器B
14、MVDD*AR3-,100H
;AR3指向得地址单元得值传送给地址100H,AR3中地址减一
15、LDM*AR1,A
;AR1指向得地址单元得值加载到累加器A
16、LD#80H,A把立即数80H装入累加器
17、WRITASMEM把Smem所指定得数据存储单元中得一个数传送到累加器A所指定得成序存储单元
18、PORTRFIFO,*AR5把一个数从端口为FIFO得I/O口复制到AR5寄存器所指向得数据存储单元中
19、LDMMMR,A
;将MMR装入累加器A中
20、MVKDSAMPLE,*AR5
21、ADD*AR3+,14,A
;将AR3左移14加上A→A
AR3=AR3+1
22、MPYATEMP2
;B<=A、Temp2、T=Temp2
23、STA,*AR4+
||LD*AR4-,A
24、DSTB,*AR1-
;B存到长字单元AR1中,且AR减1
25、MACD*AR2-,COEFFS,A
26、STLA,quot
;将累加器A得低16位字存放在quot得存储单元中
27、ADD#4568H,8,A,B
;将4568H左移8位与A相加,赋给B
28、LDMAR1,A
;存储器映像寄存器寻址方式,将映像寄存器加载累加器AR1→A得低位,其余位置为0
29、MVDD*AR3+,*AR5+
;数据存储器内部传送数据AR3→AR5,且指令结束后AR3与AR5加1
30、MPYATEMP2
;B<=A、Temp2、T=Temp2
四、编程
1.用汇编语言编制计算
得程序。
、globalstart
、mmregs
、data
Table:
、word1,1,1,1,1,1
、text
start:
STM#Table,AR1
LD#0,A
RPT#5
ADDC*AR1+,A
end:
bend
2.编一程序,首先实现对DATA开始得5个单元赋初值0,1,2,3,4,5,然后再对每个单元内容加1。
;chushihuax[5]={0,1,2,3,4}binduimeigedanyuanjia1
、title"lian、asm"
、mmregs
、bssx,5
stack、usect"stack",10h
、data
table:
、word0,1,2,3,4
、defstart
、text
start:
STM#x,AR1
RPT#4
MVPDtable,*AR1+
LD#1,16,B
STM#4,BRC
STM#x,AR4
RPTB#next-1
ADD*AR4,16,B,A
STHA,*AR4+
next:
LD#0,B
end:
Bend
、end
3.试编一程序,计算y=
其中数据均为小数。
并找出5项乘积
(i=1,2,3,4,5)中得最小值,放入z单元中。
4.编一程序,首先实现对DATA开始得4个单元赋初值0,1,2,3,4,然后再对每个单元内容加1。
5.编写一段程序,将程序存储器中得10个数据首先传送到数据存储器中(以DATA1开始),再将DATA1开始得10个单元内容传送到DATA2开始得数据储存期中。
、globalstart
、mmregs
、data
Table:
、word2,1,2,3,4,5,6,7,8,2
、bssDATA1,10
、bssDATA2,10
、text
start:
STM#DATA1,AR1
RPT#9
MVPDTable,*AR1+
STM#DATA2,AR0
RPT#9
MVPDDATA1,*AR0+
end:
bend
6将数组x[5]初始化为{1,2,3,4,5}。
、globalstart
、mmregs
、data
Table:
、word1,2,3,4,5
、bssx,5
、text
start:
STM#x,AR1
RPT#4
MVPDTable,*AR1+
end:
bend
五、阅读程序
1、阅读下列汇编源程序,在每条语句后写出注释,并叙述程序得功能。
、title"F2、ASM";为汇编源程序取名
、mmregs;定义存储器映像文件
、defstart;定义启动模式
、bssy,1;为y分配1个存储空间
X、usect"x",7;为x预留7个存储空间
b0、usect"b0",7;为b0预留7个存储空间
PA0、set0;PA0=0
PA1、set1;PA1=1
、data
COEF:
、word1*32768/10;0、1
、word2*32768/10;0、2
、word-4*32768/10;-0、4
、word3*32768/10;0、3
、word-4*32768/10;-0、4
、word2*32768/10;0、2
、word1*32768/100、1
、text
start:
SSBXFRCTFRCT位置1,表示进行小数乘
STM#b0,AR1;b0得首地址传给AR1
RPT#6;重复7次下条指令
MVPDtable,*AR1+;将程序空间得7个数据传送给数据存储器
STM#xn+6,AR2; AR2指向x(n-6),AR2=86H
STM#b0+6,AR3;AR3指向b6单元,AR3=8EH
STM#7,BK;BK=7,设置缓冲区长度
LD#xn,DP;设置页指针,DP=01H
PORTRPA1,xn;输入x(n)
FIR2:
RPTZA,#6;累加器A清零,设置迭代次数
MAC*AR2+0%,*AR3+0%,A;A=circ(AR2+AR0)+circ(AR3+AR0)
STHA,y;暂存y(n)
PORTWy,PA0;输出y(n)
BDFIR2;执行完下一条后,跳到FIR2处
PORTRPA1,*AR2+0%;输入最新样本,并修改AR2
、end
功能:
N=7得滤波器,y(n)=b0x(n) +b1x(n-1) +b2x(n-2)+ b3x(n-3)+b4 x(n-4)+ b5x(n-5)+ b6x(n-6)
2.阅读下列汇编源程序,在每条语句后写出注释,并叙述程序得功能
、title“cjy4、asm”
、mmregs
STACK、usect“STACK”,10H
、bssa,4;为a分配4个存储单元
、bssx,4;为x分配4个存储单元
、bssy,1;为结果y分配1个存储单元
、defstart
、data;定义数据代码段
table:
、word1*32768/10;在table开始得8个
、word2*32768/10;地址放数据
、word-3*32768/10
、word4*32768/10
、word8*32768/10
、word6*32768/10
、word-4*32768/10
、word-2*32768/10
、text;定义可执行程序代码段
start:
SSBXFRCT;设置FRCT位,表示进行小数乘
STM#x,AR1;将x得首地址传给AR1
RPT#7;重复8次下条指令
MVPDtable,*AR1+;将程序空间8个数传给数据存储器
STM#x,AR2;将数据存储器第一个数x1得地址传给AR2
STM#a,AR3;将数据存储器第五个数a1得地址传给AR3
RPTZA,#3;将A清零,重复4次下条指令
MAC*AR2+,*AR3+,A;执行乘法累加与,结果放在A中
STHA,y;将A得高端字存入结果y,低端字省去
end:
Bend;原处循环等待
、end
计算y=
得程序段,其中数据均为小数:
a1=0、1,a2=0、2,a3=-0、3,a4=0、4,x1=0、8,x2=0、6,x3=-0、4,x4=-0、2
一、填空(每空1分,共30分)
1.TI公司得定点DSP产品主要有TMS320C2000系列、TMS320C5000系列与TMS320C6000系列。
2.’C54xDSP中传送执行指令所需得地址需要用到PAB、CAB、DAB与EAB4条地址总线。
3.DSP得内部存储器类型可分为随机存取存储器(RAM)与只读存储器(ROM)。
其中RAM又可以分为两种类型:
单寻址RAM(SARAM)与双寻址RAM(DARAM)。
4.’C54xDSP得内部总存储空间为192K字,分成3个可选择得存储空间:
64K字得程序存储空间、64K字得数据存储空间与64K字得I/O空间。
5.从功能结构上,’C54XDSP得CPU可以划分成运算部件与控制部件两大部分。
6.’C54xDSP得寻址方式有七种,分别为立即寻址、绝对寻址、累加器寻址、直接寻址、间接寻址、存储器映象寄存器寻址、堆栈寻址。
7.在’C54xDSP寻址与指令系统中,Xmem与Ymem表示16位双寻址操作数,Dmad为16位立即数,表示数据存储器地址,Pmad为16位立即数,表示程序存储器地址。
8.程序计数器得值可以通过复位操作、顺序执行指令、分支转移,累加器转移,块重复,子程序调用,从累加器调用子程序,中断等操作改变。
9.’C54xDSP芯片采用了6级流水线得工作方式,即一条指令分为预取指、取指、译码、寻址、读数与执行6个阶段。
10.解决MMR写操作得流水线冲突时,一般可用采用推荐指令与插入空操作指令得方法。
11.’C54xDSP定时器由3个16位存储器映射寄存器组成:
定时器寄存器(TIM)、定时器周期寄存器(PRD)与定时器控制寄存器(TCR)。
12.主机接口(HPI,HostPortInterface)就是TMS320C54x系列定点芯片内部具有得一种接口部件,主要用于DSP与其她总线或CPU进行通信。
13.’C54xDSP得指令系统有助记符指令与代数指令两种形式。
14.COFF目标文件中、text段通常包含可执行代码,、data段通常包含己初始化得数据,、bss段中通常为未初始化得数据保留空间。
15.DSP芯片得开发工具可以分为代码生成工具与代码调试工具两类。
二、简答题(每题5分,共20分)
1、什么就是定点DSP芯片与浮点DSP芯片?
各有什么优缺点?
解:
按数据得定点格式工作得DSP芯片称为定点DSP;
按数据得浮点格式工作得DSP芯片称为浮点DSP;
定点DSP得价格便宜,功耗低,但运算精度低;
浮点DSP得价格较高,C语言编程调试方便,运算精度高。
2、简述流水线操作得基本原理。
解:
流水线操作就是各指令以机器周期为单位相差一个时钟周期,连续并行工作得情况。
其本质就是DSP多条总线彼此独立地同时工作,使得同一条指令在不同机器周期内占用不同总线资源。
同时,不同指令在同一机器周期内占用不同总线资源。
3、’C54xDSP有哪些重复操作?
各有什么优点?
解:
有单条指令重复执行与程序块重复执行两种重复操作。
单条指令重复操作功能,可以使乘法/累加与数据块传送那样得多周期指令在执行一次之后变成单周期指令,大大提高了这些指令得执行速度。
利用块重复操作进行循环,就是一种零开销循环。
4、软件可编程等待状态发生器得功能就是什么?
解:
软件可编程等待状态产生器可以将外部总线周期扩展到7个机器周期(C549、C5402、C5410与C5420为14个机器周期),这样’C54xDSP可以方便地与慢速得片内存储器与I/O器件接口。
三、问答题(10分)
1、’C54xDSP得串行口有哪些类型?
各有什么特点?
解:
有标准同步串口SP、缓冲同步串口BSP、多路缓冲串口McBSP、时分多路同步串口TMD四种。
缓冲串口(BSP)就是一个增强型得标准串口,它由一个全双工双缓冲串口与一个自动缓冲单元(ABU)组成。
由于其中得串行口与标准串口得功能相同,因此在标准模式下,缓冲串口得操作与标准串口得工作方式就是一样得。
不过无论就是标准模式还就是自动缓冲模式,BSP都提供了一些增强功能。
主要包括了可编程控制得串口时钟、可选择时钟与帧同步信号得正负极性,能够以每帧8位、10位、12位与16位传输数据。
通过配置BSP得控制寄存器,BSP还能实现忽略帧同步信号得数据传输。
时分复用串行口TDM采用时分复用技术,将多个外部器件复用与’C54x进行串行通信,每一个时隙对应于其中得1路通信。
TDM可以与外部得多个应用接口实现方便灵活得数据交换。
’C54x最多可以与8个外部器件接口通信。
多通道缓冲串口(McBSP)就是在缓冲串口得基础上发展起来得增强版。
McBSP具有高速、全双工、可与各种总线标准得器件直接接口等特点,它为DSP使用者在不同方面得应用提供了方便,尤其适合在通信领域得应用。
四、阅读指令并填空(每题5分,共25分)
1.BANZ2000h,*AR3-
2.CMPRGT,AR3
3.ADD*AR3+,14,A
4.SUBA,-8,B
5.MPY*AR3+,A
五、程序题(15分)
写出计算
得主要汇编程序,并给程序添加注释,画出程序得流程图。
解:
程序及注释:
、bssx,20;给变量x分配20个字单元
、bssy,1;给变量y分配1个字单元
STM#x,AR1;取x地址
STM#19,AR2;设置循环次数
LD#0,A;累加器清零
loop:
ADD*AR1+,A;累加x分量
BANZloop,*AR2-;循环就是否结束,没有结束则继续累加
STLA,y;把结果存入y
流程图: