新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 新一代数字信号处理器TMS320C55X

新一代数字信号处理器TMS320C55X

作者:时间:2006-05-07来源:网络收藏

摘要:TMS320C55X是美国德州仪器公司生产的一种低功耗高性能器,它的每个MIPS功耗只需0.05mW,因而可使网络音频播放器在两节AA电池作电源时工作200小时。文中介绍了TMS320C55X的主要特性,并详细分析了TMS320C55X的CPU结构。

本文引用地址:http://www.eepw.com.cn/article/242284.htm

关键词:器 低功耗 CPU结构 TMS320C55X

1 概述

TMS320C55X是德州仪器公司(TI)器产品TMS320CC5000系列中最新的一种。它极大地降低了功耗,每个MIPS只需要0.05mW,与目前市场上的主流产品TMS320C54X相比,TMS320C55X的功耗降低了6倍。由于TMS320C5000系列具有可编程、低功耗特性,全世界有70%的移动电话使用了这个系列的元件,而TMS320C55X则通过其强大的电源管理功能使省电特性进一步增强。例如,TMS320C55X可使网络音频播放器用两节AA电池工作200个小时,是目前播放器的10倍;而且它还可以支持所有的INTERNET音频标准。芯片中的可编程内核与现行主流TMS320C54X软件相兼容。

TMS320C55X可广泛应用个人无线通信系统,个人医疗设备(助听器、内耳植入器等)、数字相机、INTERNET音频系统以及数字音乐随射播放器等。

一般来说,TMS320C55X主要针对个人消费及通信市场,对执行诸如语音解码和碥码调制解调、图像压缩及解压、语音识别及语音合成等方面所用到的数字信号处理算法是十分有效的。

2 主要特性

TMS320C55X具有以下特性:

●1个32×16位的指令缓冲队列;

●2个17×17位的乘积并累加单元(multiply-and-accumulate unit,MAC);

●1个40位的算术逻辑单元(ALU);

●1个40位的移位器(Shifter);

●1个16位算术逻辑单元(ALU);

●4个40位的累加器(accumulate);

●12组独立总线。其中包括:3组数据读总线、2组数据写总线、5组数据地总线、1组等程序读总线和1组程序写总线。

3 TMS320C55X的CPU结构

TMS320C55X的中央处理单元(CPU)内部结构由四部分组成(如图1)。它们分别是:指令缓冲单元,程序流程单元,地址数据流程单元,数据处理单元。下面对各个单元进行简要地介绍。

3.1 TMS320C55X的总线结构

TMS320C55X采用增强型哈佛结构,程序存储器和数据存储器具有各自的总线结构,在CPU内部共有12组总线。下面对这12组总线分别进行介绍:

●数据读数据总线:

该总线共3组,分别是BB、CB和DB,每组均为16位。数据读数据总线的功能是将16位的数据从数据空间或I/O空间送入CPU的功能单元(如MAC单元)。其中,BB总线只能把数据送入数据处理单元(D单元),它的主要功能是联结存储器和数据处理单元中的两个乘积并累加单元(MAC)。TMS320C55X指令集中有一些专门的指令使编程人员能够使用BB,CB和DB在同一时刻读取3个操作数。CB和DB总线上的数据可以送入程序流程单元(P单元)、数据处理单元(D单元)和地址数据流程单元(A单元)。指令如果同时读取两个操作数,则CB和DB同时被使用,而在只读取一个操作数时仅使用DB总线。

●数据读地址总线:

数据读地睛总线亦有3组,分别是BAB、CAB和DAB,每组均为24位。这三组数据总线将24位地址送入存储器接口单元(Memory Interface Unit),由存储器接口单元先中CPU所需的数据。三组数据读地址总线上的地址信息是由CPU中的地址数据流程单元(A单元)产生的。BAB总线上的数据为数据读数据总线中的BB总线送入CPU的数据的地址。CAB总线上的数据数据读数据总线CB总线送入CPU的数据的地址。而DAB总线上的数据是由数据读数据总线DB总线或者是由DB和CB总线送入CPU的数据的地址。

