习题一
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)传送从程序存储器来的指令代码和立即数。
三组数据总线(CBDB,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)。
汇编table指令什么意思片内存储器的配置:在器件复位时MP/引脚上的逻辑电平被采样并存储到寄存器PMST的MP/位。MP/位的状态可以确定片内ROM的使能与否。如果MP/=1,器件设置为微处理器工作模式,片内ROM在程序存储空间不被使能,则从外部程序存储器0FF80H起执行程序;如果MP/=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是满足条件的最小整数)边界开始。如循环缓冲大小为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%四种。所用的辅助寄存器只能是AR2、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 ‘名称’——定义一个有名段,放初始化了的数据或程序代码
区别:当汇编器遇到初始化段时将停止当前段的汇编,然后将紧接着的程序代码或数据汇编到指定的段中,直到再次遇到另一条这些指令为止,各个段中的数据都是连续安排到存储器中的。当汇编器遇到未初始化短时,并不结束当前段的汇编,只是暂时从当前段脱离出来,并开始对新的段进行汇编,两伪指令可以出现在一个已初始化段的任何位置上,而不会对它的内容产生影响。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。