DSP技术与应用(第三版) 2复习考试

发布时间 : 星期日 文章DSP技术与应用(第三版) 2复习考试更新完毕开始阅读

1. DSP芯片的结构特点有哪些,如何分类

特点:1、改进型的哈佛结构 2、采用多总线结构 3、采用流水线技术4、配有专用的硬件乘法-累加器5、具有特殊的DSP指令6、快速的指令周期7、硬件配置强8、支持多处理器结构9、省电管理和低功耗 分类:1、按基础特性分类2、按用途分类3、按数据格式分类

2. 试述TSM320C54X芯片在提高芯片运算速度方面采用了哪些措施?

1、采用了单个指令周期实现乘加运算的处理技术 2、单周期实现多个运算单元并行处理 3、数据搬运工作由DMA处理,无需CPU干涉

4、提供针对高级数学运算(指数、开方、FFT等)的库函数

3. TSM320C54X芯片的总线有哪些?它们各自的作用和区别是什么?

答:C54XDSP片内有8条16位总线,即4条程序/数据总线和4条地址总线。 程序总线(PB):传送取自程序存储器的指令代码和立即操作数。

数据总线(CB、DB和EB)。将内部各单元(如CPU、数据地址生成电路、程序地址生成电路、芯片外围电路及数据存储器)连接在一起。其中,CB和DB传送读自数据存储器的操作数,EB传送写到存储器的数据。 地址总线共有四组,分别为PAB、CAB和EAB,主要用来提供执行指令所需的地址。

4. DSP采用多处理单元结构有何好处?

可完成巨大运算量的多处理器系统,即将算法划分给多个处理器,借助高速通信接口来实现计算任务并行处理的多处理器阵列

5. TSM320C54X芯片的CPU主要包括哪些部分?它们的功能是什么?

答:

1)算术逻辑单元(ALU):40位的算术逻辑单元(ALU)和两个40位的累加器ACCA和ACCB用来二进制补码算术运算和布尔运算,可完成宽范围的算术逻辑运算。

2)累加器(ACCA和ACCB):可用于存放从ALU或乘/加单元输出的数据,也能输出数据到ALU或乘/加单元。

3)桶形移位寄存器:一个40位输入与累加器或数据总CB、DB相连,一个40位输出与ALU或数据总线EB相加。作用:对输

入数据进行0到31位的左移和0到16位的右移。

4)乘/加单元:一个17×17位硬件乘法器,它与一个40位专用加法器相连。作用:可在一个指令周期里完成17×17位的进

制补码乘法运算,也可在一个流水线状态周期内完成一个乘法累加(MAC)运算。 5)比较、选择和存储单元(CSSU):专门用于快速执行Viterbi算法的特殊硬件。

6)指数编码器(EXP encoder):用于支持单周期指令EXP的专用硬件。它可以求出累加器中的指数值,并以2的补码形式存放到T寄存器中。

6. 累加器A和B的作用是什么?它们有何区别?

作用:可以作为ALU或MAC的目标寄存器,存放运算结果,也可以作为ALU或MAC的一个输入。

执行并行指令(LD||MAC)和一些特殊指令(MIN和MAX)时,两个累加中的一个用于装载数据,而另一个用于完成运算。 区别:累加器A的31~16位(即高阶位AH)能被用作乘法-累加单元中的乘法器输入,而累加器B则不能。

7. ST0、ST1、PMST的作用是什么?它们是如何影响DSP工作过程的?

ST0:反映处理器的寻址要求和计算的中间运行状态

ST1:反映处理器的寻址要求、设置计算的初始状态、I/O及中断控制 PMST:设置和控制处理器的工作方式,反映处理器的工作状态。

8. 试述三种存储器空间的各自作用及配置情况是什么?

答:

1、程序存储空间:存放要执行的指令和指令执行中所用的系数表。CPU自动通过总线P以及外部总线访问程序空间。 MP/MC控制位用来决定程序存储空间是否使用内部ROM。

