DSP课后习题

  • 格式:docx
  • 大小:63.76 KB
  • 文档页数:6

习题一

1.简述DSP芯片的要紧特点

DSP的要紧特点有哈佛结构、多总线结构、指令系统的流水线操作、专用的硬件乘法器、特殊的DSP指令、快速的指令周期、硬件配置强。

2.请详细描述冯·诺依曼结构和哈佛结构,并比较它们的不同。

冯·诺依曼结构结构的特点是数据和程序共用总线和存储空间,因此在某一时刻,只能读写程序或只能读写数据。哈佛结构的要紧特点是将程序和数据存储在不同的存储空间,即程序存储器和数据存储器是两个彼此独立的存储器,每一个存储器独立编址,独立访问。

3.简述DSP系统的设计进程

确信DSP系统的性能指标、进行算法优化和模拟、选择DSP芯片和外围芯片、进行硬件电路设计、进行软件设计、进行软硬件综合调试。

4.在进行DSP系统设计时,如何选择适合的DSP芯片?

依照系统运算量的大小、对运算精度的要求、存储器的要求、系统本钱限制和体积等要求选择适合的DSP芯片。

5.TI公司的DSP产品目前有哪三大主流系列?各自的应用领域是什么?

TMS320C2000——主推TMS320C24x和TMS320C28x定点DSP,要紧用于数字化操纵领域;

TMS320C5000——TMS320C54x和TMS320C55x 16位定点DSP,要紧用于通信、便携式应用领域;

TMS320C6000——TMS320C62x和TMS320C64x 32位定点DSP、TMS320C67x 32/64位浮点DSP,要紧用于超高速、大容量实时信号处置的场合,如音视频技术、通信基站。

习题二

1.请描述TMS320C54x的总线结构。

TMS320C54x DSP采纳先进的哈佛结构并具有八组总线,其独立的程序总线和数据总线许诺同时读取指令和操作数,实现高度的并行操作。八组16位总线的功能如下:

程序总线(PB)传送从程序存储器来的指令代码和当即数。

三组数据总线(CB,DB,EB)连接各类元器件,CB和DB总线传送从数据存储器读出的操作数,EB总线传送写入到存储器中的数据。

四组地址总线(PAB,CAB,DAB和EAB)传送执行指令所需要的地址。

2.写出提取B=03 6543 4321中的指数值的指令,执行后T中的值为多少?

3.TMS320C54x芯片的CPU包括哪些部份?其功能是什么?

CPU状态和操纵寄放器:C54x有3个状态操纵寄放器:状态寄放器0(ST0)、状态寄放器1(ST1)、处置器工作方式状态寄放器(PMST)。ST0和ST1中包括各类工作条件和工作方式状态;PMST中包括存储器的设置状态及其它操纵信息。

40位算术逻辑单元(ALU):输出40位的数据送往累加器A或B,进行溢出处置、进位位和双十六位算术运算。

两个40位累加器A和B:能够配制成乘法器/加法器或ALU目的寄放器。

桶形移位寄放器:为输入的数据定标、对累加器的值进行算术或逻辑移位。

乘法器/加法器单元:在一个流水线状态周期内完成一次乘法累加(MAC)运算。

比较、选择和存储单元(CSSU):专为Viterbi算法设计的进行加法/比较/选择运算的硬件单元。

指数编码器:它能够在单个周期内执行EXP指令,求得累加器中数的指数值,并以2的补码形式寄存到T寄放器中。

4.TMS320C54x有几个状态和操纵寄放器?它们的功能是什么?

TMS320c54x有三个状态和操纵寄放器,它们别离为:状态寄放器ST0、状态寄放器ST1和处置器方式状态寄放器PMST。ST0和ST1包括了各类工作条件和工作方式的状态,PMST包括了存储器配置状态和操纵信息。

5.TMS320c54x片内存储器一样包括哪些种类?如何配置TMS320c54x片内存储器。

