数字信号处理器讲座(三)
第三讲 TMS320C5000性能介绍 |
Lesson 3 Performance Introduction to TMS320C5000 |
清华大学电子工程系教授 应启珩 |
TMS320C54x是目前普遍使用的定点芯片。它的特点是功耗很低(在100MIPS时为60mW),可用于数字蜂窝通信、个人通信系统、寻呼机、个人数字助理(PDA)、ATM(异步传输模式)交换机、数字无线通信、等领域。图1表示了C54x的发展过程及应用领域。 图1 TMS320C5000性能发展状况及应用领域
图2是C54x功能结构图,它的主要性能如下: 图2 TMS320C54x功能结构框图 先进的多总线结构:一组程序总线(PAB、PB),三组数据总线(CAB、CB,DAB、DB,EAB、EB) ⒉ 存储器 可寻址存储空间达192K字(程序、数据及I/O各64 64bit),C548还可扩展程序存储器(8兆字) ⒊ 片内外设 软件可编程等待状态产生器 ⒋ 指令集 重复单条指令与重复指令块 ⒌ 功耗控制 IDLE1、IDLE2和IDLE3指令可控制其进入降功耗模式 ⒍ IEEE标准的1149.1边界扫描逻辑接口
'C54x由中央处理器CPU、存储器和片内外设组成,采用哈佛结构,有独立的程序空间、数据空间和I/O空间。图3是'C54x的内部硬件框图。 对所有的'C54x器件来说,图中下半部所示的中央处理单元(CPU)是通用的。 总线结构 一组程序总线(PAB、PB)和三组数据总线CAB、CB,DAB、DB,EAB、EB)将内部各部件联系起来。 图3 TMS320C54x内部硬件框图 图4 ALU功能框图 ALU:算术逻辑运算单元 主要由40位ALU和两个40位累加器(AA和ACCB)组成,如图4所示。 ALU和两个累加器用来完成40位补码的算术运算,也能完成布尔运算。当状态寄存储器ST1的C16位置1时,可做两个16位ALU,同时完成两个16位运算。 输入: 16位立即数; 图5 桶形移位器功能框图 输出:ALU的40位输出被送往累加器A或B。 图6 乘/加模块功能方框图 图7 比较、选择与保存单元(CSSU)功能框图 比较、选择与保存单元(CSSU):可以完成累加器的高位字和低位字之间的最大值比较(CMPS指令)。另一功能是利用优化的片内硬件资源完成数据通信、模式识别等领域中经常用到的Viterbi蝶形运算。 图8 指数编码器 累加器中数值的指数值,以二进制补码形式(-8~31)存放于暂存器T中; CPU状态和控制寄存器: 'C54x共有3个16位状态和控制寄存器(PMST、ST0、ST1)它们都是存储器映象寄存器,可以方便地写入数据、或由数据存储器对它们加载。 内部存储器 ·'C54x的存储器分为三个可独立选择的空间:程序空间、数据空间和I/O空间; ROM一般配置成程序存储空间,用于存放要执行的指令、系数表等固定操作数。也可以部分地安排到数据存储空间,由PMST的状态位 和DROM决定;RAM 一般安排到数据存储空间,存放执行指令所要用的数据。但也可以安排到程序空间,由PMST的状态位OVLY决定。不同'C54x系列内部存储器配置各不相同。 'C54x的寻址方式 TMS320C54x的指令可能含有1个存储器操作数(指令说明中用Smem表示),也可能有2个存储器操作数(指令说明中用Xmem、Ymem表示),分别称为单存储器操作数和双存储器操作数。单存储器操作数有7种寻址方式,它们是: 立即寻址: 操作数(常数)含在指 'C54x的六级指令流水线 'C54x CPU的指令流水线有六级,每个周期有六条指令在工作,它们处于整个执行过程的不同阶段,如图9所示。 图9 流水线不同工作阶段操作内容 图10 流水线正常工作时做业情况 |
TMS320C55是TI公司最新推出的定点DSP芯片系列,它比'C54x的性能有很大提高,而且功耗大大降低,是目前TI公司推出的功率最小的DSP芯片,适用于便携式超低功率场合。
TMS320C55x主要特点:
图1是'C55x的功能结构图,它的主要特点如下:
图1 TMS320C55x功能结构框图
超低功耗设计:
在硬件结构中采用双MAC,有4个40bit的累加器,因而在一个周期内可完成更多的任务。
有更多的"自动并行"指令。为发挥附加的硬件功能,有的指令隐含或装有并行化的能力;另一些指令通过'C55x DSP核的最佳汇编器和C编译器自动安排成并行运行。
用户可自行编程达到并行操作,以便充分利用'C55x DSP芯片的性能。
附加新的指令,扩展硬件处理能力。例如双16位的算术运算、双MAC、条件移位、条件加或减、比例并选择极值、偶或奇对称的FIR滤波、并行移位和存储、寄存器比较或交换等一系列新的指令。
先进的高级功率管理能力。其一是自动断电能力,'C55x DSP核连续的对内存、外设和核心功能单元进行监视,自动的对不工作单元断电;其二是用户可以自己配置IDLE休闲域,'C55x有64种休闲方式,通过改变休闲域寄存器对应的状态位就可以改变对应部件的通断。
通过增加硬件和操作的并行性,极大的提高了处理器的处理能力。
可变指令长度增加代码密度:指令长度为8/16/24/40/48 bit,选择不同长度可使编码密度达到最佳和有效地利用总线;指令预取由16 bit增加到32 bit;片上指令缓存单元自动的不包装指令,以便最有效地利用每一周期。
附加总线和扩充地址增加数据流量:'C55x有一组程序总线,3组读总线,2组写总线,每组总线中的地址线有24 bit,因而极大的扩充了寻址能力。
外部存储器接口性能比'C54x有很大提高:采用双字宽(32 bit)及高速低价格同步存储器,使存储器操作与CPU操作具有相同的速率。同时有自动断电功能,只在使用时接通。
指令高速缓存减少外部存储器访问:'C55x是第一个采用指令高速缓存的器件,允许几条指令同时加载到高速缓存器中,CPU不必对每条指令都去访问存储器,并且在时钟速率下利用指令,增加速度,降低功耗。
改进的控制代码,改善了控制代码的密度:'C55x 增加了几个控制代码的附件,包括新的指令缓存单元、数据存储器和ALU。对条件执行的两种可能性都有准备,使得一旦条件出现,DSP立即响应。
高级仿真缩短调试周期:代码与'C54x兼容,维护消费者的软件投资。
TMS320C55x结构概述
'C55x结构主要由下列各部分组成:
图2 指令缓冲单元(1单元)框图
一个32×16-bit 指令缓冲队列:缓冲可变长度指令和实现块重复操作。
两个17-bit×17-bit MAC:在单周期内实现双MAC操作。
一个40-bit ALU:执行高精度算术和逻辑运算。
一个40-bit 桶形移位寄存器:可以把40-bit结果左移31 位或右移32位。
一个16-bit ALU:和主ALU并行执行简单算术运算。
图3 程序流单元(P单元)框图
四个40-bit 累加器:保持计算结果和减少所需存储器数量。
十二条独立总线:并行地对不同操作单元同时提供处理指令和操作数。
图4 地址数据流单元(A单元框图)
指令缓冲单元功能
它对应用程序的指令进行缓存和,包含了解释'C55x可变长度指令的解码逻辑。指令缓存单元使各种计算单元的任务流量维持一个常数, 以便增加DSP的效率。(见图2)
程序流单元功能
当程序执行时,这个单元用来保存执行点的轨迹。此单元包括使循环有效的硬件以及用于预测转移、条件执行、流水线保护的专用硬件。当程序的控制发生变化时,例如转移和调用子程序时,这个硬件能使处理器所需周期数减少,从而可提高处理效率。(见图3)
地址数据流单元功能
在程序执行期间,这个单元提供数据访问的地址指针。此单元可以使'C55x 实现有效的寻址模式。管理五条数据总线的专用硬件用来保持各个计算单元有恒定的数据流。由于有一个通用的ALU作简单的算术运算,使得地址数据流单元可进一步增加'C55x 结构的指令并行性。(见图4)
数据计算单元功能
这个单元是CPU的心脏,完成对被处理数据的算术运算。它包括两个MAC(乘法累加器)、主ALU(40-bit)、4个40-bit的累加寄存器,其附加的功能部件有桶形移位寄存器、舍入与饱和控制以及有效完成Viterbi计算的专用硬件。由此单元给出的指令的并行性是'C55x处理效率高低的关键。(见图5)
TMS320C54x和TMS320C55x性能比较
- 上一篇:数字信号处理器讲座(四)
- 下一篇:数字信号处理器讲座(二)