第2章TMS320C54x的CPU结构和存储器配置课件_第1页
第2章TMS320C54x的CPU结构和存储器配置课件_第2页
第2章TMS320C54x的CPU结构和存储器配置课件_第3页
第2章TMS320C54x的CPU结构和存储器配置课件_第4页
第2章TMS320C54x的CPU结构和存储器配置课件_第5页
已阅读5页,还剩161页未读 继续免费阅读

下载本文档

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

文档简介

第2章TMS320C54x的CPU结构和存储器配置2.1TMS320C54xDSP的结构2.2TMS320C54x的总线结构2.3TMS320C54x的CPU结构2.4TMS320C54x存储器和I/O空间第2章TMS320C54x的CPU结构和存储器配置2.2.1TMS320C54xDSP的结构2.1.1TMS320C54xDSP的基本结构图2-1和图2-2给出了TMS320C54x的两种结构框图。2.1TMS320C54xDSP的结构2.1.1图2-1TMS320C54x的组成框图图2-1TMS320C54x的组成框图图2-2TMS320C54x的功能框图图2-2TMS320C54x的功能框图TMS320C54x是16位定点DSP。TMS320C54x的中央处理单元(CPU)具有改进的哈佛结构、低功耗设计和高度并行性等特点。除此之外,高度专业化的指令系统可以全面地发挥系统性能。使用TMS320C54x的专用硬件逻辑的CPU,再配以按照用户需要所选择的片内存储器和片内外设,可组成用户的ASIC(ApplicationSpecificIntergratedCircuit,专用集成电路)以应用于电子产品的不同领域。TMS320C54x是16位定点D2.1.2TMS320C54xDSP的主要特点TMS320C54x系列定点DSP芯片共享同样的CPU内核和总线结构,但每一种器件片内存储器的配置和片内外设不尽相同。表2-1提供了TMS320C54x各DSP基本性能的概要。2.1.2TMS320C54xDSP的主要特点表2-1TMS320C54x系列基本配置汇总表表2-1TMS320C54x系列基本配置汇总表TMS320C54x的主要特征如下:(1)CPU(中央处理单元)利用其专用的硬件逻辑和高度并行性提高芯片的处理性能。●1条程序总线、3条数据总线和4条地址总线组成的改进型哈佛结构,提供了更快的速度和更高的灵活性。●40bit的算术逻辑单元(ALU)包括40bit的桶形移位器和两个独立的40bit累加器A、B。●17×17bit并行乘法单元和专用的40bit加法器用于无等待状态的单周期乘/累加操作。TMS320C54x的主要特征如下:●比较、选择和存储单元(CSSU)能够完成维特比(Viterbi,通信中的一种编码方式)的加/比较/选择操作。●指数译码器可以在单周期内对40bit累加器进行指数运算。●两个地址发生器包括8个辅助寄存器(AR0~AR7)和两个辅助寄存器算术运算单元(ARAU0、ARAU1)。●TMS320C5420还包括一个双CPU的结构。●比较、选择和存储单元(CSSU)能(2)存储器具有192K字可寻址存储空间(包括64K字程序存储空间、64K字数据存储空间和64K字I/O空间)。其中,TMS320C548、TMS320C549、TMS320C5402、TMS320C5410和TMS320C5420的程序存储空间还可以扩展到8M字。片内存储器配置因型而异。(2)存储器具有192K字可寻址(3)高度专业化的指令集能够快速地实现算法并用于高级语言编程优化。其包括:●单指令重复和块指令重复。●用于更好地管理程序存储器和数据存储器的块移动指令。●32位长整数操作指令。●指令同时读取2或3个操作数。●并行存储和加载的算术指令。●条件存储指令。●快速中断返回。(3)高度专业化的指令集能够快速地(4)片内外设和专用电路采用模块化的结构设计,可以快速地推出新的系列产品。其包括:●可编程软件等待状态发生器。●可编程分区转换逻辑电路。●可使用内部振荡源或外部振荡源的锁相环(PLL)时钟发生器。当使用外部振荡源时,内部允许使用多个值对芯片倍频。

(4)片内外设和专用电路采用模块化●外部总线接口可以禁止或允许外部数据总线、地址总线和控制线的输出。●数据总线支持总线挂起的特征。●可编程定时器。●8bit并行主机接口(HPI)。●串行口:全双工串口(支持8bit或16bit数据传送)、时分多路(TDM)串口和缓冲(BSP)串口。●外部总线接口可以禁止或允许外部数(5)TMS320C54x执行单周期定点指令时间为25/20/15/12.5/10ns,每秒指令数为40/66/100MIPS。(6)TMS320C54x电源由IDLE1、IDLE2和IDLE3功耗下降指令控制功耗,以便DSP工作在节电模式下,使之更适合于手机。其控制CLKOUT引脚的输出,省功耗。(7)在片仿真接口、片上的JTAG接口符合IEEE1149.1边界扫描逻辑接口标准,可与主机连接,用于芯片的仿真和测试。

