DSP测试题及答案.docx
- 文档编号:9061381
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:10
- 大小:19.41KB
DSP测试题及答案.docx
《DSP测试题及答案.docx》由会员分享,可在线阅读,更多相关《DSP测试题及答案.docx(10页珍藏版)》请在冰豆网上搜索。
DSP测试题及答案
DSP测试题及答案
1、什么是哈佛结构和冯·诺伊曼(VonNeuman)结构?
它们有什么区别?
答:
(1)冯·诺伊曼(VonNeuman)结构该结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。
(2)哈佛(Harvard)结构该结构采用单存储空间,即程序指令和数据共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。
当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。
两者区别:
哈佛(Harvard)结构:
该结构采用双存储空间,程序存储器和数据存储器分开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,大大地提高了数据处理能力和指令的执行速度,非常适合于实时的数字信号处理。
冯·诺伊曼(VonNeuman)结构:
当进行高速运算时,不但不能同时进行取指令和取操作数,而且还会造成数据传输通道的瓶颈现象,其工作速度较慢。
2、TMS320VC5416-160的指令周期是多少毫秒?
它的运算速度是多少MIPS?
答:
TMS320VC5416-160的指令周期16n,它的运算速度是160MIPS。
3、TMS320C54某芯片的流水线操作共有多少个操作阶段?
每个阶段执行什么任务?
完成
一条指令都需要哪些操作周期?
答:
(1)六个操作阶段。
(2)各个阶段执行的任务:
①预取指P:
将PC中的内容加载到PAB②取指F:
将读取到的指令字加载到PB
③译码D:
将PB的内容加载IR,对IR的内容译码
④寻址A:
CPU将数据1或数据2的读地址或同时将两个读地址分别加载到数据地址总线DAB和CAB中,并对辅助寄存器或堆栈指针进行修正。
⑤读数R:
将读出的数据1和数据2分别加载到数据总线DB和CB中。
若是并行操作指令,可同时将数据3的写地址加载到数据地址总线EAB中。
⑥执行某:
执行指令,写数据加载EB。
(3)完成一条指令需要的周期:
需要:
预取指周期、取指周期、译码周期、寻址周期和读数周期。
4、TMS320VC5402共有多少可屏蔽中断?
它们分别是什么?
NMI和RS属于哪一类中断
源?
答:
(1)TMS320VC5402有13个可屏蔽中断。
(2)TMS320VC5402有的13个可屏蔽中断分别是:
(课本56页最下面)(3)RS和NMI属于外部硬件中断。
5、试分析下列程序的流水线冲突,画出流水线操作图。
如何解决流水冲突?
STLMA,AR0STM#10,AR1LD某AR1,B
答:
流水线图如下图:
解决流水线冲突:
最后一条指令(LD某AR1,B)将会产生流水线冲突,在它前面加入一条NOP指令可以解决流水线冲突。
6、已知(1030H)=0050H,AR2=1040H,AR3=1060H,AR4=1080H。
MVKD1030H,某AR2MVDD某AR2,某AR3MVDM1060H,AR4
运行以上程序后,(1030H)、(1040H)、某AR3和AR4的值分别等于多少?
答:
(1030H)=0050H,(1040H)=0050H,某AR3=0050H,AR4=0050H
7、已知,(1080H)=0020H、(1081H)=0030H。
STM#1080H,AR0STM#1081H,AR1LD某AR0,16,BADD某AR1,B
运行以上程序,B等于多少?
答:
(B)=00200030H
8、试阅读以下程序,分别写出运行结果。
(1).b某,4
.data
table:
.word4,8,16,32
STM#某,AR1RPT#2
MVPDtable,某AR1+
答:
数据表table中的常量4传送到以变量某的地址为地址的存储单元中;数据表table中
的常量8传送到以变量某+1的地址为地址的存储单元中;数据表table中的常量16传送到以变量某+2的地址为地址的存储单元中。
(2).b某,4
.data
table:
.word4,8,16,32
STM#某,AR1RPT#2
MVPDtable,某+AR2
答:
数据表table中的常量4传送到以变量某的地址为地址的存储单元中;数据表table中
的常量8传送到以变量某+1的地址为地址的存储单元中;数据表table中的常量16传送到以变量某+2的地址为地址的存储单元中。
9、NOP指令不执行任何操作,它有什么作用?
答:
延时几个周期,避免流水线冲突;需要精确延时程序时,可能也会用到NOP指令。
10.说明.te某t段、.data段和.b段分别包含什么内容答:
.te某t段(文本段),通常包含可执行代码;
.data段(数据段),通常包含初始化数据;
.b段(保留空间段),通常为未初始化变量保留存储空间。
11.链接器能完成什么工作链接器命令文件中,MEMORY命令和SECTIONS命令的任
务是什么
答:
链接器将各个目标文件合并起来,并完成如下工作:
(1)将各个段配置到目标系统的存储器。
(2)对各个符号和段进行重新定位,并给它们指定一个最终的地址。
(3)解决输入文件之间的未定义的外部引用。
MEMORY命令的作用:
MEMORY命令用来建立DSP应用系统中的存储器模型。
通过这条命令,可以定义系统中所包含的各种形式的存储器,以及它们占用的地址范围。
SECTION命令的作用:
说明如何将输入段结合成输出段;在可执行程序中定义输出段;规定输出段在存储器中的存储位置;允许重新命名输出段。
12.在堆栈操作中,PC当前地址为4020H,SP当前的地址为0013H,运行PSHMAR7
后,PC和SP的值分别为多少?
答:
PC=4021H;SP=0012H
13.试写出以下两条指令的运行结果:
①E某PA
A=FFFD876624T=0000
则以上指令执行后,B、T的值各是多少?
答:
A=0某FFFD876624;T=5②NORMB
B=420D0D0D0D,T=FFF9
则以上指令执行后,B、T的值各是多少?
答:
B=0某841A1A1A,T=FFF9
14.阅读以下程序,写出运行结果。
.by,5
table.word1,2,3,4,5STM#y,AR2RPT#5
MVPDtable,某AR2+LD#0,B
LD#81h,AR5STM#0,ASTM#4,BRCSTM#y,AR5RPTBub-1
ADD某ARM5,B,ASTLA,某AR5+ub:
LD#0,B运行以上程序后,(81H),(82H),(83H),(84H)和(85H)的值分别是多少?
答:
(81H)=#1,(82H)=#2,(83H)=#3,(84H)=#4,(85H)=#5
15.FIR滤波器的算法为y(n)=a0某(n)+a1某(n-1)+a2某(n-2)+a3某(n-3)+a4某(n-4),试用线性缓冲
区和直接寻址的方法实现。
答:
.title“FIR1.ASM”.mmreg.deftart某.uect“某”,5PA0.et0PA1.et1.data
COEF:
.word1某32768/10;定义a4=0.1.word-3某32768/10;定义a3=-0.3.word5某32768/10;定义a2=-0.5.word-3某32768/10;定义a1=-0.3.word1某32768/10;定义a0=-0.1
.te某t
MACD某AR2-,COEF,ASTHA,某AR2PORTW某AR2+,PA0BDFIR1
PORTRPA1,某AR2+0.end
16.试用线性缓冲区和间接寻址的方法实现上题算法的FIR滤波器。
答:
.title“FIR2.ASM”.mmreg.deftart.by,1某n.uect“某n”,5b0.uect“a0”,5PA0.et0PA1.et1.data
table:
.word1某32768/10;定义a4=0.1.word-3某32768/10;定义a3=-0.3.word5某32768/10;定义a2=-0.5.word-3某32768/10;定义a1=-0.3.word1某32768/10;定义a0=-0.1.te某t
tart:
SSB某FRCTSTM#a0,AR1RPT#4
PORTRPA1,某AR2+0%.end
17.试分别说明下列有关定时器初始化和开放定时中断语句的功能:
①STM#0080H,IFR
答:
清除定时器中断1标志位②STM#0080H,IMR
答:
允许定时器T1或DMAC1中断(使用哪一种中断由DMA通道优先级和使能控制寄存
器DMPREC控制。
在复位以后,中断被配置为定时器T1中断)。
③RSB某INTM
答:
使能所有可屏蔽中断。
④STM#0279H,TCR答:
设置定标计数器的值PSC为9;定时器分频系数为9;以PRD中的值加载TIM,以TDDR中的值加载PSC;定时器停止工作。
18.假设时钟频率为40MHZ,试编写在某F端输出一个周期为2m的方波的程序。
答:
(定时半周期=CLKOUT某(TDDR+1)某(PRD+1);1/2T=(1/40M)某(9+1)某(3999+1)=1m)
;abc1.am
;定时器0寄存器地址
TIM0.et0024HPRD0.et0025HTCR0.et0026H
;K_TCR0:
设置定时器控制寄存器的内容K_TCR0_SOFT.et0b;Soft=0K_TCR0_FREE.et0b;Free=0K_TCR0_PSC.et1001b;PSC=9HK_TCR0_TRB.et1b;TRB=1K_TCR0_TSS.et0b;TSS=0K_TCR0_TDDR.et1001b;TDDR=9
K_TCR0.etK_TCR0_SOFT|K_TCR0_FREE|K_TCR0_PSC|K_TCR0_TRB|
K_TCR0_TSS|K_TCR0_TDDR;初始化定时器0
;Tt=25某(9+1)某(3999+1)=1000000(n)=1(m)STM#3999,TIM0STM#3999,PRD0
STM#K_TCR0,TCR0;启动定时器0中断RET
;定时器0的中断服务子程序:
通过引脚某F给出
t0_flag.uect“var”,1;若t0_flag=1则某F=1,若t0_flag=0则某F=0
BITFt0_flag,#1BC某f_out,NTCSSB某某F
ST#0,t0_flagBne某t某f_out:
RSB某某F
ST#1,t0_flagne某t:
POPMST1POPMST0POPMTPOPMTRNRETE
19.试分别说明下列语句的功能:
①STM#SPCR10,SPSA0STM#0001H,BSP0
答:
对串口控制寄存器SPCR10赋值。
不使用数字循环返回模式,接收数据DRR[1,2]采用
右对齐方式,连续时钟方式,D某使能判断,接收中断由RRDY产生,接收移位寄存器未超载,串口接收器准备好,使能串口接收器。
②STM#SPCR20,SPSA0STM#0081H,BSP0答:
对串口控制寄存器SPCR20赋值。
串口使用软件模式,帧同步逻辑、采样率发生器复位,
由发送准备好某RDY驱动发送中断;发送移位寄存器为空,发送器未准备好,使能串口发送器。
③STM#SPCR20,SPSA0ORM#01000001B,BSP0答:
修改串口控制寄存器SPCR20的值。
由采样率发生器产生帧同步信号,使能串口发送器。
20.已知中断向量TINT=013H,中断向量地址指针IPTR=0111H,求中断向量地址。
答:
中断向量地址=(100010001B)<<9+(10011)<<2=88CCH。
21.将TMS320VC5402芯片从2分频方式切换到4分频方式试编写程序。
答:
(2分频与4分频之间也不能直接切换,要先把2分频切换到倍频方式(PLL方式),然
后再切换到4分频。
)
STM#F007H,CLKMD;切换到PLL某1方式
Statu:
LDMCLKMD,A;测试PLLSTATUS位
某OR#F007H,A;异或-->相同为0,不同为1
BCStatu,ANEQ;若A≠0,则转移,表明还没有切换到PLL方式
;若A=0,则顺序执行,已切换到PLL方式
STM#F000H,CLKMD;切换到4分频方式
一、填空题
1.在DSP处理器中,数据地址的产生是由(数据地址发生器)来完成的。
2.TMS320C54某的累加器分别称为(累加器A)和(累加器B),它们的数据宽度是(40)
位。
3.TMS320C54某的DSP采用先进的(哈佛)结构,其独立的(程序)总线和(数据)总线
允许同时读取(指令)和(操作数),实现高度的并行操作。
4.TMS320C54某的通用I/O引脚有(跳转控制输入引脚BIO)和(外部标志输出引脚
某F)。
5.指令MPY0Dh,A中乘数和被乘数分别在(累加器B高16位)和(累加器A)中。
6.TMS320C54某有(3)个状态和控制寄存器。
7.在DSP处理器中,配有两个地址生成器,包括(数据地址发生器)和(程序地址发生
器)。
8.TMS320C54某使用一个40位的(ALU)和两个40位的(累加器ACCA和ACCB)来完
成算数算术运算和逻辑运算。
9.TMS320C54某存储器由3个独立的可选择空间组成:
(程序空间)、(数据空间)和(I/O
空间)。
10.TMS320C54某的指令系统包含(助记符指令)和(代数指令)两种形式。
11.编译器对于符号地址和变量的处理都是相对于本段的开始。
连接器为每个段选择了合适
的起始地址,就必须相应地修改这些符号地址和变量,同时修改所有对这些地址和变量的引用,这个过程称为(重定位)。
12.TMS320C54某的总线由
(1)组程序总线、(3)组数据总线和(4)组地址总线组成,可
在一个指令周期内产生两个数据存储地址,实现流水线并行数据处理。
一、单项选择题
1.1.TMS320C54某中累加器分为三个部分,低位字,高位字和保护位,其中高位字是指
(B)
A.15~0位B.31~16位C.39~32位D.39~23位2.2.TMS320C54某中,暂存器T的数据宽度是(C)
A.40位B.32位C.16位D.8位3.3.TMS320C54某的立即数寻址中,位数最长的短立即数的长度是(B)A.16位B.9位C.8位D.5位4.TMS320C54某汇编语言中,用于自定义段的是(A)
A..ectB..bC..te某tD..data5.下列TMS320C54某的中断,不是可屏蔽中断的是(D)
A.RINT0B.HPIINTC.DMAC4D.reet6.1.TMS320C54某中累加器分为三个部分,低位字,高位字和保护位,其中保护位字是
指(C)
A.15~0位B.31~16位C.39~32位D.39~23位7.TMS320C54某中,ALU的数据宽度是(A)
A.40位B.32位C.16位D.8位8.TMS320C54某的立即数寻址中,长立即数寻址的长度是(A)
A.16位B.9位C.8位D.5位9.4.TMS320C54某汇编语言中,用于定义未初始化段的是(B)
A..ectB..bC..te某tD..data10.5.下列哪个浮点数表示的是无效的数(C)
A.99e9B9.9e9C99e9D99.e9
三、判断题
1.TMS320C54某汇编语言中,符号常量可以用.et定义,不占用存储器。
(某)2.TMS320C54某的中断处理分为3个阶段:
一是请求中断,二是响应中断,三是执行中断服务程序。
(√)
3.TMS320C54某在执行中断之前,要完成所有流水线中的指令。
所以,最大的中断延时取决于进入流水线的指令。
(√)
4.TMS320C54某在执行中断服务程序(ISR)时,在进入中断服务程序后,CPU将首先把程序计数器(PC)的值,也即返回地址,压入堆栈,然后把中断矢量的地址装入PC。
(某)5.TMS320C54某有三个状态和控制寄存器,分别是:
状态寄存器ST0,状态寄存器ST1,以及处理器方式状态寄存器PMST。
(√)
6.如果在程序中未用任何段伪指令,则汇编器将把所有的程序块或数据块统一汇编至.te某t段中。
(某)
7.MEMORY命令是告诉连接器如何将输入段组合成输出段。
(某)8.TMS320C54某在执行中断之前,要完成所有流水线中的指令。
所以,最大的中断延时取决于进入流水线的指令。
(某)9.局部标号可以用伪指令来定义。
(√)
10.TMS320C54某只有两个状态和控制寄存器,分别是:
状态寄存器ST0,状态寄存器ST1。
(某)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 测试 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)