DSP复习题答案DOCWord下载.docx
《DSP复习题答案DOCWord下载.docx》由会员分享,可在线阅读,更多相关《DSP复习题答案DOCWord下载.docx(17页珍藏版)》请在冰豆网上搜索。
三大类。
30.’C54x的内部总线结构由一组程序存储器总线、三组数据存储器总线
和四组地址总线组成。
31.DROM状态位控制是否将片内ROM安排到数据空间。
32.’C54x的CPU采用了流水线指令执行结构和相应的并行处理结构设计,使其能在一个指令周期内,高速地完成多项算术运算。
33.当16位数据存储器操作数通过数据总线DB或CB输入时,ALU将对操作数进行预处理。
即SXM=1时,进行符号位扩展。
现SXM=1,要输入到ALU的DB上的数为8FFFH且位于低16位,那么当SXM=1时经过预处理后输入ALU的数为FFFFFF8FFFH。
34.若状态寄存器ST1的状态位OVM设为1,则对ALU的运行结果进行调整,当正向溢出时,将32位最大正数007FFFFFFFH
装入累加器。
35.累加器可以分为三个部分,即保护位、高位字、低位字,其中保护位占8位,另外两个部分占16位。
36.’C54x的MAC单元具有强大的乘法-累加运算功能,可在一个流水线周期内完成1次乘法运算和1次加法运算。
37.当硬件执行指令时,寻找指令所指定的参与运算的操作数的方法称之为指令的寻址方式。
38.’C54x的流水线结构,允许多条指令同时利用CPU的内部资源。
由于CPU的资源有限,当多于一个流水线上的指令同时访问同一资源时,可能产生时序冲突。
39.TI公司推出的DSP集成开发环境是CCS。
40.’C54x的助记符指令是由操作码和操作数两部分组成。
41.按指令的功能,可将’C54x指令系统分成四大类:
算术运算指令
、逻辑运算指令、程序控制指令、加载存储指令。
42.冯·
诺伊曼结构采用存储程序方式,即程序指令寄存器和数据寄存器
共用一个存储空间,使用单一的地址和数据总线,取指令和取操作数都是通过一条总线分时进行。
43.片内数据存储器分片内ROM、片内双操作数RAM(DARAM)
片内单操作数RAM(SARAM)。
44.192K字’C54x存储空间可分为3种可单独选择的空间,即程序空间、
数据空间、I/O空间。
45.CPU寄存器、片内外设寄存器和暂存器,这些寄存器全部被映射到’C54x的前80H个单元(数据页0)数据存储空间中,因此称这些寄存器为存储器映像寄存器MMR。
46.’C54x的40位桶形移位寄存器主要用于累加器或数据区操作数的定标。
47.’C54x有3个状态和控制寄存器,其中ST0和ST1主要包含各种工作条件和工作方式的状态;
PMST包含存储器的设置状态和其他控制信息。
48.直接寻址方式当中,所要寻址的数据存储器16位地址是由
DP或SP和偏移地址dma构成。
49.PC是一个16位计数器,用来保存某个内部或外部程序存储器
的地址。
50.DSP实现FIR滤波器延时一个采样周期的方法有两种,一是采用线性缓冲区法,二是采用循环缓冲区法。
51.’C54x共有7种基本的数据寻址方式。
52.’C54x可编程定时器的定时周期=(时钟周期)*(定标器+1)*(定时周期数PRD+1)。
P50
53.DSP实现FIR滤波器的基本运算有乘法、加法和
延时的运算;
54.’C54x的数据总线中,CB和DB总线用来传送从数据存储器读出的数据,EB用来传送写入存储器的数据。
55.’C54x的指令系统包含:
助记符指令和代数指令。
56.’C54x的结构以8组16位总线为核心:
1组程序存储器总线,3组数据存储器总线和4组地址总线。
57.’C54x的CPU组成:
40位算数逻辑单元(ALU),2个40位累加器(ACCA、ACCB),一个支持16-31位移位的桶形移位寄存器,乘法器-加法器单元(MAC)
,比较、选择和存储单元(CSSU),指数编码器,CPU状态和控制寄存器。
58.’C54x提供了七种寻址方式,LD*AR1A指令中的寻址方式为间接寻址;
LDMST1,B指令中的寻址方式为存储器映像寄存器寻址
;
PSHMAG中的寻址方式为堆栈寻址。
59.一典型DSP系统包括:
抗混叠滤波器、数据采集A/D转换器、数字信号处理器(DSP)、D/A转换器、低通滤波器。
60.前缀“#”后面的操作数是立即数;
前缀“*”后面的操作数是寄存器操作数,为间接寻址。
二、选择题
1.关于定点DSP所采用的Q格式,下列说法正确的是:
(B)
A.Q越大,数值范围越大,精度也越高;
B.Q越大,数值范围越小,但精度越高;
C.Q越大,数值范围越大,但精度越低;
D.Q越大,数值范围越小,精度也越低。
2.若16进制数为2000H,采用Q15格式,表示的值为:
(A)
A.0.25,即0.010000000000000
B.8192,即0010000000000000.
C.0.125,即.0010000000000000
D.以上都不对
3.以下指令中操作数的寻址方式为直接寻址的是:
(C)
A.MVPDtable,*AR1+;
B.RPT#14;
C.STHA,@den;
D.XC1,BLT。
5.当CPL=0时,直接寻址的16位地址由DP和偏移地址dmad构成,DP位于ST0的低9位,现ST0=12ABH,dmad=78H,则形成的数据存储器地址为:
(B)
A.0AB78H;
B.55F8H;
C.12F8H;
D.1278H。
6.下列有关’C54x的流水线操作顺序正确的是:
字母对应含义分别为:
A寻址、D译码、F取指、P预取指、R读数、执行X
A.PFDARX;
B.PFDRAX;
C.PFARXD;
D.PFDXAR。
7.以下哪个文件可以作为链接器的输入文件:
(C)
A..out;
B..map;
C..obj;
D..lst。
8.下列哪个段不是COFF目标文件的默认段:
(D)
A..text;
B..data;
C..bss;
D..usect。
9.以下哪条指令能重复执行紧随其后的单条指令30次:
A.RPT#30H;
B.RPT#29H;
C.RPTZ#29;
D.RPTZ#30。
10.在寻址缩略语中,缩略语src代表的是:
A.目的累加器;
B.源累加器;
C.目的操作数;
D.源操作数。
11.’C54x系列内部有P、C、D、E等4组总线,每组总线中都有地址总线和数据总线,以下哪项操作不是在一个机器周期内可以完成的:
A.向数据存储器写一个操作数;
B.从数据存储器中读一个操作数;
C.向数据存储器写两个操作数;
D.从数据存储器中读两个操作数。
12.以下四个状态位当中,与’C54x设置存储器空间无关的状态位为:
A.MP/MC;
B.OVLY;
C.DROM;
D.SXM。
13.在32位操作数的寻址当中,高16位数是通过哪条总线读取的:
A.CB;
B.DB;
C.EB;
D.PB。
14.当CPL=1时,直接寻址的16位地址由SP和偏移地址dmad构成,现SP=12ABH,dmad=78H,则形成的数据存储器地址为:
(D)
C.1278H;
D.1323H。
15.以下哪个符号不能作为操作数的前缀:
A.#;
B.*;
C.@;
D.&
。
16.在寻址缩略语中,以下哪个缩略语代表双寻址操作数,且从DB上读取:
A.Xmen;
B.Ymen;
C.Smen;
D.dmad。
17.’C54x共有129条指令,按功能分几大类:
A.3;
B.4;
C.5;
D.6。
18.可编程数字信号处理器简称:
A.CPU;
B.MCU;
C.MCS;
D.DSP。
19.’C54x采用改进的哈佛结构,围绕___组___位总线建立:
A.8,16;
B.16,8;
C.8,8;
D.16,16。
20.’C54x具有___个___位的累加器:
A.1,32;
B.1,40;
C.2,40;
D.2,32。
21.’C54x的32个中断源分为14级,其中___级别最高:
A.RS;
B.NMI;
C.INTR;
D.INT0。
22.’C54x软硬件复位时,中断向量为:
A.0000H;
B.0080H;
C.FF80H;
D.FF00H。
23.’C54x主机接口HPI是___位并行口:
A.2;
B.8;
C.16;
D.32。
24.
25.当CPL=1时,直接寻址的16位地址由SP和偏移地址dmad构成,现SP=122BH,dmad=78H,则形成的数据存储器地址为:
(D)
C.1303H;
D.12A3H。
26.以下哪条指令能重复执行紧随其后的单条指令60次:
A.RPT#3AH;
B.RPT#3BH;
C.RPTZ#49;
D.RPTZ#60。
27.在CCS中,目标程序文件的扩展名是:
A..obj;
B..cmd;
C..out;
D..asm。
28.在’C54x中采用了___级流水线操作:
29.下列不属于’C54x的定时器的存储器映像寄存器是:
A.TIM;
B.PRD;
C.ST1;
D.TCR。
30.下列可以作为标号的是:
A.loop#;
B.Loop;
C.#loop;
D.;
loop。
31.下面对’C54x的堆栈出栈操作的说法,正确的是:
A.数据先出栈,SP再增加;
B.SP先增加,数据再出栈;
C.数据先出栈,SP再减少;
D.SP先减少,数据再出栈。
32.请指出下面指令使用不正确的一项为:
A.STLB,-8,*AR7-;
B.STLA,11;
C.STL*AR2+,A;
D.STLMA,BRC。
33.在CCS中,汇编源程序文件的扩展名是:
34.当进行滤波操作时,为提高效率应使用哪种寻址方式:
A.直接寻址;
B.间接寻址;
C.绝对地址寻址;
D.立即数寻址。
35.下列可以作为标号的是:
A.here#;
B.here;
C.#here;
here。
36.在32位操作数寻址中高16位数是通过___总线读取的:
37.下列属于’C54x的定时器的存储器映像寄存器是:
A.ST0;
D.AR1。
38.当CPL=1时,直接寻址的由SP和偏移地址dmad构成,现SP=12ABH,dmad=11H,则形成的数据存储器地址为:
A.12BFH;
B.1211H;
D.12BCH。
39.以下哪个符号不能作为操作数的前缀:
D.$。
40.在寻址缩略语中,以下哪个缩略语代表双寻址操作数,且从DB上读取:
A.Xmem;
B.Ymem;
C.Smem;
三、问答题
1.简述流水线操作的基本原理。
流水线操作是各指令以机器周期为单位相差一个时钟周期连续并行工作的情况。
其本质是DSP多条总线彼此独立地同时工作使得同一条指令在不同机器周期内占用不同总线资源。
同时不同指令在同一机器周期内占用不同总线资源
2.软件可编程等待状态发生器的功能是什么?
软件可编程等待状态产生器可以将外部总线周期扩展到7个机器周期C549、C5402、C5410和C5420为14个机器周期这样’C54xDSP可以方便地与慢速的片内存储器和I/O器件接口。
3.数字信号处理算法一般的实现方法有哪些?
1在通用的微机上用软件实现。
2利用特殊用途的DSP芯片来实现。
3利用专门用于信号处理的通用DSP芯片来实现。
4用FPGA/CPLD用户可编程器件来实现。
4.简要说明汇编器中的段的类型,各段所包含的内容,建段方法。
已初始化的段有.text
.data
.sect
未初始化的有
.bss
.usect
.text:
可执行的代码段
.data:
已初始化的数据
.bss:
未初始化的未命名段
.usect:
未初始化的自命名段
.sect:
已初始化的自命名段
建段的方法用五条伪指令,.text
.sect
5.以DP和SP为基地址的直接寻址方式中,其实际地址是如何产生的?
在直接寻址中,指令代码包含了数据存储器地址的低7位。
这7位dma作为偏移地址与数据页指针(DP)或堆栈指针(SP)相结合共同形成16位的数据存储器实际地址。
6.简述’C54xDSP的开发流程。
C编译器将C语言源程序自动地编译为‘C54x的汇编语言源程序,汇编器将汇编语言源文件汇编成机器语言COFF目标文件,链接器把汇编生成的、课重新定位的COFF目标模块组合成一个可执行的COFF目标模块。
P152
7.’C54x的192K字的存储空间可分为哪3种可单独选择的空间?
简述各种空间的用途。
1、程序存储空间:
用来存放要执行的指令和指令执行中所需要的系数表(数学用表);
2、数据存储空间:
用来存放执行指令所需要的数据;
3、I/O存储空间:
用来提供与外部存储器映射的接口,可以作为外部数据存储空间使用。
8.中断向量地址由9位的IPTR和左移2位后的中断向量序号组成,如果INT0的序号为10H,PMST=02A0H,则对应INT0的中断向量地址是多少,简述形成过程。
9.程序计数器的作用是什么?
其值可以通过哪些方式改变?
程序计数器是用于存放下一条指令所在单元的地址的地方。
10.试用Q15表示0.5和-0.5
Q15表示小数点在第15位的后面,0~14位都是小数位。
先将0.5和-0.5转换成整数:
0.5*2^15=2^14
-0.5*2^15=-2^14
然后再将上面的结果用补码表示:
0.5*2^15=2^14正数用16位二进制表示出来为0100000000000000
-0.5*2^15=-2^14负数先转换一下-2^14+2^16=3*2^14表示为1100000000000000
11.简述片内存储器的优点
速度快,功耗小,成本低。
12.堆栈寻址的特点以及操作准则
系统堆栈用来在中断和子程序奇迹自动存入程序计数器,用来保护现场或传递参数。
处理器实验一个16位存储器映射寄存器的堆栈指针来对堆栈寻址,它总是指向存放在堆栈中的最后一个数据。
共有4条使用堆栈寻址方式访问堆栈的指令:
1、PSHD把一个数据存储器的值压入堆栈;
2、PSHM把一个存储器映射寄存器的值压入堆栈;
3、POPD把一个数据存储器的值弹出堆栈;
4、POPM把一个存储器映射寄存器的值弹出堆栈。
13.简要说明冯若依曼体系与哈佛体系结构各自的特点。
冯诺依曼结构有以下的特点:
(1)程序存储和数据存储统一编址。
(2)CPU使用统一的总线来访问程序和数据。
(3)CPU采用相同的指令来访问程序和数据
哈佛结构有以下的特点:
(1)程序存储和数据存储物理独立。
(2)CPU采用独立的总线来访问程序和数据。
(3)CPU采用不同的指令来访问程序和数据。
14.简述DSP的内部存储器类型及其作用。
P28
1、片内ROM:
片内ROM是程序存储器空间的一部分,有时部分也可以用来做数据空间的一部分。
2、片内双操作数RAM(DARAM):
DARAM由几个块组成。
因为各DARAM块在每个机器周期内可被访问两次,所以CPU可在一个周期内对同一个DARAM块进行两次读或写的操作。
3、片内单操作数RAM(SARAM):
SARAM也是由几个块组成。
一个SARAM块在每个机器周期只可以被访问一次,进行读或写擦后操作。
4、片内存储器的安全:
’C54x可掩膜的存储器安全选项用于保护片内存储器的内容。
5、存储器映射寄存器:
存储器映射的方法为用于上下文转换的寄存器的存取以及累加器与其他寄存器间的信息传送提供了方便。
15.简述TMS320’C54x系列芯片总线结构特点。
P26
’C54x片内有8条16位总线;
4条程序/数据总线和4条地址总线。
1、程序总线(PB)传送取自程序存储器的指令代码和立即操作数。
2、3组数据总线(CB、DB和EB)将内部各单元连接在一起。
其中,CB和DB传送读自数据存储器的操作数,EB传送写到存储器的数据。
3、4组地址总线(PAB、CAB、DAB和EAB)传送执行指令所需的地址。
四、阅读指令并填空
1.BANZ2000h,*AR3-
2.CMPRGT,AR3
3.ADD*AR3+,14,A
4.SUBA,-8,B
5.MPY*AR3+,A
6.BANZ3000h,*AR3-
7.ADDA,-8,B
8.MAXA
9.RPTDAT127;
DAT127等于0FFFh
10.MAC*AR5+,*AR6+,A,B
11.STLA,-8,T
12.BANZ3000h,*AR2-
五、程序题
1.写出计算
的主要汇编程序,并给程序添加注释,画出程序的流程图。
解:
程序及注释:
.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
流程图:
2.试按以下参数说明编写链接器命令文件example.cmd
输入文件为:
a.obj,b.obj
程序存储器:
4K字ROM,起始地址为C00H,取名为ROM
数据存储器:
32字RAM,起始地址为60H,取名为SCRATCH
512字RAM,起始地址为80H,取名为ONCHIP
段的放置:
代码段.text,置于ROM中
初始化数据段.data,置于ROM中,在代码段之后
未初始化数据段.bss,置于SCRATCH中
自定义段STACK,置于ONCHIP中
example.cmd:
3.编制计算
的程序,其中(参考教材p154)
要求:
(
(1)写出.bss,.data,.text段主要程序,
(2)计算部分