(5)TMS320C54x执行单周2.2TMS320C54x的总线结构TMS320C54xDSP片内由8组16bit总线(1组程序总线、3组数据线和4组地址总线)构成。程序总线(PB)传送从程序存储器装载的指令代码和立即数。这些总线的功能分别是:3组数据总线(CB、DB和EB)负责将片内的各种元器件相互连接,例如CPU、数据地址产生逻辑、程序地址产生逻辑、片内外设和数据存储器等。2.2TMS320C54x的总线结构TMS320C54x能利用两个辅助寄存器算术单元(ARAU0和ARAU1)在同一个周期内生成两个数据存储器地址。PB能加载保存于程序空间的操作数(例如,系数表),并将操作数传送到乘法器和加法器中进行乘累加操作,或利用数据移动指令(MVPD和READA)把程序空间的数据传送到数据空间。TMS320C54x能利用两个辅助寄TMS320C54x还有一组双向的片内总线用于访问片内外设,这组总线轮流使用DB和EB与CPU连接。访问者使用这组总线进行读/写操作需要两个或更多的周期,具体所需周期数取决于片内外设的结构。表格2-2总结了各种不同类型的总线访问。TMS320C54x还有一组双向的片表2-2总线访问类型表2-2总线访问类型2.3TMS320C54x的CPU结构CPU是DSP芯片中的核心部分,是用来实现数字信号处理运算和高速控制功能的部件。CPU内的硬件构成决定了其指令系统的性能。TMS320C54x的CPU包括:2.3TMS320C54x的CPU结构●40位算术逻辑单元(ALU);●两个40位的累加器A、B;●桶型移位寄存器(BarrelShifter);●乘法器/加法器单元(Multiplier/Adder);●比较、选择和存储单元(CSSU);●指数编码器(EXPEncoder);●CPU状态和控制寄存器(ST0、ST1和PMST);●寻址单元(Addressing Unit)。●40位算术逻辑单元(ALU);2.3.1算术逻辑运算单元使用算术逻辑单元(ALU)和两个累加器(A、B)能够完成二进制的补码运算,同时,ALU还能够完成布尔运算。算术逻辑单元的输入操作数可以来自:●16位的立即数;●数据存储器中的16位字;●暂存器T中的16位字;●数据存储器中读出的2个16位字;●累加器A或B中的40位数;●移位寄存器的输出。2.3.1算术逻辑运算单元2.3.2累加器累加器A和B可作为ALU和乘法器/加法器单元的目的寄存器,累加器也能输出数据到ALU或乘法器/加法器中。累加器可分为三部分:保护位、高位字和低位字。累加器A和B的示意图如图2-3和图2-4所示。2.3.2累加器图2-3累加器A图2-3累加器A图2-4累加器B图2-4累加器B保护位用于保存计算时产生的多余高位,防止在迭代运算中产生溢出,例如自相关运算。AG、AH、AL、BG、BH和BL都是存储器映像寄存器(在存储空间中占有地址),由特定的指令将其内容放到16位数据存储器中,并从数据存储器中读出或写入32位累加器值。保护位用于保存计算时产生的多余高位,2.3.3桶形移位器桶形移位器能把输入的数据进行0~31位的左移和0~15位的右移。40位桶形移位器的输入来自数据总线DB的16位输入数据、DB和CB的32位输入数据及任意一个40位累加器,并输出到ALU,经过MSW/LSW(最高有效字/最低有效字)写选择单元至EB总线。它所移的位数就是指令中的移位数。移位数都是用二进制补码表示,正值表示左移,负值表示右移。移位数可由立即数、状态寄存器ST1中的累加器移位方式(ASM)字段和被指定为移位数值寄存器的暂存器T来决定。2.3.3桶形移位器桶形移位器可以执行以下定标操作:●在执行ALU操作前预定好一个数据存储器操作数或累加器内容;●对累加器的值进行算术或逻辑移位;●归一化累加器;●在保存累加器到数据存储器之前定标累加器。桶形移位器可以执行以下定标操作:2.3.4乘累加器单元TMS320C54xCPU的乘累加器单元能够在一个周期内完成一次17*17bit的乘法和一次40位的加法。乘法器和ALU并行工作可在一个单指令周期内完成一次乘累加(MAC)运算。该单元能够快速高效地完成如卷积、相关和滤波等运算。乘法器/加法器单元由17×17bit的硬件乘法器、40位专用加法器、符号位控制逻辑、小数控制逻辑、0检测器、溢出/饱和逻辑和16位的暂存器(T)等部分组成,可支持有/无符号的整数、小数乘法运算,并可对结果进行舍入处理。2.3.4乘累加器单元乘累加器单元的一个输入操作数来自T寄存器、数据存储器或累加器A(31~16位);另一个则来自于程序存储器、数据存储器、累加器A(31~16位)或立即数。乘法器的输出加到加法器的输入端,累加器A或B则是加法器的另一个输入端,最后结果送往目的累加器A或B。乘累加器单元的一个输入操作数来自T寄2.3.5比较选择存储单元