●程序读数据总线:

该总线是一组32位总线,功能是将4字节的程序代码送入指令缓冲单元(I单元),并在指令缓冲单元中对指令进行解码。

●程序读地址总线:

程序读地址总线是一组24位总线。该总线上的数据是由PB总线传磅到CPU的程序代码的地址。

●数据写数据总线:

该总线有两组,分别为EB和FB,每一组总线为16位。数据写数据总线的功能是将CPU内部器件(如MAC单元)的数据写入存储器空间或I/O空间。

●数据写地址总线:

该总线共两组,分别是EAB和FAB,每组总线均为24位。数据写地址总线上的数据是由数据写数据总线送入CPU的数据的地址。

可以看出,TMS320C55X不仅程序空间和数据空间是不分开的,而且数据的读和写都有各自分开的地址总线,这种并行结构允许CPU在一个周期内进行读和写,因而提高了CPU的处理速度。

3.2 指令缓冲单元

指令缓冲单元(I单元)的主要功能是将指令流从存储器中取出并送入CPU。在每一个CPU周期,指令缓冲单元从32位的程序读数据总线取出4个字节的程序代码,同时将已经接收并存入在指令缓冲队列前端的最多6个字节程序代码送入指令解码控制器中进行解码(见图2)。指令解码控制器将解码信息送入P单元(程序流程单元)、A单元(地址数据流程单元)和D单元(数据处理单元)。

在每一个流水线的预取阶段,TMS320C55X的CPU从程序存储器中取出32位的程序代码并将其存放在指令缓冲队列中。当CPU准备好对指令进行解码时,从指令缓冲队列中取出最多可有6个字节的代码送入指令解码控制器。指令缓冲队列中最多可以存放64字节的代码,这可以使CPU保持连续的程序流程,提高处理速度。在执行位于指令缓冲队列中的重复指令或循环指令代码时,CPU不仅处理速度快,而且功耗低,因为被执行的代码存放在指令缓冲队列中时,CPU执行诸如loop的循环指令无需访问存储器,而访问存储器是需要消耗时间和能量的。在流水线的解码阶段,指令解码器一次从指令缓冲队列接受最多6个字节的程序代码并对其进行解码。指令缓冲单元的操作并不是动态的,也就是说:指令缓冲单元中的指令代码是按其进入指令缓冲队列的顺序依次被解码。其优点是程序执行时间可以预先知道,这对实时嵌入式系统的设计是十分重要的。

TMS320C55X的指令组的编码是可变长的,指令长度可从1个字节到6个字节。与所有指令的编码长度都相同的编码方式不同,TMS320C55X指令中的一些简单指令编码后的长度要小于复杂指令编码后的长度。指令编码后的长度有8位、16位、24位、32位、40位和48位6种。这种编码方式可以产生高密度的程序代码,同时可以充分利用程序存储空间。

3.3 程序流程单元

程序流程单元(P单元)用于控制指令执行的次序、它内部的程序地址发生器能产生从程序存储器中取指令的地址。该单元还包括管理程序流水线的逻辑,4个状态寄存器可以控制和监视CPU的各个特性。 图3所示为程序流程单元的框图。

在程序流程单元中,程序地址发生器可以产生24位的地址。因为程序流程单元支持字节寻址方式,所以代码存放在存储器中无需进行对齐操作。24位的地址总线使TMS320C55X的寻址空间达到16M字节。程序流程单元还控制着分支、调用、重复和中断等。

程序流程单元为提高指令执行效率进行了优化。举例来说:其内部的程序地址发生器完全独立于CPU中的其它任何部分,这样,条件分支的条件就能在流水线的早期进行测试并计算出分支的目标地址以减小分支延迟;这种并行性也使在流水线中执行数据处理的同时处理程序控制指令。程序流程单元的另一个特点是具有一个分开的程序计数器,该程序计数器可以使子程序或中断服务程序快速返回。