TMS320c54x片内存储器包括随机访问存储器(RAM)和只读存储器(ROM),RAM又分为两种:双访问RAM(DARAM)和单访问RAM(SARAM)。

片内存储器的配置:在器件复位时MP/MC引脚上的逻辑电平被采样并存储到寄放器PMST的MP/MC位。MP/MC位的状态能够确信片内ROM的使能与否。若是MP/MC=1,器件设置为微处置器工作模式,片内ROM在程序存储空间不被使能,那么从外部程序存储器0FF80H起执行程序;若是MP/MC=0,器件设置为微计算机工作模式,片内ROM被映像到程序存储器空间,那么从片内ROM的0FF80H起执行程序。

在复位时,若是片内RAM(包括DARAM和SARAM)没有映像到程序存储器空间,用户能够通过对寄放器PMST的OVLY位的设置来配置它们。若是使OVLY=0,那么片内RAM只映像在数据存储器空间;若是OVLY=1,那么片内RAM同时映像在程序存储器空间和数据存储器空间。

6.TMS320c54x片内外设要紧有哪些?

TMS320c54x片内外设要紧有通用I/O引脚、按时器、时钟发生器、主机接口(HPI)、串行口、软件可编程等待状态发生器、可编程分区转换逻辑。

7.当TMS320c54x CPU接收到可屏蔽的硬件中断时,知足哪些条件才能响应中断?

优先级最高的中断、状态寄放器ST1中的INTM位是0,表示许诺可屏蔽中断、中断屏蔽寄放器IMR中相应的位是1。

8.TMS320c54x的中断向量表是如何重定位的?

DSP复位时,中断向量表的起始地址固定为0FF80H,复位后,中断向量可从头被映像到程序存储器的任何一个128字页开始的地址。中断向量地址由PMST中的中断向量指针IPTR(9位)和中断向量号(0-31)左移两位后组成。

习题三

1.TMS320c54x提供哪几种数据寻址方式?试举例说明它们是如何寻址的?

TMS320c54x提供以下7种大体数据寻址方式:

当即数寻址:指令中有一个固定的当即数。如LD #3,ASM

绝对地址寻址方式:指令中有一个固定的地址(16位)。如MVPD TABLE,*AR7

累加器寻址:按累加器的内容作为地址去访问程序存储器中的一个单元。如READA Smem或WRITA

Smem

直接寻址:指令编码中含有的7位地址与DP或SP一路合成数据存储器中操作数的实际地址。如STL

A,@x+128

间接寻址:通过辅助寄放器寻址。显现*ARx+

存储器映射寄放器寻址:修改存储器映射寄放器中的值,而不阻碍当前数据页面指针DP和当前堆栈指针SP的值。显现MMR

堆栈寻址:把数据压入或弹出系统堆栈。PUSH、POP

2.在循环寻址方式中,如何确信循环缓冲的起始地址?如循环缓冲大小为32,其起始地址必需从哪开始?

大小为R的循环缓冲区必需从一个N位(N是知足2NR条件的最小整数)边界开始。如循环缓冲大小为32,那么循环缓冲区必需从低6位为0的地址XXXX XXXX XX00 0000开始

3.略

4.请描述TMS320c54x的位倒序寻址方式。设FFT长度N=16。AR0应赋值为多少?假设AR2中寄存的数据存储器地址为FF00H,通过8次*AR2+0B寻址,访问的单元地址依次为多少?

位倒序寻址方式中,AR0寄存的整数N是FFT点数的一半。另一个辅助寄放器指向数据寄存的单元。当利用位倒序寻址把AR0加到辅助寄放器中时,地址以位倒序的方式产生,即进位是从左到右,而不是从右到左。FFT长度为16时,AR0赋值为8,访问的单元地址依次为:

*AR2+0B;AR2=FF08H(第1次后)

*AR2+0B;AR2=FF04H(第2次后)

*AR2+0B;AR2=FF0CH(第3次后)