通信领域常常用到维持比(Viterbi)算法,该算法需要完成大量的加法/比较/选择(ACS)运算。CSSU单元支持各种Viterbi算法,其中加法由ALU单元完成,只要将ST1中的C16置1,所有的双字指令都会变成双16位算术运算指令,这样ALU就可以在一个机器周期内完成两个16位数的加/减法运算,其结果分别存放在累加器的高16位和低16位中。CSSU可以最大限度地完成累加器高字与低字的比较操作,即选择累加器中较大的字,并存储在数据存储器中,且不改变状态寄存器ST0中的测试/控制位TC字段和状态转移寄存器TRN的值。CSSU利用优化的片内硬件加速Viterbi的蝶形运算。2.3.5比较选择存储单元2.3.6指数编码器指数编码器是一个专用硬件,它支持单周期指令EXP。它可以求出累加器中的指数值,并以二进制补码形式存放于T中。用EXP和NORM指令可以对累加器中的内容归一化,完成定点数和浮点数之间的转换。2.3.6指数编码器2.3.7CPU状态控制寄存器1.状态寄存器(ST0和ST1)使用置位指令SSBX和复位指令RSBX可以单独设置和清除状态寄存器的各位。例如:SSBXSXM ;符号扩展SXM=1RSBXSXM ;禁止符号扩展SXM=0APR、DP和ASM字段可以通过LD指令装载一个短立即数,ASM和DP也可以通过LD指令由数据存储器装载。ST0的结构如图2-5所示,含义见表2-3。2.3.7CPU状态控制寄存器图2-5ST0寄存器结构图2-5ST0寄存器结构表2-3ST0寄存器表2-3ST0寄存器图2-6ST1寄存器结构图2-6ST1寄存器结构表2-4ST1寄存器表2-4ST1寄存器第2章TMS320C54x的CPU结构和存储器配置课件2.处理器工作方式状态寄存器(PMST)PMST可由存储器映像寄存器指令装载,如STM。图2-7是PMST寄存器的结构图。PMST各位的含义列于表2-5中。2.处理器工作方式状态寄存器(PMS图2-7PMST寄存器结构图2-7PMST寄存器结构表2-5PMST寄存器表2-5PMST寄存器2.3.8寻址单元TMS320C54x有两个地址发生器:PAGEN(ProgramAddressGenerationLogic)和DAGEN(DataAddressGenerationLogic)。PAGEN包括程序计数器PC、IPTR、块循环寄存器(RC、BRC、RSA和REA),这些寄存器可支持程序存储器寻址。DAGEN包括循环缓冲区大小寄存器BK、DP、堆栈指针寄存器SP、8个辅助寄存器(AR0~AR7)和2个辅助寄存器算术单元(ARAU0和ARAU1)。8个辅助寄存器和2个辅助寄存器算术单元一道可进行16位无符号数算术运算,支持间接寻址模块,AR0~AR7由ST0中的ARP来指定。2.3.8寻址单元2.4TMS320C54x存储器和I/O空间DSP扩展存储器主要分为两类:ROM和RAM。ROM包括EPROM、EEPROM、FlashMemroy等。这一类存储器主要用于存储用户程序和系统常数表,一般映像在程序存储空间。RAM主要指静态RAM(SRAM)。本章主要讨论片内存储器,而片外扩展存储器将在第8章中详细介绍。2.4TMS320C54x存储器和I/O空间所有TMS320C54x芯片内都包含随机存储器(RAM)和只读存储器(ROM)。在芯片中有两类RAM:双寻址RAM(DARAM)和单寻址RAM(SARAM),分别也可称为双口RAM和单口RAM。DARAM每个机器周期可被访问两次。TMS320C54x因具体器件不同,片内存储器的类型或容量也有些差异。表2-6列出了几种常用的TMS320C54x器件的存储器容量。所有TMS320C54x芯片内都包含TMS320C54x有26个CPU寄存器和片内外设寄存器被映像在数据存储空间,各类TMS320C54x存储器的特征及组织和使用不同的片内存储器块将在下面详细介绍。TMS320C54x有26个CPU寄表2-6TMS320C54x内部存储器容量表2-6TMS320C54x内部存储器容量2.4.1存储器空间TMS320C54x采用改进的哈佛结构。存储空间由三个独立可选的存储空间组成,这三个独立可选的存储空间包括64K字的程序存储空间、64K字的数据存储空间和64K字的I/O空间。片内或片外的ROM和RAM、外部的EPROM和EEPROM以及芯片中的存储器映像寄存器包括在这三个空间中。2.4.1存储器空间在TMS320C54x中,片内存储器有DARAM、SARAM和ROM三种类型。它们通常配置在数据存储空间,但也可以配置在程序存储空间。片内ROM则一般配置在程序存储空间,但一部分ROM也可以配置到数据存储空间中。TMS320C54x的工作方式状态寄存器PMST提供了三个控制位:MP/、OVLY和DROM,用于在存储空间中配置片内存储器。使用这三个控制位可以设置片内存储器是否配置到存储空间,并指定片内存储器是配置到程序存储空间还是数据存储空间。在TMS320C54x中,片内存储器●MP/:微处理器/微型计算机工作方式位。当MP/=0时,允许片内ROM配置到程序存储空间;当MP/=1时,禁止片内ROM配置到程序存储空间。●OVLY:RAM重叠位。当OVLY=1时,片内ROM配置到程序和数据存储空间;当OVLY=0时,片内RAM仅配置到数据存储空间。●DROM:数据ROM位。当DROM=1时,片内ROM配置到程序和数据存储空间。当DROM=0时,禁止ROM配置到数据存储空间。DROM的用法与MP/的状态无关。●MP/:微处理器/微型计算机工作方式位。图2-8~图2-12是TMS320C54x芯片数据和程序存储空间的配置图,从中也可以看到上述三个控制位与内存储器的关系。图2-8~图2-12是TMS320C图2-8TMS320C541存储器图图2-8TMS320C541存储器图图2-9TMS320C543存储器图图2-9TMS320C543存储器图图2-10TMS320C545存储器图图2-10TMS320C545存储器图图2-11TMS320C548存储器图图2-11TMS320C548存储器图图2-12TMS320C5402存储器图图2-12TMS320C5402存储器图2.4.2程序存储器TMS320C54x可以寻址64K字的程序存储空间。(TMS320C548、TMS320C549、TMS320C5410、TMS320C5402和TMS320C5420可以扩展到8M字。)TMS320C54x的片内ROM、片内双寻址RAM(DARAM)和片内单寻址RAM(SARAM)可以通过软件配置到程序存储空间中。如果片内存储器配置到程序存储器中,则芯片在访问程序存储器时会自动访问这些存储单元。当PAGEN产生了一个不在片内存储器的地址时,会自动使用一个外部总线操作。表2-7是TMS320C54x系列芯片的片内存储器配置。2.4.2程序存储器表2-7TSM320C54x芯片片内程序存储器配置(单位:K字)表2-7TSM320C54x芯片片内程序存储器配置(单1.程序存储器配置MP/和OVLY位决定片内存储器是否配置到程序存储空间。复位时,MP/引脚上的逻辑电平将设置PMST寄存器的MP/位。MP/引脚在复位时有效。复位后,PMST寄存器的MP/位决定芯片的工作方式,直到下一次复位。下面以TMS320C541芯片(如图2-8所示)为例,介绍TMS320C54x器件的地址映像与程序存储器的分配。图2-13给出了在两种情况下,两个控制位对程序存储器配置的影响。1.程序存储器配置图2-13TMS320C541程序存储器配置图图2-13TMS320C541程序存储器配置图当MP/=1,OVLY=0时,TMS320C541工作在微处理器模式下,片内ROM、片内RAM不安排到程序存储空间。当MP/=0,OVLY=1时,TMS320C541工作在微型计算机模式下,片内28K字ROM(9000H~FF7FH)、片内复位和中断向量(FF80H~FFFFH)可作为程序存储器;片内5K字DARAM可作为程序存储器。当MP/=1,OVLY2.片内ROM的组织为了提高芯片的性能,对片内的ROM按照块的方式组织,如图2-14所示。这样,可以在一个块中取指的同时不会影响在另一个块中读取操作数。2.片内ROM的组织图2-14TMS320C54x的片内ROM的组织图2-14TMS320C54x的片内ROM的组织3.片内ROM在程序存储空间中的地址配置当芯片复位时,复位、中断向量分配在FF80H开始的程序存储空间中,然而,TMS320C54x的中断矢量表可以重定位到任意一个128字的边界上去,这就很容易将中断矢量表从引导ROM中移出来,然后再根据存储器图安排。在片内ROM中,有128个字用于保存检测设备的目的,应用程序不要写到这段存储器中(FF00H~FF7FH)。3.片内ROM在程序存储空间中的地4.片内ROM的内容和配置TMS320C54x的片内ROM的容量有大有小,大的ROM(24K、28K或48K字)可把用户的程序代码写进去;小的ROM(高2K字)由TI公司定义。根据不同的型号,TMS320C54x的2K字程序空间中包含以下内容:4.片内ROM的内容和配置●自举加载程序:完成串行口、外部存储器、I/O口或并行口BOOT-LOAD功能的程序代码;●256字的μ率扩展表;●256字的A率扩展表;●256字的正弦表;●中断向量表。图2-15是片内ROM中包含上述各种内容的总结。当MP/=0时,FF80H~FFFFH配置成片内ROM。

●自举加载程序:完成串行口、外部存图2-15片内ROM程序存储器图图2-15片内ROM程序存储器图5.扩展程序存储器TMS320C548/549/5402/5410/5420采用分页技术,可以将程序存储空间扩展为8M字。因此,这些芯片提供了一些增强的特性:●23条地址线(TMS320C5402有18条地址线,TMS320C5420有18条地址线);●额外的存储器映像寄存器、程序计数器扩展寄存器(XPC);●6条额外的指令用于寻址扩展的程序存储空间,改变XPC的值。它们是:5.扩展程序存储器FB[D]:远跳转。FBACC[D]:远跳转到累加器A或B指定的地址。FCALA[D]:远调用累加器A或B指定的子程序。FCALL[D]:远调用。FRET[D]:远返回。FRETE[D]:远返回且中断允许。FB[D]:远跳转。以下两条指令使用累加器的23位数进行寻址:READA:从累加器A或B指定的程序存储器地址中读取操作数,并把它写到数据存储器地址中。WRITA:从累加器A或B指定的数据存储器地址中读取操作数,并把它写到程序存储器地址中。除此之外的其他指令不能影响XPC,它们只能在当前页中进行操作。以下两条指令使用累加器的23位数进行TMS320C548、TMS320C549和TMS320C5410的程序存储空间为128页,每页64K字;TMS320C5402则仅有16页存储空间。下面分两种情况介绍TMS320C548的扩展程序存储器空间。当MP/=1,OVLY=0时,片内RAM不映像到程序空间。TMS320C548将程序空间分为128页,XPC=0…127,每页64K字,如图2-16所示。TMS320C548、TMS320图2-16TMS320C548扩展程序空间示意图图2-16TMS320C548扩展程序空间示意图当MP/=1,OVLY=1时,片上RAM配置到程序存储空间后,扩展程序存储器的所有页都被分成两个部分:共享部分和独立部分。共享部分有32K字,在任何一页中都可以访问;而每页独立的32K字则仅在特定页中被访问。图2-17给出了OVLY=1时,TMS320C548的扩展存储器图。当MP/=1,O图2-17TMS320C548扩展程序空间映像图图2-17TMS320C548扩展程序空间映像图2.4.3数据存储器TMS320C54x可以寻址64K字的数据存储空间,其片内ROM、片内双口RAM(DARAM)和片内单口RAM(SARAM)可以通过软件配置到数据存储空间。如果片内存储器配置到数据存储空间,则芯片在访问程序存储器时会自动访问这些存储单元。当DAGEN产生的地址不在片内存储器的范围内时,处理器会自动地对外部数据存储器寻址。表2-8是TMS320C54x系列芯片的片内数据存储器配置。2.4.3数据存储器表2-8TMS320C54x系列芯片片内数据存储器配置(单位:K字)表2-8TMS320C54x系列芯片片内数据存储器配置1.数据存储器配置数据存储器包含片内或片外的RAM,片内的DARAM映像到数据存储空间。一些TMS320C54x的芯片还能够把一部分片内ROM配置到数据存储空间中,这种配置需要修改PMST寄存器的DROM位。这部分片内ROM既可以在数据空间使能(DROM=1),也可以在程序空间使能(MP/=0)。在复位时,处理器把DROM位清零。1.数据存储器配置图2-18TMS320C541数据存储器配置图图2-18TMS320C541数据存储器配置图2.片内RAM配置片内RAM可细分成若干块以提高性能。例如,分块后,允许用户在同一周期内从同一块DARAM中提取两个操作数,并将一个操作数写到另一块DARAM中。图2-19给出了片内RAM的分块图。2.片内RAM配置图2-19片内RAM的分块图图2-19片内RAM的分块图3.存储器映像寄存器在数据存储器的64K字空间中,包含存储器映像寄存器MMR,它们都放在存储空间的第0页(0000H~007FH)。第0页包含如下内容:●存储器映像CPU寄存器(0000H~001FH)(共26个),当寻址这些寄存器时,不需插入等待状态。●外围电路寄存器(0020H~005FH),访问它们需使用专门的外设总线结构。●32字的暂存器SPRAM(0060H~007FH)。3.存储器映像寄存器表2-9列出了CPU存储器映像寄存器的地址及名称,各种TMS320C54x存储器映像外围电路寄存器参见附录4。表2-9列出了CPU存储器映像寄存器表2-9存储器映像CPU寄存器表2-9存储器映像CPU寄存器第2章TMS320C54x的CPU结构和存储器配置课件2.4.4I/O空间TMS320C54x除了程序存储空间和数据存储空间之外,还提供一个64K字的I/O空间(0000H~0FFFFH)。I/O空间都在片外,它的作用是与片外设备连接。使用PORTR和PORTW两条指令可对I/O空间寻址。I/O空间的读/写时序不同于程序和数据存储器,它适用于访问映像到I/O空间的设备,而不是存储器。TMS320C54x还有一个可屏蔽存储器保护选项,用来保护片内存储器的内容。当选定这项时,所有外部产生的指令都不能访问片内存储器空间。2.4.4I/O空间第2章TMS320C54x的CPU结构和存储器配置2.1TMS320C54xDSP的结构2.2TMS320C54x的总线结构2.3TMS320C54x的CPU结构2.4TMS320C54x存储器和I/O空间第2章TMS320C54x的CPU结构和存储器配置2.2.1TMS320C54xDSP的结构2.1.1TMS320C54xDSP的基本结构图2-1和图2-2给出了TMS320C54x的两种结构框图。2.1TMS320C54xDSP的结构2.1.1图2-1TMS320C54x的组成框图图2-1TMS320C54x的组成框图图2-2TMS320C54x的功能框图图2-2TMS320C54x的功能框图TMS320C54x是16位定点DSP。TMS320C54x的中央处理单元(CPU)具有改进的哈佛结构、低功耗设计和高度并行性等特点。除此之外,高度专业化的指令系统可以全面地发挥系统性能。使用TMS320C54x的专用硬件逻辑的CPU,再配以按照用户需要所选择的片内存储器和片内外设,可组成用户的ASIC(ApplicationSpecificIntergratedCircuit,专用集成电路)以应用于电子产品的不同领域。TMS320C54x是16位定点D2.1.2TMS320C54xDSP的主要特点TMS320C54x系列定点DSP芯片共享同样的CPU内核和总线结构,但每一种器件片内存储器的配置和片内外设不尽相同。表2-1提供了TMS320C54x各DSP基本性能的概要。2.1.2TMS320C54xDSP的主要特点表2-1TMS320C54x系列基本配置汇总表表2-1TMS320C54x系列基本配置汇总表TMS320C54x的主要特征如下:(1)CPU(中央处理单元)利用其专用的硬件逻辑和高度并行性提高芯片的处理性能。●1条程序总线、3条数据总线和4条地址总线组成的改进型哈佛结构,提供了更快的速度和更高的灵活性。●40bit的算术逻辑单元(ALU)包括40bit的桶形移位器和两个独立的40bit累加器A、B。●17×17bit并行乘法单元和专用的40bit加法器用于无等待状态的单周期乘/累加操作。TMS320C54x的主要特征如下:●比较、选择和存储单元(CSSU)能够完成维特比(Viterbi,通信中的一种编码方式)的加/比较/选择操作。●指数译码器可以在单周期内对40bit累加器进行指数运算。●两个地址发生器包括8个辅助寄存器(AR0~AR7)和两个辅助寄存器算术运算单元(ARAU0、ARAU1)。●TMS320C5420还包括一个双CPU的结构。●比较、选择和存储单元(CSSU)能(2)存储器具有192K字可寻址存储空间(包括64K字程序存储空间、64K字数据存储空间和64K字I/O空间)。其中,TMS320C548、TMS320C549、TMS320C5402、TMS320C5410和TMS320C5420的程序存储空间还可以扩展到8M字。片内存储器配置因型而异。(2)存储器具有192K字可寻址(3)高度专业化的指令集能够快速地实现算法并用于高级语言编程优化。其包括:●单指令重复和块指令重复。●用于更好地管理程序存储器和数据存储器的块移动指令。●32位长整数操作指令。●指令同时读取2或3个操作数。●并行存储和加载的算术指令。●条件存储指令。●快速中断返回。(3)高度专业化的指令集能够快速地(4)片内外设和专用电路采用模块化的结构设计,可以快速地推出新的系列产品。其包括:●可编程软件等待状态发生器。●可编程分区转换逻辑电路。●可使用内部振荡源或外部振荡源的锁相环(PLL)时钟发生器。当使用外部振荡源时,内部允许使用多个值对芯片倍频。

(4)片内外设和专用电路采用模块化●外部总线接口可以禁止或允许外部数据总线、地址总线和控制线的输出。●数据总线支持总线挂起的特征。●可编程定时器。●8bit并行主机接口(HPI)。●串行口:全双工串口(支持8bit或16bit数据传送)、时分多路(TDM)串口和缓冲(BSP)串口。●外部总线接口可以禁止或允许外部数(5)TMS320C54x执行单周期定点指令时间为25/20/15/12.5/10ns,每秒指令数为40/66/100MIPS。(6)TMS320C54x电源由IDLE1、IDLE2和IDLE3功耗下降指令控制功耗,以便DSP工作在节电模式下,使之更适合于手机。其控制CLKOUT引脚的输出,省功耗。(7)在片仿真接口、片上的JTAG接口符合IEEE1149.1边界扫描逻辑接口标准,可与主机连接,用于芯片的仿真和测试。

(5)TMS320C54x执行单周2.2TMS320C54x的总线结构TMS320C54xDSP片内由8组16bit总线(1组程序总线、3组数据线和4组地址总线)构成。程序总线(PB)传送从程序存储器装载的指令代码和立即数。这些总线的功能分别是:3组数据总线(CB、DB和EB)负责将片内的各种元器件相互连接,例如CPU、数据地址产生逻辑、程序地址产生逻辑、片内外设和数据存储器等。2.2TMS320C54x的总线结构TMS320C54x能利用两个辅助寄存器算术单元(ARAU0和ARAU1)在同一个周期内生成两个数据存储器地址。PB能加载保存于程序空间的操作数(例如,系数表),并将操作数传送到乘法器和加法器中进行乘累加操作,或利用数据移动指令(MVPD和READA)把程序空间的数据传送到数据空间。TMS320C54x能利用两个辅助寄TMS320C54x还有一组双向的片内总线用于访问片内外设,这组总线轮流使用DB和EB与CPU连接。访问者使用这组总线进行读/写操作需要两个或更多的周期,具体所需周期数取决于片内外设的结构。表格2-2总结了各种不同类型的总线访问。TMS320C54x还有一组双向的片表2-2总线访问类型表2-2总线访问类型2.3TMS320C54x的CPU结构CPU是DSP芯片中的核心部分,是用来实现数字信号处理运算和高速控制功能的部件。CPU内的硬件构成决定了其指令系统的性能。TMS320C54x的CPU包括:2.3TMS320C54x的CPU结构●40位算术逻辑单元(ALU);●两个40位的累加器A、B;●桶型移位寄存器(BarrelShifter);●乘法器/加法器单元(Multiplier/Adder);●比较、选择和存储单元(CSSU);●指数编码器(EXPEncoder);●CPU状态和控制寄存器(ST0、ST1和PMST);●寻址单元(Addressing Unit)。●40位算术逻辑单元(ALU);2.3.1算术逻辑运算单元使用算术逻辑单元(ALU)和两个累加器(A、B)能够完成二进制的补码运算,同时,ALU还能够完成布尔运算。算术逻辑单元的输入操作数可以来自:●16位的立即数;●数据存储器中的16位字;●暂存器T中的16位字;●数据存储器中读出的2个16位字;●累加器A或B中的40位数;●移位寄存器的输出。2.3.1算术逻辑运算单元2.3.2累加器累加器A和B可作为ALU和乘法器/加法器单元的目的寄存器,累加器也能输出数据到ALU或乘法器/加法器中。累加器可分为三部分:保护位、高位字和低位字。累加器A和B的示意图如图2-3和图2-4所示。2.3.2累加器图2-3累加器A图2-3累加器A图2-4累加器B图2-4累加器B保护位用于保存计算时产生的多余高位,防止在迭代运算中产生溢出,例如自相关运算。AG、AH、AL、BG、BH和BL都是存储器映像寄存器(在存储空间中占有地址),由特定的指令将其内容放到16位数据存储器中,并从数据存储器中读出或写入32位累加器值。保护位用于保存计算时产生的多余高位,2.3.3桶形移位器桶形移位器能把输入的数据进行0~31位的左移和0~15位的右移。40位桶形移位器的输入来自数据总线DB的16位输入数据、DB和CB的32位输入数据及任意一个40位累加器,并输出到ALU,经过MSW/LSW(最高有效字/最低有效字)写选择单元至EB总线。它所移的位数就是指令中的移位数。移位数都是用二进制补码表示,正值表示左移,负值表示右移。移位数可由立即数、状态寄存器ST1中的累加器移位方式(ASM)字段和被指定为移位数值寄存器的暂存器T来决定。2.3.3桶形移位器桶形移位器可以执行以下定标操作:●在执行ALU操作前预定好一个数据存储器操作数或累加器内容;●对累加器的值进行算术或逻辑移位;●归一化累加器;●在保存累加器到数据存储器之前定标累加器。桶形移位器可以执行以下定标操作:2.3.4乘累加器单元TMS320C54xCPU的乘累加器单元能够在一个周期内完成一次17*17bit的乘法和一次40位的加法。乘法器和ALU并行工作可在一个单指令周期内完成一次乘累加(MAC)运算。该单元能够快速高效地完成如卷积、相关和滤波等运算。乘法器/加法器单元由17×17bit的硬件乘法器、40位专用加法器、符号位控制逻辑、小数控制逻辑、0检测器、溢出/饱和逻辑和16位的暂存器(T)等部分组成,可支持有/无符号的整数、小数乘法运算,并可对结果进行舍入处理。2.3.4乘累加器单元乘累加器单元的一个输入操作数来自T寄存器、数据存储器或累加器A(31~16位);另一个则来自于程序存储器、数据存储器、累加器A(31~16位)或立即数。乘法器的输出加到加法器的输入端,累加器A或B则是加法器的另一个输入端,最后结果送往目的累加器A或B。乘累加器单元的一个输入操作数来自T寄2.3.5比较选择存储单元

通信领域常常用到维持比(Viterbi)算法,该算法需要完成大量的加法/比较/选择(ACS)运算。CSSU单元支持各种Viterbi算法,其中加法由ALU单元完成,只要将ST1中的C16置1,所有的双字指令都会变成双16位算术运算指令,这样ALU就可以在一个机器周期内完成两个16位数的加/减法运算,其结果分别存放在累加器的高16位和低16位中。CSSU可以最大限度地完成累加器高字与低字的比较操作,即选择累加器中较大的字,并存储在数据存储器中,且不改变状态寄存器ST0中的测试/控制位TC字段和状态转移寄存器TRN的值。CSSU利用优化的片内硬件加速Viterbi的蝶形运算。2.3.5比较选择存储单元2.3.6指数编码器指数编码器是一个专用硬件,它支持单周期指令EXP。它可以求出累加器中的指数值,并以二进制补码形式存放于T中。用EXP和NORM指令可以对累加器中的内容归一化,完成定点数和浮点数之间的转换。2.3.6指数编码器2.3.7CPU状态控制寄存器1.状态寄存器(ST0和ST1)使用置位指令SSBX和复位指令RSBX可以单独设置和清除状态寄存器的各位。例如:SSBXSXM ;符号扩展SXM=1RSBXSXM ;禁止符号扩展SXM=0APR、DP和ASM字段可以通过LD指令装载一个短立即数,ASM和DP也可以通过LD指令由数据存储器装载。ST0的结构如图2-5所示,含义见表2-3。2.3.7CPU状态控制寄存器图2-5ST0寄存器结构图2-5ST0寄存器结构表2-3ST0寄存器表2-3ST0寄存器图2-6ST1寄存器结构图2-6ST1寄存器结构表2-4ST1寄存器表2-4ST1寄存器第2章TMS320C54x的CPU结构和存储器配置课件2.处理器工作方式状态寄存器(PMST)PMST可由存储器映像寄存器指令装载,如STM。图2-7是PMST寄存器的结构图。PMST各位的含义列于表2-5中。2.处理器工作方式状态寄存器(PMS图2-7PMST寄存器结构图2-7PMST寄存器结构表2-5PMST寄存器表2-5PMST寄存器2.3.8寻址单元TMS320C54x有两个地址发生器:PAGEN(ProgramAddressGenerationLogic)和DAGEN(DataAddressGenerationLogic)。PAGEN包括程序计数器PC、IPTR、块循环寄存器(RC、BRC、RSA和REA),这些寄存器可支持程序存储器寻址。DAGEN包括循环缓冲区大小寄存器BK、DP、堆栈指针寄存器SP、8个辅助寄存器(AR0~AR7)和2个辅助寄存器算术单元(ARAU0和ARAU1)。8个辅助寄存器和2个辅助寄存器算术单元一道可进行16位无符号数算术运算,支持间接寻址模块,AR0~AR7由ST0中的ARP来指定。2.3.8寻址单元2.4TMS320C54x存储器和I/O空间DSP扩展存储器主要分为两类:ROM和RAM。ROM包括EPROM、EEPROM、FlashMemroy等。这一类存储器主要用于存储用户程序和系统常数表,一般映像在程序存储空间。RAM主要指静态RAM(SRAM)。本章主要讨论片内存储器,而片外扩展存储器将在第8章中详细介绍。2.4TMS320C54x存储器和I/O空间所有TMS320C54x芯片内都包含随机存储器(RAM)和只读存储器(ROM)。在芯片中有两类RAM:双寻址RAM(DARAM)和单寻址RAM(SARAM),分别也可称为双口RAM和单口RAM。DARAM每个机器周期可被访问两次。TMS320C54x因具体器件不同,片内存储器的类型或容量也有些差异。表2-6列出了几种常用的TMS320C54x器件的存储器容量。所有TMS320C54x芯片内都包含TMS320C54x有26个CPU寄存器和片内外设寄存器被映像在数据存储空间,各类TMS320C54x存储器的特征及组织和使用不同的片内存储器块将在下面详细介绍。TMS320C54x有26个CPU寄表2-6TMS320C54x内部存储器容量表2-6TMS320C54x内部存储器容量2.4.1存储器空间TMS320C54x采用改进的哈佛结构。存储空间由三个独立可选的存储空间组成,这三个独立可选的存储空间包括64K字的程序存储空间、64K字的数据存储空间和64K字的I/O空间。片内或片外的ROM和RAM、外部的EPROM和EEPROM以及芯片中的存储器映像寄存器包括在这三个空间中。2.4.1存储器空间在TMS320C54x中,片内存储器有DARAM、SARAM和ROM三种类型。它们通常配置在数据存储空间,但也可以配置在程序存储空间。片内ROM则一般配置在程序存储空间,但一部分ROM也可以配置到数据存储空间中。TMS320C54x的工作方式状态寄存器PMST提供了三个控制位:MP/、OVLY和DROM,用于在存储空间中配置片内存储器。使用这三个控制位可以设置片内存储器是否配置到存储空间,并指定片内存储器是配置到程序存储空间还是数据存储空间。在TMS320C54x中,片内存储器●MP/:微处理器/微型计算机工作方式位。当MP/=0时,允许片内ROM配置到程序存储空间;当MP/=1时,禁止片内ROM配置到程序存储空间。●OVLY:RAM重叠位。当OVLY=1时,片内ROM配置到程序和数据存储空间;当OVLY=0时,片内RAM仅配置到数据存储空间。●DROM:数据ROM位。当DROM=1时,片内ROM配置到程序和数据存储空间。当DROM=0时,禁止ROM配置到数据存储空间。DROM的用法与MP/的状态无关。●MP/:微处理器/微型计算机工作方式位。图2-8~图2-12是TMS320C54x芯片数据和程序存储空间的配置图,从中也可以看到上述三个控制位与内存储器的关系。图2-8~图2-12是TMS320C图2-8TMS320C541存储器图图2-8TMS320C541存储器图图2-9TMS320C543存储器图图2-9TMS320C543存储器图图2-10TMS320C545存储器图图2-10TMS320C545存储器图图2-11TMS320C548存储器图图2-11TMS320C548存储器图图2-12TMS320C5402存储器图图2-12TMS320C5402存储器图2.4.2程序存储器TMS320C54x可以寻址64K字的程序存储空间。(TMS320C548、TMS320C549、TMS320C5410、TMS320C5402和TMS320C5420可以扩展到8M字。)TMS320C54x的片内ROM、片内双寻址RAM(DARAM)和片内单寻址RAM(SARAM)可以通过软件配置到程序存储空间中。如果片内存储器配置到程序存储器中,则芯片在访问程序存储器时会自动访问这些存储单元。当PAGEN产生了一个不在片内存储器的地址时,会自动使用一个外部总线操作。表2-7是TMS320C54x系列芯片的片内存储器配置。2.4.2程序存储器表2-7TSM320C54x芯片片内程序存储器配置(单位:K字)表2-7TSM320C54x芯片片内程序存储器配置(单1.程序存储器配置MP/和OVLY位决定片内存储器是否配置到程序存储空间。复位时,MP/引脚上的逻辑电平将设置PMST寄存器的MP/位。MP/引脚在复位时有效。复位后,PMST寄存器的MP/位决定芯片的工作方式,直到下一次复位。下面以TMS320C541芯片(如图2-8所示)为例,介绍TMS320C54x器件的地址映像与程序存储器的分配。图2-13给出了在两种情况下,两个控制位对程序存储器配置的影响。1.程序存储器配置图2-13TMS320C541程序存储器配置图图2-13TMS320C541程序存储器配置图当MP/=1,OVLY=0时,TMS320C541工作在微处理器模式下,片内ROM、片内RAM不安排到程序存储空间。当MP/=0,OVLY=1时,TMS320C541工作在微型计算机模式下,片内28K字ROM(9000H~FF7FH)、片内复位和中断向量(FF80H~FFFFH)可作为程序存储器;片内5K字DARAM可作为程序存储器。当MP/=1,OVLY2.片内ROM的组织为了提高芯片的性能,对片内的ROM按照块的方式组织,如图2-14所示。这样,可以在一个块中取指的同时不会影响在另一个块中读取操作数。2.片内ROM的组织图2-14TMS320C54x的片内ROM的组织图2-14TMS320C54x的片内ROM的组织3.片内ROM在程序存储空间中的地址配置当芯片复位时,复位、中断向量分配在FF80H开始的程序存储空间中,然而,TMS320C54x的中断矢量表可以重定位到任意一个128字的边界上去,这就很容易将中断矢量表从引导ROM中移出来,然后再根据存储器图安排。在片内ROM中,有128个字用于保存检测设备的目的,应用程序不要写到这段存储器中(FF00H~FF7FH)。3.片内ROM在程序存储空间中的地4.片内ROM的内容和配置TMS320C54x的片内ROM的容量有大有小,大的ROM(24K、28K或48K字)可把用户的程序代码写进去;小的ROM(高2K字)由TI公司定义。根据不同的型号,TMS320C54x的2K字程序空间中包含以下内容:4.片内ROM的内容和配置●自举加载程序:完成串行口、外部存储器、I/O口或并行口BOOT-LOAD功能的程序代码;●256字的μ率扩展表;●256字的A率扩展表;●256字的正弦表;●中断向量表。图2-15是片内ROM中包含上述各种内容的总结。当MP/=0时,FF80H~FFFFH配置成片内ROM。

●自举加载程序:完成串行口、外部存图2-15片内ROM程序存储器图图2-15片内ROM程序存储器图5.扩展程序存储器TMS320C548/549/5402/5410/5420采用分页技术,可以将程序存储空间扩展为8M字。因此,这些芯片提供了一些增强的特性:

温馨提示

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

评论

0/150

提交评论