《DSP原理及应用》试卷习题答案.doc
[DOC]-DSP原理及应用试卷答案
![[DOC]-DSP原理及应用试卷答案](https://img.taocdn.com/s3/m/a1342241a8114431b90dd891.png)
[DOC]-DSP原理及应用试卷答案DSP原理及应用试卷答案通信系《DSP原理及应用》期末考试题(答案)一、填空题(每空2分,共20分)1、在C语言和C55x汇编语言的混合程序设计中,C函数的参数和返回值传递到C55x的寄存器中。
在函数“long func(int *p1, int i2, int i3, inti4)”中,*p1传递到 AR0 寄存器,i2传递到 T0 寄存器,i4传递到 AR1 寄存器,返回值由 AC0 寄存器传递。
2、汇编语言“mov *AR0,AC0”使用的寻址方式是间接寻址模式,“mov#0x3,DPH”使用的寻址方式是直接寻址模式,“mov *(#0x011234),T2”使寻址方式是绝对寻址模式。
用的3、指令执行前AC0的值是0012345678,那么汇编语句“AND #0x7f,AC0”,执行之后,AC0的值是 0000000078 。
4、C55x 的链接器命令文件中,SECTIONS命令的主要作用是告诉链接器如何将输入段组合成输出段,以及在存储器何处存放输出。
MEMORY命令的主要作用是定义目标系统的存储器配置图,包括对存储器各部分的命名,以及规定它们的起始地址和长度。
二、简述题(共40分)1、根据你的理解,试列举 DSP 芯片的特点,(5分)答:哈佛结构;多总线结构;指令系统的流水线操作;专用的硬件乘法器;特殊的DSP指令;快速的指令周期;丰富的外设2、TMS320C55x 芯片的总线结构有何特点,主要包括哪些总线,它们的功能是什么,(6分)答:TMS320C55x DSP采用先进的哈佛结构并具有十二组总线,其独立的程序总线和数据总线允许同时读取指令和操作数,实现高度的并行操作。
采用各自分开的数据总线分别用于读数据和写数据,允许CPU在同一个机器周期内进行两次读操作数和一次写操作数。
独立的程序总线和数据总线允许CPU同时访问程序指令和数据。
包括12条总线,分别是:PAB和PB、BAB和BB、CAB和CB、DAB和DB、EAB和EB、FAB和FB。
(完整word版)DSP原理与应用练习题+参考答案-通信-广工

《DSP 原理与应用》练习题参考答案24学时版本 用于通信方向注意:红色字体文字为解题注解与说明,万万不可作为答题内容1. Q.15表示是16位数据中第15位为符号位,第14~0位为小数位。
试写出下面问题的答案: ⑴ 分别写出十进制正数 0.68和十进制负数-0.245的Q.15表示。
0.68*32768=570AH-0.245*32768=-1F5CH=E0A4H⑵ 分别写出Q.15表示的A200H 和5A00H 的十进制数值。
A200H/32768=-5E00H/32768=- 0.734375 5A00H/32768=0.703125上面两小题使用教材 P7两条公式,公式中 Q 为数据中的小数位数,digits<->data 。
取补码的正规方法 是按位取反得到的反码加上1。
16进制下快速算法是找出互补的数,即加上该互补数得10000H 。
例如求 1F5CH 补码,1F5CH+E0A4H=10000H 。
故 E0A4H 为所求。
⑶ 已知两个Q.15数相乘的乘积存放于累加器A 中。
FRCT=O 时A 为16进制OxFFEAOOOOOO ,该乘积的十进制数是多少? FRCT=1时A 为16进制0X007D000000,该乘积的十进制数又是多少? FRCT=0时累加器A 低30位为小数位 乘积既非Q.31,也非Q.30解法一, 写出小数点后二进制位数值 ,乘积为-16000000H ,小数点后的二进制为01011B ,得2-2+2-4+2-5=-11/25=-0.34375解法二,运用教材 P7 公式,EA000000/2 30=-16000000//2 30=-11/25=-0.34375 FRCT=1时累加器A 低31位为小数位 乘积为Q.31,其中高16位为Q.15解法一,写出小数点后二进制位数值,乘积7D000000H 小数点后的二进制为1111101B ,得 2-1+2-2+2-3+2-4+2-5+2-7=125/27= 0.9765625解法二,运用教材 P7 公式,7D000000H/2 31=125/27= 0.9765625解法三,取乘积 Q.15形式,乘积 Q.15形式为7D00H=32000/32768=0.97656251000H 存放 27246,1001H 存放 12540,结果存放 1002H SSBX FRCTMPY *(1000H), #192, A MPYA *(1001H) STH B, *(1002H)以上有符号数乘法中小数点位置:2.解决图像编码中常见的8x8离散余弦变换在 VC5402 DSP 上定点运算问题。
DSP原理及应用考试卷习题答案

3、若链接器命令文件的MEMORY部分以下所示:MEMORY{PAGE0:length=1000hPROG:origin=C00h,PAGE1:DATA:origlength=200hin=80h,}则下面说法不正确的选项是(A)A、程序储藏器配置为4K字大小B、程序储藏器配置为8K字大小C、数据储藏器配置为512字大小D、数据储藏器取名为 DATA)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命令定义的段是未初始化的段。
、在采用双操作数的间接寻址方式时,要使用到一些辅助存放器,在此种寻址方式下,下面的那些辅助存放器若是使用到了是非法的(D)A、AR2B、AR4C、AR5D、AR6、假设AR3的当前值为200h,当使用以下TMS320C54XX寻址模式后此中的值为多少假设AR0的值为20h。
(1)*AR3+0(2)*AR3-0(3)*AR3+(4)*AR3.在直接寻址中,指令代码包括了数据储藏器地址的低7位。
当ST1中直接寻址编写方式位C PL =时,与DP相结合形成16位数据储藏器地址;当ST1中直接寻址编写方式位C PL =1时,加上SP基地址形成数据储藏器地址。
.TMS320C54有两个通用引脚,BIO和XF,BIO输入引脚可用于监察外面接口器件的状态;XF输出引脚可以用于与外面接口器件的握手信号。
4.累加器又叫做目的存放器,它的作用是存放从ALU或乘法器/加法器单元输出的数据。
DSP原理与应用试卷_附答案卷A.doc