当MP/MC=0,4000H~EFFFH程序空间定义为外部存储器,而FF00H~FFFFH程序空间定义内部ROM。其工作方式为微型计算机。当MP/MC=1,4000H~FFFFH程序存储空间定义为外部存储器,不能使用片内ROM。其工作方式为处理器模型。 OVLY控制位用来决定程序存储空间是否使用内部RAM。

当OVLY=0,0000H~3FFFH定义为外部程序存储空间,程序存储空间不使用内部RAM,此时内部RAM只作为数据存储器使用。当OVLY=1,0000H~007FH保留,程序无法占用。0080H~3FFFH定义为内部DARAM,即内部RAM同时被映射到程序存储空间和数据存储空间。

2、数据存储空间存放执行指令所要用的数据。CPU根据指令通过总线CB、DB、EB以及外部总线访问数据空间。

DROM控制位用来决定数据存储空间是否使用内部ROM。当ROM=0时,F000H~FEFFH定义为外部ROM,FF00~FFFFH为外部数据存储空间,此时数据存储空间不使用内部ROM;当ROM=1时,F000~FEFFH定义内部ROM,FF00~FFFFH保留。

3、I/O空间与存储器映像外围设备相接口,也可以作为附加的数据存储空间使用。CPU根据I/O读写指令通过总线C/D/E以及外部总线访问I/O空间。

9. C54x有哪些寻址方式,它们是如何寻址的(提示可从寻址存储器、地址形式、应用场合等方面)?

答:C54x有7种数据寻址方式:

1)立即寻址 (Immediate Addressing):指令中本身就包含一个立即操作数,并在操作数前加“#”来表示,没有寻址过程; 2)绝对寻址 (Absolute Addressing):利用16位绝对地址访问存储单元,指令中包含一个确定的16位地址(可以是程序中的地址标号或符号常数)。

3)累加器寻址 (Accumulator Addressing):把累加器A的数作为地址去访问(扩展)程序存储空间中的数据内容。 4)直接寻址 (Direct Addressing) :利用数据指针DP和堆栈指针SP寻址,数据存储器的实际地址由基地址(DP或SP指向的地址) 和地址偏移量(要寻址的数据存储器地址(dmad)的低7位) 共同构成。 5)间接寻址 (Indirect Addressing) :将辅助寄存器作为地址指针访问存储器。

6)存储器映射寄存器寻址 (MMR Addressing) :存储器映像寄存器寻址是用来修改存储器映像寄存器的,但不影响当前数据页指针DP或堆栈指针SP的值。

7)堆栈寻址 (Stack Addressing) :利用堆栈指针来寻址。用于堆栈寻址有4条指令,即为PSHD、PSHM、POPD和POPM。

10. 带延迟的分支转移与不带延迟的分支转移指令有何差异?

延迟分支转移指令允许其后面的2个单周期指令执行完毕,因此采用延迟分支转移可以节省2个机器周期。

11. 可重复操作指令的特点是什么?其最多重复次数是多少

可以使紧随其后的一条指令或程序块重复执行,分为单指令重复和程序块重复,重复指令第一次重复之后,那些多周期指令就会有效地成为单周期指令。最大重复次数为65536

12. 汇编语句格式包含哪几部分?编写汇编语句需要注意哪些问题?

[标号][:] 助记符 [操作数] [;注释]

1、 所有的语句必须以一个标号、空格、星号或分号开始。 2、 标号是可选项,若使用,则必须从第一列开始。 3、 包含有一个汇编伪指令的语句必须在一行完全指定。

4、 每个区必须使用一个或多个空格分开,Tab字符与空格等效。

5、 注释是可选项,如果注释从第一列开始,前面必须标上星号或分号;从其它列开始就必须用分号开头。

6、 如果源程序很长,需要书写若干行,可以在前一行用反斜杠字符结束,余下部分接着在下一行继续书写。

13. Coff格式是什么?.text,.data,.bss段的内容主要有哪些?

1、 COFF是汇编源程序经汇编器(assembler)和链接接器(linker)的汇编和链接后会生成可在TI DSP上运行的目标文件,该目

标文件的格式是公用目标文件格式(Common Object File Format)。OFF文件有3种类型:COFF0、COFF1、COFF2。 2、.text 段(文本段),通常包含可执行代码;

