02第二章硬件结构1_第1页
02第二章硬件结构1_第2页
02第二章硬件结构1_第3页
02第二章硬件结构1_第4页
02第二章硬件结构1_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章DSP的硬件结构(1),2.1哈佛总线结构及特点,当代CPU芯片包括GPP、DSP和微控制器MCU,均具有相似的结构:主要由CPU、RAM存储器、ROM存储器、内部总线和外设接口等部分组成。,1、CPU芯片的基本结构,2、VonNeumann结构和Harvard结构,目前DSP无一例外的采用Harvard结构,运行速度已经达到8核心1.25GHz主频,8000MIPS(TMS320C6678)以上。Harvard结构的优点:在于程序和数据的存储空间分开,具有独立的地址总线和数据总线,取指和读数可以同时进行,从而提高了运行速度。Harvard结构的不足:存储器利用率低;不能实现SMC(SelfModifyingCode)。,TMS320VC5402存储器分配,注意:PMST寄存器中的OVLY和DROM,2.2、TMS320C54xDSP总线结构,C54XDSP整体结构:,PC程序计数器IPTR中断向量指针RC循环计数器BRC块循环计数器RSA块循环起始地址寄存器REA块循环结束地址寄存器ARP辅助寄存器指针DP数据页指针SP堆栈指针ARx辅助寄存器ARAUx辅助寄存器算术单元BK循环缓冲区长度寄存器,C54x总线结构特点,(1)哈佛总线结构,4组8条16位总线可同时完成对程序指令读取和数据的存取程序总线(PB)数据总线(CB、DB、EB)地址总线(PAB、CAB、DAB、EAB(2)ARAU0和ARAU1可以在一个周期产生两个数据地址(3)PB可以把程序存储器的操作数直接给到乘加器,连同双操作数的特点,支持在一个周期内执行三操作数指令(4)片上总线DB和EB结合实现对片上外设的操作(5)改进的哈佛结构,程序存储器和数据存储器可以部分共享。,2.3C54x的CPU,1、ALU算术逻辑单元;2、乘加器;3、桶型移位器;4、指数编码器;5、比较、选择、存储单元(CSSU)。6、累加器,1、C54x算术逻辑单元,(1)ALU输入:,X:桶形移位寄存器的输出和来自数据总线DB的数据存储器操作数;Y:累加器A或B中的数据、来自数据总线CB的数据存储器操作数以及暂存器T中的数据。当一个16位数据存储器操作数加到40位ALU的输入端时,如何处理?当状态寄存器ST1的SXM=0时,如果数据是D0-D15则高位(D16-D39)填零;如果数据是D16-D31,那么D0-D15和D32-D39填零当状态寄存器ST1的SXM=1时,如果数据是D0-D15则符号位扩展。如果数据是D16-D31时,低位填充0,3932位符号位扩展。,ST1,通用CPU中,发生溢出后,设置溢出标志,处理的方法是,不带符号位时回绕,带符号位时最高位取反,误差较大。DSP设置了溢出保护功能:在溢出功能设置后(OVM=1),每当发生溢出时,DSP芯片自动将结果设置为最大正数或最大负数。对于32位的DSP,最大正数为(2311)(007FFFFFFFh),最大负数为(-231)(FF80000000h)。,(2)溢出的处理:,ST1,当发生溢出时,*状态寄存器ST1的OVM=1时,用:(1)007FFFFFFFH(正向溢出)即:用最大32位正数加载累加器;(2)FF80000000H(负向溢出)即:最大负数加载累加器。*状态寄存器ST1的OVM=0时,ALU的结果直接给累加器,不作任何修改。*溢出发生后,溢出标志位置“1”,直到复位或执行溢出条件指令或直接清除OVA或OVB。,CPU状态寄存器ST1的C16可以设置成双16位模式(C16=1),相当于把一个40位的ALU看成两个16位的ALU,在一个周期内进行特殊的双16位算术运算。,(3)双16位算术运算:,ST1,(4)进位位C:执行加法产生进位,则置1,否则,加法后C被复位;执行减法产生借位。则清0,否则,减法后C被置位。进位和借位指ALU的运算结果,仅仅指40位ALU的第32位。,2、C54x乘加器,(1)单周期乘法C54xCPU有一个17x17位的硬件乘法器,与一个40位的专用ALU相连,可以在单周期内完成一次乘累加运算,适合于实现离散傅里叶变换等。乘法器可以执行无符号数的乘法:每个16位操作数前面加一个0。乘法器可以执行有符号数的乘法:每个16位操作数都进行符号位扩展,变为有符号的17位数。乘法器还可以执行无符号数和有符号数的乘法:无符号数前面加0,有符号数符号位扩展。,(2)小数乘法方式如果CPU状态寄存器ST1中的FRCT位等于1时,乘法器工作在小数乘法方式。此时乘法结果左移1位,以消除多余的符号位。(3)加法器部分具有零检测器、舍入器和饱和/溢出逻辑电路。其饱和/溢出电路受CPU状态寄存器ST1中饱和方式位OVM的控制,只当OVM=0时,加法器的结果可以直接加到目的累加器。对于MAC等指令,如果后面带后缀R,要进行舍入处理,即把结果加上215,并将目的累加器的低16位清0。,3、桶型移位器,桶型移位器的作用:ALU运算前,对取自数据存储器的操作数或者累加器的值进行定标累加器的值存储到数据存储器之前进行定标对累加器的值进行算术或逻辑移位对累加器内容进行归一化处理,(1)桶型移位器的原理,(2)工作信号数据输入:DB(16位数)DB、CB(32位数)累加器A或B(40位数)测试位TC数据输出:ALU的一个输入端(40位数)EB(16位数),(3)移位的控制由T寄存器的低6位来控制:(-1631)由ST1中ASM的值(5位)控制:(-1615)指令寄存器中的立即数(-1615)或(015),例2-1:LD#0,B;将立即数0装入B累加器LD#D0h,A;将立即数#D0H装入A累加器ADDA,-4,B;累加器A右移4位后加到累加器B;执行结果B的内容为:;(000000000D)LD#0,B;累加器B清0LD#D0h,A;将立即数#D0H装入A累加器LD#3,ASM;将ST1寄存器的ASM位写入3ADDA,ASM,B;累加器A按ASM规定的移位数;移位后加到累加器B,执行结果;B的内容为:(0000000680),000000000000000000000000000011010000000000000000000000000000011010000000,4、比较、选择、存储单元,比较、选择和存储单元(CSSU)是专门为Viterbi算法设计的加法/比较/选择(ACS)操作的硬件单元。CSSU支持均衡器和信道译码器所用的各种Viterbi算法。Viterbi算法是A.J.Viterbi在1967年提出的一种卷积码解码算法。基本思想就是利用动态规划来搜索网格图中的最佳路径。,同时实现:两次加运算一次比较运算一次选择,Viterbi算法基本思想,CSSU原理图,执行Viterbi算法的操作:(1)ST1中的C16置1,ALU进行双16位加法A(31-16)=Metric1+D1A(15-0)=Metric2+D2(2)CMPSA,*AR1+;比较A(31-16)和A(15-0);大数送*AR1(1个周期完成);AR1内容+1如果A(31-16)送AR1。TRN左移1位0送TRN(0),0送TC;如果A(15-0)送AR1。TRN左移1位1送TRN(0),1送TC;TRN自动记录了比较的结果。,例2-2:分析下面指令的执行结果CMPSA,*AR1+,5、指数编码器,指数编码器也是TMS320C54xDSP的一个专用硬件,可以在单周期内执行专用指令EXP,计算出累加器中数的指数值。累加器中数的指数值,以2的补码形式(-8至31)存到T寄存器中。累加器中数的指数值=冗余符号位8对累加器A归一化:EXPA;冗余符号位-8T寄存器STT,EXPONENT;把T寄存器的值存到EXPONENT单元中NORMA;累加器按T中的值移位,得尾数,这个1不是冗余的,6、累加器,(1)累加器A和BC54x有两个40位的累加器A和B,都可以配置成乘加器或ALU的目的寄存器。在执行MIN、MAX和并行指令LD|MAC时,一个累加器加载数据,另一个累加器完成运算。(2)累加器的结构累加器A和B都分成保护位、高阶位和低阶位三部分:,(3)累加器A和B的访问累加器A和B的AG,AH,AL,BG,BH和BL,都是存储器映像寄存器,可以通过指令寻址0页数据存储器来访问累加器的这些寄存器。可以通过PSHM或POPM把寄存器内容压入堆栈或弹出堆栈。累加器A和B的差别仅在于累加器A的AH可以用作乘法器的一个输入。累加器B不作为乘加器输入。,(4)保存累加器的内容,用户可以用STH、STL、STLM和SACCD等指令,或并行存储指令将累加器的内容保存到数据存储器中。操作前,有时需要先对累加器的内容进行移位,右移时,AG和BG中的数分别移到AH和BH;左移时,AL和BL中的数分别移到AH和BH,低位填0。例2-4:如果累加器A=FF43211234h执行下面指令后TEMP存储单元的内容是什么?(1)STHA,8,TEMP;答案:TEMP=2112H(2)STHA,-8,TEMP;答案:TEMP=FF43H(3)STLA,8,TEMP;答案:TEMP=3400H(4)STLA,-8,TEMP;答案:TEMP=2112H,(5)累加器的移位和循环移位指令,累加器移位或循环移位共有6条指令:SFTA算术移位SFTL逻辑移位SFTC条件移位ROL累加器循环左移ROR累加器循环右移ROLTC累加器带TC位循环左移,第一次作业:1、C54xDSPCPU具有哪些专用的硬件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论