课程名称(含档次)DSP原理及应用课程代号专业电子信息工程考试方式(开、闭卷)闭卷一、选择题(本题总分24 分,每题 2 分)1、下列 TI 公司的 DSP芯片,那种属于浮点型A、 TMS320C54xB、 TMS320C55x DSP(C、TMS320C62x)D、 TMS320C67x2、TMS320VC5402DSP有(A、1B、2)组数据总线。
C、3D、43、TMS320VC5402 型 DSP处理器的内核供电电压(A、5VB、C、D、4、TMS320C54x 系列 DSP处理器有()个通用A、2B、4C、8D、16 I/O)伏。
引脚。
5、TMS320C5402DSP直接寻址中从页指针的位置可以偏移寻址(A、7B、8C、 64D、 128)个单元。
6、链接命令文件用(A、 .objB、 .cmd)扩展名表示。
C、 .out D、 .asm7、TMS320C5402 DSP内部含有(A、 8B、9)个辅助寄存器。
C、5D、 168、TMS320C54x DSP中,累加器的位数为A、16 位B、 32 位9、C54X DSP的流水线是由(A、4B、6C、8: ()C、40 位D、64 位)级(也即是由多少个操作阶段)组成。
D、 1010、在采用双操作数的间接寻址方式时,要使用到一些辅助寄存器,面的那些辅助寄存器如果使用到了是非法的()在此种寻址方式下,下A、AR1B、 AR2C、 AR3D、 AR411、看门狗的作用是(A、降低频率B、 PC受到干扰而跑飞时产生复位)。
C、既可以降低频率也可以升高频率D、稳定频率,但不改变频率12、要使 DSP能够响应某个可屏蔽中断,下面的说法正确的是(A、需要把状态寄存器ST1的 INTM 位置 1,且中断屏蔽寄存器B、需要把状态寄存器ST1的 INTM 位置 1,且中断屏蔽寄存器C、需要把状态寄存器ST1的 INTM 位置 0,且中断屏蔽寄存器D、需要把状态寄存器ST1的 INTM 位置 0,且中断屏蔽寄存器IMRIMRIMRIMR相应位置相应位置相应位置相应位置11)二、填空题(本题总分24 分,每空 1 分)1、C54x 系列 DSP处理器中,实现时钟频率倍频或分频的部件是___ _________。
DSP原理及应用答案

