TMS320C54xTMDSP硬件结构.ppt
《TMS320C54xTMDSP硬件结构.ppt》由会员分享,可在线阅读,更多相关《TMS320C54xTMDSP硬件结构.ppt(229页珍藏版)》请在三一办公上搜索。
1、第2章 TMS320C54xTM DSP硬件结构,2.1 概述 2.2 基本结构和引脚功能 2.3 中央处理单元(CPU)2.4 存储器和I/O空间 2.5 流水线2.6 片内外设 2.7 节电模式 2.8 外部总线及扩展习 题,2.1 概 述,C54x DSP是TMS320C5000TM DSP平台中最为成熟的芯片,已在通信等领域得到了广泛应用。本章介绍C54x DSP芯片的硬件结构。重点介绍其中TMS320VC5402(以下简称VC5402)芯片的一些资源特点。,2.2 基本结构和引脚功能,2.2.1 基本结构 图2.1给出了C54x DSP的结构框图。C54x DSP的基本结构围绕8条总
2、线(4条程序/数据总线和4条地址总线),有中央处理器(CPU)、存储器及片内外设与专用硬件电路三类。CPU包括算术逻辑单元(ALU)、累加器(ACC)、乘累加单元(MAC)、移位寄存器和寻址单元等。存储器包括片内ROM、单访问RAM(SARAM)和双访问RAM(DARAM)。片内外设与专用硬件电路包括片内各种类型的同步串口、主机接口、定时器、时钟发生器、锁相环及各种控制电路。,图2.1 C54x DSP方框图,C54x DSP系列芯片种类很多,但体系结构基本一致。不同型号的C54x DSP芯片CPU结构与功能完全相同,其差异主要体现在存储器容量、片内外设、供电电压、速度以及封装上。表2.1列出
3、了不同型号C54x DSP系列芯片的主要特征。其中,“*”表示该芯片有1个时分复用串口(TDM),“!”表示有1个缓冲串口(BSP)(C548/9有2个),“?”代表多通道缓冲串口(MCBSP),“#”代表不同的锁相环(PLL)选项,“”表示每个核有6通道直接存储器访问(DMA)器件。,表2.1 C54x DSP芯片的主要特征,表2.1 C54x DSP芯片的主要特征,VC5402是目前最流行的低成本DSP芯片型号,其基本结构和主要特点包括:*多总线结构。片内三套16bit数据总线(CB、DB、EB)和一套程序总线(PB)以及对应的4套地址线(CAB、DAB,EAB、PAB(4套总线可同时操作
4、);*40 bit算术逻辑单元ALU,包括40 bit桶形移位器和2个40 bit累加器A和B;*17l7 bit乘法器和一个40 bit专用加法器,可以在单周期内完成乘、加运算各一次;*比较选择存储单元(CSSU)有助于实现Viterbi算法;,*指数译码功能。单周期内从一个40 bit累加器中算出指数;*两个地址产生器,8个辅助寄存器AR0AR7;*程序空间扩展到1 M,数据空间和I/O空间各64 K,20条地址线,16条数据线;*片内4 Kl6 bit ROM,包含压扩表、256点正弦表、引导程序等;*片内16 K16 bit的双存取RAM;*单指令重复或指令块重复功能;*程序空间和数据
5、空间的数据块移动指令;*可对32 bit的长字操作;*一个指令内可以读23个操作数;,*6级流水完成一条指令操作:预取指、取指、译码、访问、读数、执行;*运算指令和存取指令并行执行;*条件存储指令;*迟延跳转和快速返回;*软件堆栈;*片内设备;*软等待产生器,数据组间切换可编程选项;*片内锁相环,分频和倍频功能;*2个多通道带缓冲同步串口;*增强的8 bit主机接口(HPl);,*2个16 bit定时器;*6通道DMA控制器;*IDLEl、IDLE2、IDLE3控制的3级低功耗等中断休闲状态,20 A电流消耗;*片上JTAG仿真口;*3.3 V I/O电压,1.8 V核电压,工作电流平均值75
6、 mA,其中核45 mA,IO约30 mA;*100MIPS,指令周期10 ns;*144脚PQFP表贴封装或144脚BGA封装,体积小,成本低。,2.2.2 引脚功能 C54x DSP的制造工艺为CMOS,生产型号不同其引脚个数也不同,下面以VC5402为例介绍其引脚功能,如表2.2所示。VC5402引脚按功能分为电源引脚、时钟引脚、控制引脚、地址引脚、数据引脚、外部中断引脚、通信端口引脚、通用I/O引脚等部分。,表2.2 VC5402引脚功能,表2.2 VC5402引脚功能,表2.2 VC5402引脚功能,表2.2 VC5402引脚功能,表2.2 VC5402引脚功能,2.3 中央处理单元
7、(CPU),C54x DSP系列芯片的CPU主要由控制部件和运算部件组成,其中控制部件是C54x DSP芯片的中枢神经系统。C54x DSP的CPU的基本组成如下:*CPU的状态和控制寄存器;*算术逻辑单元(ALU);*2个40位累加器ACCA、ACCB;*40位桶形移位寄存器;*乘累加单元(MAC);*16位的临时寄存器(T);*16位的状态转移寄存器(TRN);*比较、选择和存储单元(CSSU);*指数编码器。,2.3.1 CPU状态和控制寄存器C54x DSP有三个状态和控制寄存器:*状态寄存器0(ST0);*状态寄存器1(ST1);*处理器工作模式状态寄存器(PMST)。这些寄存器都是
8、存储器映射寄存器,所以它们可以存放到数据存储器或者从数据存储器加载它们,ST0和ST1中包含各种工作条件和工作方式的状态,PMST中包含存储器的设置状态及控制信息。,(1)状态寄存器ST0和ST1。ST0和ST1寄存器的各位可以使用SSBX指令进行设置,使用RSBX指令进行清除。ST0的位的详细描述见表2.3所示。,表2.3 状态寄存器ST0,表2.4 状态寄存器ST1,(2)处理器工作模式状态寄存器(PMST)。PMST寄存器由存储器映射寄存器指令进行加载,例如STM指令。,表2.5 状态寄存器PMST,表2.5 状态寄存器PMST,表2.5 状态寄存器PMST,表2.5 状态寄存器PMST
9、,2.3.2 算术逻辑单元 C54X DSP算术逻辑单元包括1个40位的ALU,1个比较、选择和存储单元CSSU(Compare Select Save Unit)和1个指数编码器。40位ALU可以实现绝大多数的算术和逻辑运算功能,且许多运算可以在1个周期内完成。ALU有2个输入端,1个输出端。当ALU进行算术运算时,分为两个16位的ALU使用,此时来自数据存储器、累加器或T 寄存器的数据分别进入两个ALU。在这种情况下,1个周期内将同时完成两个16位的操作。ALU的运算结果通常被送往累加器A或累加器B。,CSSU单元是为实现数据通信与模式识别领域常用的快速加法/比较/选择ACS运算而专门设计
10、的专用硬件电路。CSSU中的比较电路将累加器中的高16位与低16位比较,其结果分别送入状态转移寄存器TRN和状态比较寄存器TC,同时,结果也送入选择器,选择较大的数,并存于指令指定的存储单元中。指数编码器是专门为支持单周期EXP指令而设计的硬件电路。在定点运算中,经常涉及到整数的定标问题。将EXP指令与NORM指令配合使用,可以使得累加器数据的标准化操作非常方便快捷。,2.3.3 累加器 C54x DSP芯片有2个独立的40位累加器ACCA和ACCB可以存放ALU或MAC单元的运算结果,也可以作为ALU的一个输入。累加器结构如图2.2和图2.3所示,其中保护位可以防止迭代运算中(如自相关运算)
11、产生的溢出。,图2.2 C54x DSP累加器ACCA结构,图2.3 C54x DSP累加器ACCB结构,AG、BG、AH、BH、AL和BL是存储器映射寄存器(MMR),它们的值可以通过压入或弹出堆栈进行保存或恢复。ACCA和ACCB 的差别在于ACCA的(3116)位可以用作乘累加单元的一个输入。这些寄存器还可用于寻址操作。,2.3.4 移位寄存器 40位的桶形移位寄存器主要用于累加器或数据区操作数的定标:(1)在ALU运算前,对来自数据存储器的操作数或者累加器的值进行定标;(2)对累加器的值进行算术或逻辑移位;(3)对累加器归一化处理;(4)对累加器的值存储到数据存储器之前进行定标。移位位
12、数范围为-1631,移位位数为正对应于左移,移位位数为负则对应于右移。40位的输出结果可以送到ALU的输入端。,移位数可以用一个立即数(-1615)形式定义,或者用状态寄存器ST1的累加器移位模式(ASM)字段(共5位)定义,或者用T寄存器中最低6位的值来定义。例如:SFTL A,+2;累加器A(ACCA)中的值逻辑左移2位 ADD A,ASM,B;累加器A中的值移位(位数由ASM值确定)后与累加器B的值 相加,结果放在累加器B(ACCB)中 NORM A;标准化累加器A中的值(移位位数由T寄存器中最低6位的值确定),2.3.5 乘累加单元 乘累加(MAC)单元包括1个17位17位的乘法器和1
13、个40位的专用加法器。MAC单元具有强大的乘累加功能,在一个流水线周期内可以完成1次乘法运算和1次加法运算。MAC单元中,乘法器能够进行有符号数、无符号数以及有符号数与无符号数的相乘运算,依据不同情况作以下三种处理:(1)如果是两个有符号数相乘,则每个16位操作数先进行符号扩展,在最高位前添加1个符号位(其值由最高位决定),扩展为17位有符号数后再相乘;(2)如果是无符号数乘以无符号数,则在两个操作数的最高位前面添加“0”,扩展为17位的操作数再相乘;,(3)如果是有符号数与无符号数相乘,有符号数在最高位前添加1个符号位(其值由最高位决定),无符号数在最高位前面添加“0”,然后两个操作数相乘。
14、两个16位的二进制补码相乘会产生两个符号位,为了提高计算精度,在状态寄存器ST1中设置小数相乘模式FRCT=1,乘法器结果左移1位以去掉1个多余的符号位。在MAC单元中,加法器的输入一个来自乘法器的输出,另一个来自累加器A或B中的某一个输出。加法器的运算结果输出到累加器A或B中。有关加法器的舍入和饱和逻辑详见第三章MAC等指令详解。,2.4 存储器和I/O空间,2.4.1 C54x DSP存储器概述 C54x DSP总共具有192 K字16位的存储器空间。这些空间可分为三种专门的存储器空间,即64 K字的程序空间、64 K字的数据空间和64 K字的I/O空间。一些C54x DSP芯片采用了分页
15、扩展方法可访问8 M的程序空间。C54x DSP体系结构的并行特性和片内RAM的双访问功能,允许C54x DSP器件在任何给定的机器周期内执行四个并行存储器操作:一次取指、两次读操作数和一次写操作数。,片外存储器具有寻址较大存储空间的能力,片内存储器寻址空间较小。但片内存储器具有如下优点:不需插入等待状态、低成本和低功耗。C54x DSP包含随机存取存储器(RAM)和只读存储器(ROM)。RAM可分为以下三种类型:双访问RAM(DARAM)、单访问RAM(SARAM)和两种方式共享的RAM。在多CPU核心器件和子系统中,DARAM或SARAM可以被共享。用户可以配置DARAM和SARAM为数据
16、存储器或程序/数据存储器。C54x DSP片内存储器容量见表2.6。C54x DSP片内还有26个映射到数据存储空间的CPU寄存器和外设寄存器。,表2.6 各种C54x DSP片内各种存储器的容量(单位:K字),注:用户可以配置双访问RAM(DARAM)和单访问RAM(SARAM)位数据存储器或程序/数据存储器,2.4.2 存储器地址空间分配 C54x DSP的存储器空间可以分为三个单独选择的空间,即程序、数据和I/O空间。在任何一个存储空间内,RAM、ROM、EPROM、EEPROM或存储器映射外设都可以驻留在片内或者片外。根据芯片的型号不同,C54x DSP包含RAM(DARAM、SARA
17、M和两种方式共享的RAM)和ROM。C54x DSP具有三个CPU状态寄存器位,影响存储器的配置,这三个状态位是处理器模式状态寄存器(PMST)中的位:、OVLY和DROM。,(1)位:若=0,则片内ROM映射到程序存储空间;若=1,则片内ROM不映射到程序存储空间。(2)OVLY位:若OVLY=1,则片内RAM映射到程序和数据存储空间;若OVLY=0,则片内RAM只映射到数据存储空间。(3)DROM位:若DROM=1,则部分片内ROM映射到数据存储空间;若DROM=0,则片内ROM不映射到数据存储空间。,图2.4 VC5402的存储器映射,VC5402可以采用分页扩展方法扩展程序存储空间。其
18、程序空间可扩展到1024 K(1 MB)字。故VC5402有20根地址线,增加了一个额外的存储器映像寄存器程序计数器扩展寄存器(XPC)以及6条寻址扩展程序空间的指令,VC5402的扩展程序空间分成16页,每页64 K字,如图2.5所示。,注:当OVLY=0时,115页的低32 K字是可以获得的。当OVLY=1时,则片内RAM映射到程序空间页面的低32 K字。,图2.5 VC5402的扩展程序存储器映射,图2.6 C5410的存储器映射,C5410可以扩展程序存储器空间。C5410采用分页扩展方法,使其程序空间扩展到8192K(8M)字。故它有23根地址线。同VC5402一样,它也拥有一个XP
19、C及6条寻址扩展程序空间的指令,C5410中的扩展程序空间分成128页,每页64K字,如图2.7和图2.8所示。根据片内RAM是否映射到程序空间和数据空间以及OVLY的设置,可访问的外部扩展程序存储空间是不同的。,图2.7 C5410的扩展程序存储器映射(OVLY=0时,片内RAM不映射到程序空间和数据空间),注:当片内RAM在程序空间有效时,所有对xx 0000 xx7FFFh区的访问,无论其页面为多少,均被映射到00 000000 7FFFh的片内RAM。,图2.8 C5410的扩展程序存储器映射(OVLY=1时,片内RAM映射到程序空间和数据空间),2.4.3 程序存储器 C54x DS
20、P的外部程序存储器可寻址64 K字的存储空间。它们具有片内ROM、DARAM、SARAM和双访问单访问两种方式共享的RAM,这些存储器都是可以通过软件映射到程序空间。当存储单元被映射到程序空间时,并且当地址处于片内存储器的范围之内时,处理器就能自动地对这些存储器单元进行访问。当程序地址产生单元(PAGEN)产生的地址处在片内存储器范围之外,处理器就能自动地对外部寻址。表2.7列出了C54x DSP几种可用的片内程序存储器的容量。,表2.7 C54x DSP可用的片内程序存储器的容量(单位:K字),1程序存储器的可配置性 MP/和OVLY位决定了哪个片内存储器在程序空间中可用。器件复位时,MP/
21、引脚的逻辑状态被传送到PMST寄存器的MP/MC位。MP/MC位决定了是否使用片内ROM。(1)如果MP/=1,器件配置为微处理器,并且片内的ROM不可用。(2)如果MP/=0,器件被配置为微计算机,并且片内的ROM可用。DSP的MP/引脚仅仅在复位时被采样。用户可以通过软件来设置或清除PMST寄存器的MP/MC位,以便禁止或使能片内ROM。,2片内ROM的组织 为了增强处理的性能,片内ROM可以细分和组织为若干块。例如,块组织可以让用户捕获来自于一个ROM块的指令,而不必牺牲来自不同块的数据访问(即可以同时在别的块中读取数据)。图2.9所示为几种C54x DSP的片内ROM的块组织。,图2.
22、9 片内ROM的块组织,根据C54x DSP的不同,ROM可以组织成容量为2 K字、4 K字或8 K字的块。,3程序存储器地址映射和片内ROM的内容 当DSP复位时,复位和中断向量都映射到起始地址为FF80h的第128页的程序空间首地址。复位后,这些向量可以被重新映射到程序空间中任何一个128字页的开头。这个特征使得很容易地将中断向量表从自举ROM中移出来,然后再从存储器映射中移去ROM。在C54x DSP的片内ROM中,128字被保留用于器件的测试。写到片内ROM并且在片内ROM执行的应用程序代码必须保留128字(FF00hFF7Fh)。,4片内ROM的代码内容和映射 C54x DSP提供了
23、各种容量的ROM(2 K字、4 K字、16 K字、28 K字或48 K字)。容量大的片内ROM可以把用户的程序代码编写进去,然而片内高2 K字ROM中的内容是由TI公司定义的。这2 K字程序空间(F800hFFFFh)中包含如下内容:(1)自举加载程序。从串行口、外部存储器、I/O端口或者主机接口(如果有的话,自举加载。(2)256字律扩展表。(3)256字A律扩展表。(4)256字正弦函数值查找表。(5)中断向量表。,图2.10 片内ROM程序存储器映射(高2 K字的地址),2.4.4 数据存储器 C54x DSP的数据存储器包含多达64 K16位字。除了SARAM和DARAM外,C54x
24、DSP还可以通过软件将片内ROM映射为数据存储空间(DROM)。表2.8列出了几种C54x DSP可用的片内数据存储器的容量。,表2.8 各种C54x DSP可用的片内数据存储器的容量(单位:K字),1数据存储器的可配置性 数据存储器可以驻留在片内或者片外。片内DARAM映射为数据存储空间。对于C54x DSP,用户可以通过设置PMST寄存器的DROM位,将部分片内ROM映射到数据存储空间。这一部分片内ROM既可以在数据存储空间使能(DROM位置1),也可以在程序空间使能(MP/清0)。复位时,处理器将DROM位清0。通过使用单操作数寻址指令,包括32位长字操作数的指令,可以在单周期内完成对数
25、据ROM的访问。而在使用双操作数寻址时,如果两个操作数驻留在同一块内,则需要2个周期才能完成对数据ROM的访问;如果操作数驻留在不同的块内,则只需1个周期就可以了。,2片内的RAM的组织 为了提高处理器的性能,片内RAM也可细分成若干块。例如,分块组织可以让用户在同一个周期内从同一块DARAM中取出两个操作数,并将数据写入到另一块DARAM中。几种C54x DSP内的RAM的分块组织见图2.11所示。所有C54x DSP上的DARAM的起始1 K字的块包括程序存储器映射CPU和外设寄存器,32位的暂存存储器DARAM和896个字的DARAM。,图2.11 C5402/5410/5420的RAM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- TMS320C54xTMDSP 硬件 结构
链接地址:https://www.31ppt.com/p-6522012.html