*AR2+0B;AR2=FF02H(第4次后)

*AR2+0B;AR2=FF0AH(第5次后)

*AR2+0B;AR2=FF06H(第6次后)

*AR2+0B;AR2=FF0EH(第7次后)

*AR2+0B;AR2=FF01H(第8次后)

5.双数据存储器操作数间接寻址利用哪几种类型?所用辅助寄放器只能是哪几个?其特点是什么? 双数据存储器操作数间接寻址类型为*ARx、*ARx-、*ARx+、*ARx+0%四种。所用的辅助寄放器只能是AR二、AR3、AR4、AR5,双操作数间接寻址特点是:占用程序空间小,运行速度快。

6.直接寻址方式有哪两种?其实际地址如何生成?当SP=2000H,DP=2,偏移地址为25H时,别离寻址的是哪个存储空间的哪个单元?

两种方式是数据页指针直接寻址、堆栈指针直接寻址。CPL=0,数据存储器地址的低7位与DP中的9位字段相连组成16位的数据存储器地址;CPL=1,数据存储器地址的低7位与SP的16位地址想家形成16位的数据存储器地址。

当CPL=0时,寻址的是数据存储空间的0125h地址单元;

当CPL=1时,寻址的是数据存储空间的2025h地址单元

7.TMS320c54x指令系统包括哪几种大体类型的操作?

TMS320c54x指令系统包括算术运算指令、逻辑运算指令、程序操纵指令和加载和存储指令四种大体类型。

习题四

1.汇编器和链接器如何对段进行治理?

汇编器对段的处置是通过段伪指令来区别各个段的,并将段名相同的语句汇编在一路。汇编器的5条伪指令可识别汇编语言程序的各个部份:

.bss 未初始化段,给未初始化变量保留空间

.usect 未初始化段,如概念一个缓冲区,在一个未初始化的段中保留空间

.text 已初始化段,即代码段,该段包括程序代码

.data 已初始化段,一样是指常数表,该段包括已初始化的数据

.sect 已初始化段,如概念一段完成某项功能的代码为一个段,能够命名。

链接器对段的处置,有两个要紧任务:

(1)MEMORY命令 用来概念目标系统的存储器配置图,包括对存储器各部份的命名,和规定它们的起始地址和长度。 (2)SECTION命令 告知链接器如何将输入段组合成输出段,和将输出段放在存储器的什么位置。

2.汇编程序中的伪指令有什么作用?其中段概念伪指令有哪些?初始化段和未初始化段有何区别?

伪指令不生成最终代码(即不占据存储单元),但对汇编器、链接器有重要的指示作用。包括段概念、条件汇编、文件引用、宏概念等。

段概念伪指令:.text——此段寄存程序代码

.data——此段寄存初始化了的数据

.bss——此段存入未初始化的变量

.sect ‘名称’——概念一个出名段,放初始化了的数据或程序代码

区别:当汇编器碰到初始化段时将停止当前段的汇编,然后将紧接着的程序代码或数据汇编到指定的段中,直到再次碰到另一条这些指令为止,各个段中的数据都是持续安排到存储器中的。当汇编器碰到未初始化短时,并非终止当前段的汇编,只是临时从当前段离开出来,并开始对新的段进行汇编,两伪指令能够出此刻一个已初始化段的任何位置上,而可不能对它的内容产生阻碍。

3.链接命令文件有什么作用?如何利用MEMORY命令和SECTIONS命令?链接命令文件内容和汇编程序中段概念伪指令有联系吗?

链接命令文件(.cmd文件)通过段定位操纵命令分派程序代码空间、数据代码空间、程序运行空间、堆栈空间。

在链接命令文件中能够利用MEMORY和SECTIONS命令来概念目标系统的存储器配置图及段的映射。

有联系。段伪指令SECTIONS负责告知链接器将输入文件顶用.text、.data、.bss、.sect等伪指令概念的段配置到MEMORY命令中。