(2) SP=0x3120;
三、应用题(10分)
得分
评卷人
设CLKOUT=8MHz,试阅读下列程序。试回答,引脚XF产生什么波形的信号?若要求方波周期改为16s,T0中断周期减小到原来一半,试说明程序的修改方法。
程序:
.title "time.asm"
.mmregs
rete修正指针marar30bar3ar0ar3并反向进位测试指令bitfx11x1条件转移bcl1ntctc位为零则转移到l1条件转移banzl2ar2ar2不为0则转移到l2条件转移xc1alt小于0跳过1条指令执行传送指令mvpdtablear1程序区到数据区的传送传送指令ltdar1数据t同时移位ar11ar1堆栈指令pshmpopmpshdpopd对mmr对数据区累加指令addar2a数据加上a存于a减法指令subar2a减去数据存于a条件减法subcdena用于除法运算乘法指令mpyanum数据与ah相乘存于b数据存于乘加指令macar2a数据与t相乘后加a的内容乘加指令macar2ar3a两个数据相乘后加a的内容位操作指令rsbxssbx重复指令rptzst1第14cpl直接寻址基址方式位st1第11intm可屏蔽中断总开关st1frct乘法小数方式控制位定时器参数内容描述定时周期clkouttddr1prd1pcr1512
.text
_c_int01:STM #x,AR1
RPT #15
MVPD table,* AR1+
CALL bitrev
end:B end
bitrev:STM #8,AR0
STM #x,AR3
STM #y,AR4
RPT #14
dsp原理及应用试卷及答案

dsp原理及应用试卷及答案【篇一:dsp原理及应用_复习题】ass=txt>1.累加器a分为三个部分,分别为。
1.ag,ah,al2.tms320vc5402型dsp的内部采用2.8,163.tms320vc5402型dsp采用总线结构对程序存储器和数据存储器进行控制。
3.哈佛4.tms329vc5402型dsp有个辅助工作寄存器。
4.8个5.dsp处理器tms320vc5402中daram的容量是字。
5.16k字6.ti公司的dsp处理器tms320vc5402pge100有___________个定时器。
6.27.在链接器命令文件中,page 1通常指________存储空间。
7.数据8.c54x的中断系统的中断源分为_______中断和____ ____中断。
8.硬件、软件1.ti公司dsp处理器的软件开发环境是__________________。
1.答:ccs(code composer studio)2.dsp处理器tms320vc5402外部有___________根地址线。
2.答:20根3.直接寻址中从页指针的位置可以偏移寻址3.答:1284.在链接器命令文件中,page 0通常指________存储空间。
4.答:程序5.c54x系列dsp处理器中,实现时钟频率倍频或分频的部件是_____________。
5.答:锁相环pll6.tms320c54x系列dsp处理器上电复位后,程序从指定存储地址________单元开始工作。
6.答:ff80h7.tms320c54x系列dsp处理器有_____个通用i/o引脚,分别是_________。
7.答:2个,bio和xf8.dsp处理器按数据格式分为两类,分别是;。
8.答:定点dsp和浮点dsp9.tms329vc5402型dsp的st1寄存器中,intm位的功能是。
9.答:开放/关闭所有可屏蔽中断10.ms320c54x dsp主机接口hpi是________位并行口。
数字信号处理DSP原理及应用考试试题与答案

