1 概述
TMS320C55X在C54x的基础上发展起来的新一代低功耗、高性能数字信号处理器。
1) 软件具有C54兼容模式。
2) 工作时钟大大超过了C54x系列处理器。
3) CPU内部通过增加功能单元增强了DSP运算能力。
具有更高的性能和更低的功耗。在无线通信、便携式个人数字系统及高效率的多通道数字压缩语音电话系统中得到广泛应用。
2 主要特性
TMS320C55X具有以下特性:
●1个32×16位的指令缓冲队列;
●2个17×17位的乘积并累加单元;
●1个40位的算术逻辑单元;
●1个40位的移位器;
●1个16位算术逻辑单元;
●4个40位的累加器;
●12组独立总线。其中包括:3组数据读总线、2组数据写总线、5组数据地总线、1组等程序读总线和1组程序写总线。
3 TMS320C55X的CPU结构
TMS320C55X的中央处理单元内部结构由四部分组成。它们分别是:指令缓冲单元,程序流程单元,地址数据流程单元,数据处理单元。下面对各个单元进行简要地介绍。
3.1 TMS320C55X的总线结构
TMS320C55X采用增强型哈佛结构,程序存储器和数据存储器具有各自的总线结构,在CPU内部共有12组总线。下面对这12组总线分别进行介绍:
●数据读数据总线:
该总线共3组,分别是BB、CB和DB,每组均为16位。数据读数据总线的功能是将16位的数据从数据空间或I/O空间送入CPU的功能单元。TMS320C55X指令集中有一些专门的指令使编程人员能够使用BB,CB和DB在同一时刻读取3个操作数。CB和DB总线上的数据可以送入程序流程单元、数据处理单元和地址数据流程单元。
●数据读地址总线:
数据读地睛总线亦有3组,分别是BAB、CAB和DAB,每组均为24位。这三组数据总线将24位地址送入存储器接口单元,由存储器接口单元先中CPU所需的数据。三组数据读地址总线上的地址信息是由CPU中的地址数据流程单元产生的。BAB总线上的数据为数据读数据总线中的BB总线送入CPU的数据的地址。CAB总线上的数据数据读数据总线CB总线送入CPU的数据的地址。而DAB总线上的数据是由数据读数据总线DB总线或者是由DB和CB总线送入CPU的数据的地址。
●程序读数据总线:
该总线是一组32位总线,功能是将4字节的程序代码送入指令缓冲单元,并在指令缓冲单元中对指令进行解码。
●程序读地址总线:
程序读地址总线是一组24位总线。该总线上的数据是由PB总线传磅到CPU的程序代码的地址。
●数据写数据总线:
该总线有两组,分别为EB和FB,每一组总线为16位。数据写数据总线的功能是将CPU内部器件的数据写入存储器空间或I/O空间。
●数据写地址总线:
该总线共两组,分别是EAB和FAB,每组总线均为24位。数据写地址总线上的数据是由数据写数据总线送入CPU的数据的地址。
可以看出,TMS320C55X不仅程序空间和数据空间是不分开的,而且数据的读和写都有各自分开的地址总线,这种并行结构允许CPU在一个周期内进行读和写,因而提高了CPU的处理速度。
3.2 指令缓冲单元
指令缓冲单元的主要功能是将指令流从存储器中取出并送入CPU。在每一个CPU周期,指令缓冲单元从32位的程序读数据总线取出4个字节的程序代码,同时将已经接收并存入在指令缓冲队列前端的多6个字节程序代码送入指令解码控制器中进行解码。指令解码控制器将解码信息送入P单元、A单元和D单元。
在每一个流水线的预取阶段,TMS320C55X的CPU从程序存储器中取出32位的程序代码并将其存放在指令缓冲队列中。当CPU准备好对指令进行解码时,从指令缓冲队列中取出多可有6个字节的代码送入指令解码控制器。指令缓冲队列中多可以存放64字节的代码,这可以使CPU保持连续的程序流程,提高处理速度。在执行位于指令缓冲队列中的重复指令或循环指令代码时,CPU不仅处理速度快,而且功耗低。在流水线的解码阶段,指令解码器从指令缓冲队列接受多6个字节的程序代码并对其进行解码。指令缓冲单元的操作并不是动态的,也就是说:指令缓冲单元中的指令代码是按其进入指令缓冲队列的顺序依次被解码。
TMS320C55X的指令组的编码是可变长的,指令长度可从1个字节到6个字节。与所有指令的编码长度都相同的编码方式不同,TMS320C55X指令中的一些简单指令编码后的长度要小于复杂指令编码后的长度。指令编码后的长度有8位、16位、24位、32位、40位和48位6种。这种编码方式可以产生高密度的程序代码,同时可以充分利用程序存储空间。
3.3 程序流程单元
程序流程单元用于控制指令执行的次序、它内部的程序地址发生器能产生从程序存储器中取指令的地址。该单元还包括管理程序流水线的逻辑,4个状态寄存器可以控制和监视CPU的各个特性。 图3所示为程序流程单元的框图。
在程序流程单元中,程序地址发生器可以产生24位的地址。因为程序流程单元支持字节寻址方式,所以代码存放在存储器中无需进行对齐操作。24位的地址总线使TMS320C55X的寻址空间达到16M字节。程序流程单元还控制着分支、调用、重复和中断等。
程序流程单元为提高指令执行效率进行了优化。这种并行性也使在流水线中执行数据处理的同时处理程序控制指令。程序流程单元的另一个特点是具有一个分开的程序计数器,该程序计数器可以使子程序或中断服务程序快速返回。
程序流程单元提供的循环功能包括重复执行一个指令或一组指令。它还在硬件上支持条件重复。程序流程单元的主要优点是其内部具有一个专门的逻辑以保护流水线。除了对付控制冒险程序流程单元还对读后写数据冒险和写后读数据冒险提供完全的保护。当这些冒险出现在TMS320C55X的指令流中时,流水线保护逻辑会自动加入周期以保持操作顺序并对程序进行修正。
3.4 地址数据流程单元
地址数据流程单元用于产生对数据空间进行读写操作所需的地址。该单元包括所有产生两组数据写地址总线和三组数据读地址线上的地址所需的逻辑单元和寄存器。此外,在地址数据流程单元中,还有一个16位的算术逻辑单元。
在数据计算单元处理复杂操作时,16位的算术逻辑单元可以并行地进行一些简单的运算。它从指令缓冲单元接收立即数,并与数据计算单元的寄存器、存储器、地址数据流程单元和程序流程单元进行双向通信。在地址数据流程单元,该ALU可以控制4个通用的临时寄存器和任何一个地址寄存器。4个通用的寄存器可以提高编译时的效率并减少对存储器的访问。除了通用的算术逻辑单元,TMS320C55X的其它3个地址寄存器算术逻辑单元以对进行间接寻址的9个寄存器进行修改。这3个地址寄存器算术逻辑单元产生独立的地址以作为三组数据读总线的地址。这种并行结构允许两个16位的操作数和一个16位的系数在一个CPU周期内同时读入数据计算单元。另外,地址数据流程单元还包括一些支持在间接寻址指令中循环寻址方式的寄存器。
3.5 数据计算单元
数据计算单元是TMS320C55X的CPU的重要部分,DSP应用系统的大量数据在这个单元进行处理。器件运算的结构可以存放在4个40位的累加器中。数据计算单元的这种并行性将减少TMS320C55X在执行信号处理算法时所需的周期数。TMS320C55X相对TMS320C54X的性能有很大的提高,其中关键的一些是TMS320C55X采用了并行的双MAC结构,每一个MAC器件包括一个乘法器和一个专门的加法器,在单周期内,每一个MAC单元可以执行17×17位的乘法运算和一个40位的加法运算。MAC单元的输入是三组数据读数据总线上的数据,这三组数据一般是两组数据流和一组常系数数据流。MAC运算结果可以存放在数据计算单元的40位的累加器中。
数据计算单元包括一个40位的算术逻辑单元。它能够对40位累加器中的数据进行算术或逻辑运算。另外的一种工作方式是同时对两组16位数据进行算术运算。它还从指令缓冲单元接收立即数,并且能够与存储器、地址数据流程单元的寄存器以及程序流程单元的寄存器进行双向通信。
数据计算单元中还有一个功能强大的移位器。移位器可将累加器中40位的数据向左多移31位或向右移32位。它从指令缓冲单元接收立即数并可与程序流程单元和地址数据流程单元的寄存器进行双向通信。此外,移位器移位后的值可以作为算术逻辑单元的输入以便进一步处理。
数据计算单元将处理的结果通过两组16位的数据写总线写入存储器中。这两组总线与地址数据流程单元的地址发生器结合在一起,使TMS320C55X可以在一个CPU周期内完成两个16位数据写或一个32位数据写的功能。这种方法可以提高数字信号处理器CPU的数据天吞吐量,因而对实时性要求高的场合是十分必要的。
4 结束语
TMS320C55X具有性能高,功耗低和完善的软件开发支持等特点。同时,TI公司还提供集成的开发环境eXpress DSP实时软件技术,能使用户较快地开发新的产品。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。