.data 段(数据段),通常包含已经初始化了的数据; .bss 段(保留空间段),通常为未初始化的变量保留存储空间。

14. TMS320C54x芯片的流水线操作共有多少个操作阶段?每个阶段执行什么任务?完成一条指令都需要那些操作周期?

6个操作阶段:预取指、取指、译码、寻址、读数、执行。

1、预取指P:在T1机器周期内,CPU将PC中的内容加载到程序地址总线PAB,找到指令代码的存储单元。 2、取指F:在T2机器周期内,CPU从选中的程序存储单元中,取出指令代码加载到程序总线PB。

3、译码D:在T3机器周期内,CPU将PB中的指令代码加载到指令译码器IR,并对IR中的内容进行译码,产生执行指令所需要的一系列控制信号。

4、寻址A:即寻址操作数。在T4周期内,根据指令的不同,CPU将数据1或数据2的读地址同时将两个读地址分别加载数据地址总线DAB和CAB中,并对辅助寄存器或堆栈指针进行修正。

5、读数R:CPU在T5机器周期内,将读出的数据1和数据2分别加载到数据总线DB和CB中。若是并行操作指令,在完成上述操作的过程中,同时数据3的写地址加载到数据地址总线EAB中。

6、执行X:在T6机器周期内,CPU按照操作友要求执行指令,并将写数据3加载到EB中,写入指定的存储单元。

15. 试列举三个你在使用ccs时遇到过的错误提示,并说明解决的办法。

1) 写代码定格开始写控制指令,编译出错,顶格位置预留给标号控制代码要空几个空格再写; 2) 用到块重复指令时,未对BRC进行初始化,需初始化再使用。

16. 如何建立一个ccs工程项目,应该包含哪些必要文件

建立:1、在项目菜单“Project”中,选择“New”命令。在出现的“Save New Project As”对话框中,确定新工程项目的目录,选择保存工程项目文件的文件夹,输入工程项目文件名(*.mak),单击“保存”按键退出。由于不同的工程项目使用不同的源文件和C语言头文件,所以建立新的工程项目时最好每一个工程项目选择一个文件夹,以便区分不同的工程项目。 2、将源文件(*.c和*.asm)、链接命令文件(*.cmd)、库文件(*.lib)和头文件(*.h)等加入到工程项目中。

包含的文件:一个工程项目包括源程序,库文件,链接命令文件和头文件等 17.伪指令和注释有什么差别 它们在程序中的作用一样吗 ?

答:伪指令用于为程序提供数据并指示汇编程序如何汇编程序,是汇编语言程序的一个重要内容.汇编伪指令主要完成以下工作:

(1)将代码和数据汇编进指定的段

(2)为未初始化的变量在存储器中保留空间 (3)控制清单文件是否产生 (4)初始化存储器 (5)汇编条件代码块 (6)定义全局变量

(7)为汇编器指定可以获得宏的库 (8)考察符号调试信号

注释是程序的任选项.注释可以由ASCII码和空格组成.注释在汇编源清单中要显示,但不能影响汇编.注释在程序中的作用是说明程序语句的含义,以便对软件进行维护.

18.在堆栈操作中,PC当前地址为4020H,SP当前地址为1013H,运行PSHM AR7后,PC和SP的值分别是多少

解:SP=1012H; PC=4021H

19.伪指令起什么作用?它占用存储空间吗?

解:伪指令给程序提供数据和控制汇编过程。它多用于代码编译的,硬件并不认识汇编语言,它们只认机器语言,程序的运行涉及由高级语言汇编成汇编语言,再由汇编语言编译成机器语言,最后由硬件执行机器语言。编译过程中,伪指令起作用,但是伪指令不产生目标代码,仅仅是帮助编译器准确的把其他指令编译出来。因此,伪指令在代码编译过程中所起的功能,在程序运行时伪指令已经不存在了,因为代码是编译好后才执行的。伪指令不占用存储空间。

联系合同范文客服:xxxxx#qq.com(#替换为@)