数字信号处理DSP原理及应用考试一、选择题1.’C54x 进行32位长数据读操作时使用的数据总线是( )。
[单选题] *A) CB和EBB) EB和DBC) CB和DB*D) CB、DB和EB2.以下哪种方法不能清除中断标志寄存器IFR中的中断标志位。
( ) [单选题] *A) 硬件复位B) 软件复位C) 软件置位IFR寄存器中的标志位D) 软件清零IFR寄存器中的标志位*3.下列说法中错误的是( )。
[单选题] *A) 每个DARAM块在单周期内能被访问2次。
B) 每个SARAM块在单周期内只能被访问1次。
C) 片内ROM主要存放固化程序和系数表,只能作为程序存储空间。
*D) DARAM和SARAM既可以被映射到数据存储空间用来存储数据,也可以映射到程序空间用来存储程序代码。
4. 若程序中对堆栈设置如下,则下列说法错误的是( )。
size .set 120stack .usect “STACK”,sizeSTM # stack + size,SP [单选题] *A) 此堆栈段的段名为STACKB) 此堆栈段共120个单元C) 此堆栈段第一个变量的名为size称*D) 堆栈设置好后,堆栈指针SP指向栈底5.若要累加器A大于0或溢出时,程序转移至sub,可以实现此功能的指令是( )。
[单选题] * A) BC sub, AGT B) BC sub, AGT, AOV*BC sub, AOVC) BC sub, AGT D) BC sub, AGT, ANOVBC sub, ANOV6.执行指令PSHM AR5之前SP=03FEH,则指令执行后SP=( ) [单选题] *A) 03FDH*B) 03FFHC) 03FCHD) 0400H7.以下控制位中哪一位用来决定程序存储空间是否使用内部RAM。
( ) [单选题] *A) MP/B) OVLY*C) DROMD) SXM8. 下列指令中,哪条指令的写法是错误的。
《DSP原理及应用》课程考试试题

