TMS320C5000系列DSP性能介绍

时间:2011-09-04
 
  数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。其工作原理是接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是值得称道的两大特色。
 
  TMS320C5000——低功耗高性能DSP,16位定点,速度40~200MIPS。主要用途是有线和无线通信、IP、便携式信息系统、寻呼机、助听器等。
  目前’C5000系列中又有三种新成员,一种是’C5402,这是廉价型的DSP,目标价格是每片5美元(50K批量),速度保持100MIPS,片内存储空间稍小一些,RAM为16K、ROM为4K。主要应用对象是无线Modem、新一代PDA、网络电话和其它电话系统以及消费类电子产品。
  第二种是’C5420,它拥有两个DSP核,速度达到200MIPS,200K片内RAM,功耗0.32mA/MIPS,200MIPS全速工作时不超过120mW,为业内功耗的DSP。’C5420是当今集成度的定点DSP,适合于做多通道基站、服务器、Modem和电话系统等要求高性能、低功耗、小尺寸的场合。
  第三种是’C5416,它是TI公司0.15μm器件中的款,速度为160MIPS,有三个多通道缓冲串行口(McBSPs),能够直接与T1或E1线路联接,不需要外部逻辑电路,有128K片内RAM。应用对象是VoIP、通信服务器、PBX(专用小交换机)和计算机电话系统等。
 


  TMS320系列的同一代芯片具有相同的CPU结构,但根据市场的不同需要,形成新的存储器与外设的不同组合,产生了多种派生器件。

  TMS320C54x关键特性

  图2是C54x功能结构图,它的主要性能如下:

 

 

   ⒈ CPU

  中央处理器(Central Processing Unit)的缩写,即CPU,CPU是电脑中的配件,只有火柴盒那么大,几十张纸那么厚,但它却是一台计算机的运算和控制。电脑中所有操作都由CPU负责读取指令,对指令译码并执行指令的部件。CPU的主要运作原理,不论其外观,都是执行储存于被称为程式里的一系列指令。在此讨论的是遵循普遍的架构设计的装置。程式以一系列数字储存在电脑记忆体中。差不多所有的CPU的运作原理可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。


  先进的多总线结构:一组程序总线(PAB、PB),三组数据总线(CAB、CB,DAB、DB,EAB、EB)

  40位的数学逻辑单元(ALU):包括40位的桶形移位寄存器和两个独立的40位累加器

  17 17位并行乘法器和40位专用加法器,单周期完成乘法/累加(MAC)

  适于Viterbi运算的比较、选择、存储单元(CSSU)

  指数编码器,可在单周期内计算(40位)累加器中数值的指数

  两个地址产生器,包括八个辅助寄存器和两个的算术单元

  ⒉ 存储器

  可寻址存储空间达192K字(程序、数据及I/O各64 64bit),C548还可扩展程序存储器(8兆字)

  典型C5400芯片存储器

  ⒊ 片内外设

  软件可编程等待状态产生器

  可编程的块交换

  片内锁相环时钟产生器

  禁止外部总线的控制机制

  ⒋ 指令集

  重复单条指令与重复指令块

  存储器块移动指令

  32位数运算指令

  可同时读取2或3个操作数的指令

  具有并行保存和并行加载的算术指令

  条件保存指令

  ⒌ 功耗控制

  IDLE1、IDLE2和IDLE3指令可控制其进入降功耗模式

  可控制是否输出CLKOUT信号

  ⒍ IEEE标准的1149.1边界扫描逻辑接口

  

   TMS320C54x结构概述

  C54x由中央处理器CPU、存储器和片内外设组成,采用哈佛结构,有独立的程序空间、数据空间和I/O空间。图3是'C54x的内部硬件框图。

  对所有的'C54x器件来说,图中下半部所示的中央处理单元(CPU)是通用的。

  总线结构

  

 


  C54x 包括8 条16 比特宽度的总线,其中:

  一条程序总线(PB)

  三条数据总线(CB、DB、EB)

  四条地址总线(PAB CAB DAB EAB)

 

 

  ALU:算术逻辑运算单元

  主要由40位ALU和两个40位累加器(ACCA和ACCB)组成,如图4所示。

  ALU和两个累加器用来完成40位二进制补码的算术运算,也能完成布尔运算。当状态寄存储器ST1的C16位置1时,可做两个16位ALU,同时完成两个16位运算。

  输入:

  16位立即数;

  来自数据存储器的16位数;

  来自暂存器T的16位数;

  来自数据存储器读出的两个16位数;

  来自数据存储器读出的一个32位数;

  来自累加器(A和B)的40位数;

 

 

  输出:ALU的40位输出被送往累加器A或B。


 

 


  桶形移位器:将输入数据左移0~31位或右移0~16位,经常用作数字定标、位提取、扩展算术和溢出保护等操作。 输入40位:来自累加器或经DB、CB的 数据存储器;

  输出40位:连到ALU或经EB连到数据存储器;

  所移位数由指令中移位字段、ST1的ASM字段或T寄存器指定移位位数决定。

 

 

 


  乘/加模块:由乘法器、加法器、输入数据的符号控制逻辑、小数控制逻辑、零检测、舍入、溢出/饱和逻辑和16位暂存寄存器T等组成。乘法器和ALU在一个指令周期内共同完成(17 17补码)乘/加(40位)运算,且可并行地作ALU运算,这些功能可用来做Euclidean距离及LMS滤波等复杂运算。乘/加模块功能方框图如图6所示。

  比较、选择与保存单元(CSSU):可以完成累加器的高位字和低位字之间的值比较(CMPS指令)。另一功能是利用优化的片内硬件资源完成数据通信、模式识别等领域中经常用到的Viterbi蝶形运算。

 

 


  指数编码器:用于支持单周期指令EXP的专用硬件,如图8所示。

  累加器中数值的指数值,以二进制补码形式(-8~31)存放于暂存器T中;

  CPU状态和控制寄存器:

  'C54x共有3个16位状态和控制寄存器(PMST、ST0、ST1)它们都是存储器映象寄存器,可以方便地写入数据、或由数据存储器对它们加载。

  外设

  C54x 包括

  通用I/O 引脚,XF 和BIO

  定时器

  PLL 时钟产生器

  HPI 口8 比特或16 比特

  同步串口

  带缓存串口BSP

  多路带缓存串口McBSP

  时分复用串口TDM

  可编程等待状态产生器

  可编程bank switching 模块

  外部总线接口

  IEEE1149.1 标准JTAG 口

  C P U

  C54x 的CPU 结构包括:

  40 比特的ALU ,其输入来自16 比特立即数、16 比特来自数据存储器的数据、暂时存储器、T 中的16 比特数、数据存储器中两个16 比特字、数据存储器中32 比特字、累加器中40 比特字。

  2 个40 比特的累加器,分为三个部分,保护位(39- 32 比特)、高位字(31-16 比特)、低位字(15-0 比特)。

  桶型移位器,可产生0 到31 比特的左移或0 到16 比特的右移。

  17x17 比特的乘法器

  40 比特的加法器

  比较选择和存储单元CSSU

  数据地址产生器DAGEN

  程序地址产生器PAGEN

  内部存储器

  ·'C54x的存储器分为三个可独立选择的空间:程序空间、数据空间和I/O空间;

  ·'C54x的片内存储器包括ROM和RAM,其中RAM又可分为SARAM和DARAM:SARAM为单寻址寄存储器,DARAM为双寻址寄存储器(一周期内可以访问两次)。

  ROM一般配置成程序存储空间,用于存放要执行的指令、系数表等固定操作数。也可以部分地安排到数据存储空间,由PMST的状态位 和DROM决定;RAM 一般安排到数据存储空间,存放执行指令所要用的数据。但也可以安排到程序空间,由PMST的状态位OVLY决定。不同'C54x系列内部存储器配置各不相同。

  'C54x的寻址方式

  TMS320C54x的指令可能含有1个存储器操作数(指令说明中用Smem表示),也可能有2个存储器操作数(指令说明中用Xmem、Ymem表示),分别称为单存储器操作数和双存储器操作数。单存储器操作数有7种寻址方式,它们是:

  立即寻址: 操作数(常数)含在指令中;

  寻址: 指令中含有操作数的16位地址;

  累加器寻址: 操作数地址在累加器中(A);

  直接寻址: 指令中含有操作数地址的低7 位;

  间接寻址: 操作数的地址在辅助寄存器中,支持倒位序寻址、循环寻址等功能;

  存储器映像的寄存器寻址:

  访问存储器映像寄存器,又不影响DP或SP;

  堆栈寻址: 访问堆栈;

  双存储器操作数支持一些特殊指令:

  如MAC、FIR等复杂指令。

  'C54x的六级指令流水线

  'C54x CPU的指令流水线有六级,每个周期有六条指令在工作,它们处于整个执行过程的不同阶段,如图9所示。

 

 


  流水线的工作全部为单字指令连续执行时(理想情况)如图10 所示。

 

 


  第二部分:TMS320C54xx性能介绍(二)
  TMS320C55是TI公司推出的定点DSP芯片系列,它比'C54x的性能有很大提高,而且功耗大大降低,是目前TI公司推出的功率的DSP芯片,适用于便携式超低功率场合。

  TMS320C55x主要特点:

  图1是'C55x的功能结构图,它的主要特点如下:


 

 


  超低功耗设计:

  在硬件结构中采用双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结构主要由下列各部分组成:

 

 

 

  一个32×16-bit 指令缓冲队列:缓冲可变长度指令和实现块重复操作。

  两个17-bit×17-bit MAC:在单周期内实现双MAC操作。

  一个40-bit ALU:执行高算术和逻辑运算。

  一个40-bit 桶形移位寄存器:可以把40-bit结果左移31 位或右移32位。

  一个16-bit ALU:和主ALU并行执行简单算术运算。

 

  四个40-bit 累加器:保持计算结果和减少所需存储器数量。

  十二条独立总线:并行地对不同操作单元同时提供处理指令和操作数。

 

  指令缓冲单元功能

  它对应用程序的指令进行缓存和解码,包含了解释'C55x可变长度指令的解码逻辑。指令缓存单元使各种计算单元的任务流量维持一个常数, 以便增加DSP的效率。(见图2)

  程序流单元功能

  当程序执行时,这个单元用来保存执行点的轨迹。此单元包括使循环有效的硬件以及用于预测转移、条件执行、流水线保护的专用硬件。当程序的控制发生变化时,例如转移和调用子程序时,这个硬件能使处理器所需周期数减少,从而可提高处理效率。(见图3)

  地址数据流单元功能

  在程序执行期间,这个单元提供数据访问的地址指针。此单元可以使'C55x 实现有效的寻址模式。管理五条数据总线的专用硬件用来保持各个计算单元有恒定的数据流。由于有一个通用的ALU作简单的算术运算,使得地址数据流单元可进一步增加'C55x 结构的指令并行性。(见图4)

  数据计算单元功能

  这个单元是CPU的心脏,完成对被处理数据的算术运算。它包括两个MAC(乘法累加器)、主ALU(40-bit)、4个40-bit的累加寄存器,其附加的功能部件有桶形移位寄存器、舍入与饱和控制以及有效完成Viterbi计算的专用硬件。由此单元给出的指令的并行性是'C55x处理效率高低的关键。(见图5)

 

  TMS320C54x和TMS320C55x性能比较


  
上一篇:特种嵌入式平板电脑在肉类加工的技术应用
下一篇:开关变压器第十讲 解析单激式变压器内部损耗

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料