程序流程单元提供的循环(loop)功能包括重复执行一个指令或一组指令。它还在硬件上支持条件重复。程序流程单元的主要优点是其内部具有一个专门的逻辑以保护流水线。除了对付控制冒险(control hazards)程序流程单元还对读后写数据冒险和写后读数据冒险提供完全的保护。当这些冒险(hazard)出现在TMS320C55X的指令流中时,流水线保护逻辑会自动加入周期以保持操作顺序并对程序进行修正。

3.4 地址数据流程单元

地址数据流程单元(A单元)用于产生对数据空间进行读写操作所需的地址。该单元包括所有产生两组数据写地址总线和三组数据读地址线上的地址所需的逻辑单元和寄存器。此外,在地址数据流程单元中,还有一个16位的算术逻辑单元(ALU),图4是地址数据流程的框图。

在数据计算单元处理复杂操作时,16位的算术逻辑单元(ALU)可以并行地进行一些简单的运算。它从指令缓冲单元接收立即数,并与数据计算单元的寄存器、存储器、地址数据流程单元和程序流程单元进行双向通信。在地址数据流程单元,该ALU可以控制4个通用的临时寄存器和任何一个地址寄存器。4个通用的寄存器可以提高编译时的效率并减少对存储器的访问。除了通用的算术逻辑单元,TMS320C55X的其它3个地址寄存器算术逻辑单元以对进行间接寻址的9个寄存器进行修改。这3个地址寄存器算术逻辑单元产生独立的地址以作为三组数据读总线的地址。这种并行结构允许两个16位的操作数和一个16位的系数在一个CPU周期内同时读入数据计算单元。另外,地址数据流程单元还包括一些支持在间接寻址指令中循环寻址方式的寄存器。

3.5 数据计算单元

数据计算单元(D单元)是TMS320C55X的CPU的重要部分,应用系统的大量数据在这个单元进行处理。图5是数据计算单元的框图,从图中可以看出,三组数据读数据总线上的数据可用作两个AMC器件的输入右40位的算术逻辑单元的输入。MAC器件运算的结构可以存放在4个40位的累加器中。数据计算单元的这种并行性将减少TMS320C55X在执行信号处理算法时所需的周期数。TMS320C55X相对TMS320C54X的性能有很大的提高,其中关键的一些是TMS320C55X采用了并行的双MAC结构,每一个MAC器件包括一个乘法器和一个专门的加法器,在单周期内,每一个MAC单元可以执行17×17位的乘法运算和一个40位的加法运算。MAC单元的输入是三组数据读数据总线上的数据,这三组数据一般是两组数据流和一组常系数数据流。MAC运算结果可以存放在数据计算单元的40位的累加器中。

数据计算单元包括一个40位的算术逻辑单元,这个算术逻辑单元是与MAC器件完全分开的。它能够对40位累加器中的数据进行算术或逻辑运算。另外的一种工作方式是同时对两组16位数据进行算术运算。该算术逻辑单元的输入除了数据计算单元的累加器外,它还从指令缓冲单元接收立即数,并且能够与存储器、地址数据流程单元的寄存器以及程序流程单元的寄存器进行双向通信。

数据计算单元中还有一个功能强大的移位器。移位器可将累加器中40位的数据向左最多移31位或向右移32位。它从指令缓冲单元接收立即数并可与程序流程单元和地址数据流程单元的寄存器进行双向通信。此外,移位器移位后的值可以作为算术逻辑单元的输入以便进一步处理。

数据计算单元将处理的结果通过两组16位的数据写总线写入存储器中。这两组总线与地址数据流程单元的地址发生器结合在一起,使TMS320C55X可以在一个CPU周期内完成两个16位数据写或一个32位数据写的功能。这种方法可以提高数字信号处理器CPU的数据天吞吐量,因而对实时性要求高的场合是十分必要的。

4 结束语

TMS320C55X具有性能高,功耗低和完善的软件开发支持等特点,它的内核与TI公司现有的完全兼容,同时,TI公司还提供集成的开发环境eXpress 实时软件技术,该技术包括所有必要的工上和软件,支持新推出的TMS320C55X内核,能使用户较快地开发新的产品。



评论


相关推荐

技术专区

关闭