物理与电子信息系《DSP原理及应用》课程考试试题(A卷)时量:120分钟总分:100分考试说明:本试题中所指DSP芯片均指TI公司TMS32C54x系列16位DSP芯片,使用到的相关存储器影像寄存器在相应地方有其格式说明。
一、单项选择题(本大题总共10小题,每小题3分,共30分)每小题所列出有4或3小项,其中仅1项是符合题目要求的,请将正确的选项序号填写在题目中的括号中。
1、在指令执行前寄存器和数据存储器相应的初始状态为(AR3)=0100h,(0100h)=0444h,则指令:ANDM#00FFh, *AR3+执行后,以下结果正确的是:()(A) (AR3)=0100h (B) (0100h)=0444h (C) (AR3)=0444h (D) (0100h)=0044h2、请指出下面指令使用不正确的一项为:()(A)STL B,-8,*AR7-(B)STL A, 11(C) STL *AR2+, A (D) STLM A, BRC3、在指令执行前CPU寄存器和相关存储器影像寄存器初始状态为:A=0056788933h, B=0000000000h, ST1的C16=0, AR4=0100h, (0100h)=1534h, (0101h)=3456h, 则执行指令DADD *AR4+, A, B 后,下面所示结果不正确的是()(A) A=0056788933h (B) AR4=0102h(C) B=006BACBD89h (D) B=00BD896BACh4、下面对TMS320C54xDSP的ALU进行运算时,如果运算的结果发生溢出,则ALU的饱和逻辑会对运算结果进行溢出处理,下面说法不正确的是:()(A) 若OVM=0,则对ALU的运算结果不作任何调整,直接送入累加器;(B) 当正向溢出时,将32位最大正数00 7FFFFFFFH装入累加器;(C) 若OVM=1,当负向溢出时,将32位最小负数FF 80000000H装入累加器;(D) 会将状态寄存器ST0中与相关目标累加器的溢出标志OVA或OVB置1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通信系《 DSP 原理及应用》期末考试题(答案)姓名:学号:班级:分数:考试时间: 15:40~ 17:30考试方式:开卷;注意:所有答案必须写在答题纸上,试卷上的答案无效!一、填空题(每空 2 分,共 20 分)1、在 C 语言和 C55x 汇编语言的混合程序设计中, C 函数的参数和返回值传递到C55x的寄存器中。
在函数“ long func(int *p1, int i2, int i3, int i4)中, *p1 传递到AR0寄存器,i2传递到T0寄存器,i4 到AR1寄存器,返回值由AC0寄存器传递。
传递”2、汇编语言“mov *AR0,AC0”使用的寻址方式是间接寻址模式,“mov#0x3,DPH”使用的寻址方式是直接寻址模式,“ mov*(#0x011234) ,T2”使用的寻址方式是绝对寻址模式。
3、指令执行前 AC0的值是 0012345678,那么汇编语句“ AND #0x7f , AC0”,执行之后,AC0的值是0000000078。
4、C55x 的链接器命令文件中, SECTIONS命令的主要作用是告诉链接器如何将输入段组合成输出段,以及在存储器何处存放输出。
MEMORY命令的主要作用是定义目标系统的存储器配置图,包括对存储器各部分的命名,以及规定它们的起始地址和长度。
二、简述题(共40 分)1、根据你的理解,试列举DSP 芯片的特点?( 5 分)答:哈佛结构;多总线结构;指令系统的流水线操作;专用的硬件乘法器;特殊的指令;快速的指令周期;丰富的外设DSP2、TMS320C55x芯片的总线结构有何特点,主要包括哪些总线?它们的功能是什么?( 6 分)答: TMS320C55x DSP采用先进的哈佛结构并具有十二组总线,其独立的程序总线和数据总线允许同时读取指令和操作数,实现高度的并行操作。
采用各自分开的数据总线分别用于读数据和写数据,允许 CPU在同一个机器周期内进行两次读操作数和一次写操作数。
独立的程序总线和数据总线允许 CPU同时访问程序指令和数据。
包括 12 条总线,分别是: PAB和 PB、 BAB和 BB、CAB和 CB、 DAB和 DB、 EAB和EB、FAB和 FB。
功能:3、DSP 为了降低功耗采取了哪些措施?( 6 分)答:双电压供电;多种工作模式4、TMS320C55x的总存储空间为多少?可分为哪3 类,它们的大小是多少?存储器空间的各自作用是什么?( 6 分)答:程序空间16M Byte ;I/O 空间 64K Words ;数据空间8M Words5、TMS320C55x有哪些寻址方式,它们是如何寻址的?试为每种寻址方式列举一条指令( 6 分)答:直接寻址模式,mov # K16, DP;间接寻址模式,mov *AR0, AC0;绝对寻址模式,mov *(#0x011234),T2;MMR寻址模式, mov *abs16( # AR2), T2 ;寄存器位寻址模式,btstp @30, AC1;圆形寻址模式。
6、将 C 源程序转换成可执行文件需要经过哪些步骤?( 6 分)答:创建 C 源文件;创建工程文件;创建连接器命令文件;编译整个工程文件;链接;生成可执行文件7、常用的 TMS320C55x汇编命令有哪些,它们的作用是什么?( 5 分)三、程序设计题(共40 分)41、用 C55x 汇编语言实现计算y a i x i 的程序。
( 10 分)i 1答: mpym *AR0+, *AR1+, AC0mpym *AR0+, *AR1+, AC1add AC1, AC0mpym *AR0+, *AR1+, AC1add AC1, AC0mpym *AR0+, *AR1+, AC1add AC1, AC0或者:mpym *AR0+, *AR1+, AC0||rpt #2macm *AR0+, *AR1+, AC02、用 C55x 汇编语言实现计算y1 x1 * a1 x2 * a2的程序。
(10分)答: mpym *AR0+, *AR1+, AC3masm *AR0+, *AR1+, AC33、以 8 点的 FFT为例,用 C55x 的汇编语言实现FFT的算法,并且解释该算法的实现方法。
( 20 分)答:.sect "fft_code"_fft:aadd #(ARGS-Size+1),SP ; Adjust stack for local varsmov mmap(ST1_55),AR2 ; Save ST1,ST3mov mmap(ST3_55),AR3mov AR2,fft.d_ST1mov AR3,fft.d_ST3btst @#0,T1,TC1 ; Check SCALE flag setmov #0x6340,mmap(ST1_55) ; Set CPL,XF,SATD,SXAM,FRCT (SCALE=1) mov #0x1f22,mmap(ST3_55) ; Set: HINT,SATA,SMULxcc do_scale,TC1mov #0x6300,mmap(ST1_55) ; Set CPL,XF,SATD,SXAM (SCALE=2)do_scalemov T2,fft.d_T2 ; Save T2|| mov #1,AC0mov AC0,fft.d_L ; Initialize L=1|| sfts AC0,T0 ; T0=EXPmov AC0,fft.d_N ; N=1<<EXPmov XAR1,XCDP ; CDP = pointer to U[]mov XSP,XAR4add #fft.d_temp,AR4 ; AR4 = pointer to tempmov XAR0,XAR1 ; AR1 points to sample buffermov T0,T1mov XAR0,XAR5 ; Copy externd bits to XAR5outer_loop ; for (L=1; L<=EXP; L++)mov fft.d_L,T0 ; note: Since the buffer is|| mov #2,AC0 ; arranged in re,im pairssfts AC0,T0 ; the index to the bufferneg T0 ; is doubled|| mov fft.d_N,AC1 ; But the repeat coutnerssftl AC1,T0 ; are not doubledmov AC0,T0 ; LE=2<<L|| sfts AC0,#-1mov AC0,AR0 ; LE1=LE>>1|| sfts AC0,#-1sub #1,AC0 ; Init mid_loop countermov mmap(AC0L),BRC0 ; BRC0=LE1-1sub #1,AC1 ; Init inner loop countermov mmap(AC1L),BRC1 ; BRC1=(N>>L)-1add AR1,AR0mov #0,T2; j=0|| rptblocal mid_loop-1; for (j=0; j<LE1;j++)mov T2,AR5; AR5=id=i+LE1mov T2,AR3add AR0,AR5; AR5 = pointer to X[id].readd #1,AR5,AR2; AR2 = pointer to X[id].imadd AR1,AR3; AR3 = pointer to X[i].re|| rptblocal inner_loop-1; for(i=j; i<N; i+=LE)mpy *AR5+,*CDP+,AC0; AC0=(X[id].re*U.re:: mpy *AR2-,*CDP+,AC1;-X[id].im*U.im)/SCALE masr *AR5-,*CDP-,AC0; AC1=(X[id].im*U.re:: macr *AR2+,*CDP-,AC1; +X[id].re*U.im)/SCALE mov pair(hi(AC0)),dbl(*AR4); AC0H=temp.re AC1H=temp.im ||mov dbl(*AR3),AC2xcc scale,TC1|| mov AC2>>#1,dual(*AR3); Scale X[i] by 1/SCALE mov dbl(*AR3),AC2scaleadd T0,AR2||sub dual(*AR4),AC2,AC1 ; X[id].re=X[i].re/SCALE-temp.re mov AC1,dbl(*(AR5+T0)) ; X[id].im=X[i].im/SCALE-temp.im || add dual(*AR4),AC2 ; X[i].re=X[i].re/SCALE+temp.re mov AC2,dbl(*(AR3+T0)) ; X[i].im=X[i].im/SCALE+temp.im inner_loop ; End of inner loopamar *CDP+amar *CDP+ ; Update k for pointer to U[k]|| add #2,T2 ; Update jmid_loop ; End of mid-loopsub #1,T1add #1,fft.d_L ; Update Lbcc outer_loop,T1>0 ; End of outer-loopmov fft.d_ST1,AR2 ; Restore ST1,ST3,T2mov fft.d_ST3,AR3mov AR2,mmap(ST1_55)mov AR3,mmap(ST3_55)mov fft.d_T2,T2aadd #(Size-ARGS-1),SP ; Reset SPret.end。