TMS320C5000
一、结构特点
16-bit定点DSP
C55x有双MAC单元;C54x有单MAC单元
C55的指令长度可变,且没有排队的限制
C55x有12组总线;C54x有8组总线
二、综合介绍
C5000是16-bit定点DSP系列,包括旧有的C5x、当前主流的C54x和最新的C55x。
C55x和C54x源代码兼容,而C5x和C2x源代码兼容。C54x关注于低功耗,而C55x则将低功耗提到一个新水平:300MHz的C55x和120MHz的C54x相比,性能提高5倍,而功耗则降到六分之一。尽管C5x还在全线生产,但公司已经将新设计转向C54x 和C55x。C54x 和C55x采用改进的哈佛结构。
C55x 具有12组独立的总线,而C54x则有8组。它们都有一组程序总线和相应的程序地址总线。C54x总线的宽度为16-bit,而C55x总线的宽度为32-bit。C55x有三组数据读总线和两组数据写总线,而C54x有两组数据读总线和一组数据写总线。每组数据总线都有其相应的地址总线。C55x的数据地址总线的宽度为24-bit,而C54x的数据地址总线的宽度为16-bit。
C54x使用两个辅助寄存器算术单元,在每个周期内产生一个或两个数据存储器地址。这四组内部总线和两个地址发生器使其可以进行多操作数运算。
C55x的地址-数据流单元(ADFU)包含了专门的硬件来管理五组数据总线。该ADFU也可以作为通用的16-bit ALU,用于简单的算术运算。该ALU从指令缓冲单元(IU)接收立即数,和存储器、ADFU寄存器、数据计算单元(DCU)寄存器、程序流单元(PFU)寄存器作双向通信。无论是ALU,还是三个地址寄存器ALU(ARAU)中的一个,都可以修改作间接寻址的九个地址寄存器。这三个ARAU为C55x的三组数据读总线提供独立的地址。这种并行性保证了在每个CPU周期内DCU去读两个16-bit的操作数和一个16-bit的系数。
C55x的DCU包含了两个MAC单元,在单周期内作两个17217-bit的MAC运算。它还包含了一个40-bit的ALU和四个40-bit的累加器寄存器、一个桶型移位器、以及专门的Viterbi算法硬件。每个MAC单元包含一个乘法器和带32-或40-bit饱和逻辑的加法器。三个数据读总线将两个数据流和一个公共系数流送给两个MAC单元。用户可以用ALU作32-bit的运算,或分开作两个16-bit的运算。除开接受从DCU的40-bit Acc寄存器来的输入外,ALU还从IU接受立即数,并和存储器、ADFU寄存器、PFU寄存器作双向通信。
C54x是单17217-bit MAC机器,有一个40-bit的加法器、两个40-bit的Acc和一个分开的40-bit的ALU。与C55x相类似,C54x的ALU也可以作成两个16-bit的配置,完成两个单周期运算。乘法器输出处的40-bit的加法器允许作非流水的MAC运算,以及并行的两个加法和乘法。单周期归一化和指数编码支持浮点数运算。
两个系列的结构都支持一个桶型移位器,将40-bit的Acc的值左移或右移最多达31bit。该桶型移位器将移位后的值送给DCU的ALU,以便作进一步的运算。指令集中关于二操作数、三操作数和32-bit操作数的指令,支持结构的并行性。八个可以独立寻址的辅助寄存器和软件堆栈提高了C编译器的效率。
C55x可以执行可变长度的指令,这和C54x有显著的不同。C54x的指令长度为固定的16-bit,而C55x的指令长度则从8到48 bit。C55x的IU缓存64 byte的代码,且有一个解码逻辑来确认可变长度指令中各指令的区别。局部循环指令使用指令缓冲队列来循环执行代码块。指令缓冲队列还可以在执行条件程序流控制指令的条件测试时,推测性地提取指令。指令解码器按排列顺序对指令解码,而不是执行动态时序,从而可以在预定的时间得到结果。
C55x的PFU跟踪程序的执行点,并为多达16Mbyte的程序存储器产生24-bit的地址。该单元的硬件,可用于循环、灵活性转移、条件执行、以及流水保护。单独的程序计数器可以保证从子程序或中断服务子程序快速返回。该PFU还包括管理指令流水和四个CPU状态寄存器的逻辑。它以硬件方式可以提供四层块循环嵌套。其硬件还支持条件循环。PFU处理流水控制冒险,并对读后写及写后读提供保护。当在指令流中这种冒险发生时,流水保护逻辑就插入一些周期,保证程序的正确执行。集成的软件等待状态发生器使用户可以使用较慢的外部存储器。
该系列的所有DSP都支持片内双访问RAM(DARAM),用户可以将其配置为程序存储器或数据存储器。C55x还有扩展的同步突发性RAM、同步DRAM和异步SRAM及DRAM。片内的锁相环(PLL)允许用户抑制时钟,但C55x核还可以激活与自动管理片内外设和存储器的功耗。当程序不再访问片内存储器时,它们就会被切换到低功率模式。处理器对片内外设也提供类似的控制。
C55x还设置了用户可控的低功率IDLE域,包括CPU、DMA、外设、外部存储器接口、指令队列、以及时钟发生电路。
三、寻址模式
C54x支持单数据存储器操作数寻址和32-bit操作数寻址,还使用并行指令支持双数据存储器操作数寻址。它也提供立即数寻址、存储器映射寻址、循环寻址和位倒序寻址。
在C54x的基础上,C55x还支持绝对值寻址、寄存器间接寻址、直接寻址,即位移模式。C55x的ADFU包括专门的寄存器,支持使用间接寻址指令的循环寻址。可以同时使用五个独立的循环缓冲器和三个独立的缓冲器长度。这些循环缓冲器没有地址排队的限制。C54x支持两个任意长度的循环缓冲器。
四、特殊指令
C54x有专门功能指令,如FIR滤波器、单指令或块指令循环、八个并行指令(如并行存储或乘加)、乘法累加和减(十个乘法指令)、八个双操作数存储器搬移。C55x还有专门的指令,充分利用增加的功能单元和并行能力的优点。用户定义的并行机制,允许将执行两个操作的指令加以组合。
五、开发支持
eXpressDSP软件技术包括DSP集成开发工具:可升级的实时软件基础、可重复使用的应用软件接口标准、以及不断增加的第三方的软件模块。Code Composer Studio是一个集成的DSP开发工具套件,包括C5000的C编译器、DSP/BIOS、实时数据交换技术等。 |