[资料分享] TMS320C6000芯片结构图和基本特性

火辣西米秀   2019-10-11 21:55 楼主

TMS320C6000 芯片结构图

  

  TMS320C600的基本特性

  TMS320C6000产品是美国TI公司于1997年推出的dsp芯片,该DSP芯片定点、浮点兼容,其中,定点系列是TMS320C62xx系列,浮点系列是TMS320C67xx系列,2000年3月,TI发布新的C64xx内核,主频为1.1GHz,处理速度9000MIPS,在图像处理和流媒体领域得到了广泛的应用。

  C6000片内有8个并行的处理单元,分为相同的两组。DSP的体系结构采用超长指令字(vliw)结构,单指令字长为32位,指令包里有8条指令,总字长达到256位。执行指令的功能单元已经在编译时分配好,程序运行时通过专门的指令分配模块,可以将每个256为的指令包同时分配到8个处理单元,并有8个单元同时运行。芯片最高时钟频率为300MHz(67xx系列),且内部8个处理单元并行运行时,其最大处理能力可达到1600MIPS。

  TMS320C6000的架构

  1. CPU架构

  

  2. C6000基本指令集

  在“DSP TMS320C6000基础学习(1)”中已经说过:SOP是大部分DSP算法的关键单元。C6000的寄存器包括A,B两组。

  我们将看看下面的表达式通过DSP指令是怎么一步步实现的,

  Y=∑an*xn withn = 1.。.N

  (1)an*xn乘法实现,DSP中有专门的硬件乘法模块,因此只需要一个指令就能完成乘法操作,而且指令周期为1。

  其中MPY为乘法指令,.M表示DSP的乘法单元,上面指令执行Y1=a1*x1。

  (2)加法实现,ADD指令,加法单元用.L表示,下面指令执行Y=Y+Y1

  

  (3)内存数据装载(上面的操作其实是有问题的,MPY和ADD不能直接操作内存),只能使用如下命令:

  LDB *Rn, Rm:转载一个字节(8bits)

  LDH *Rn, Rm:装载一个半字(16bits)

  LDW *Rn, Rm:装载一个字(32bits)

  LDDW *Rn, Rm:装载一个double字(64bits)

  其中Rn包含要装载操作数内存地址(32bits)的寄存器,Rm为目标寄存器。装载的DSP执行单元称为.D。

  (4)将常量装入寄存器指令——MVKL和MVKH

  MVKL const, Rn(低16bits)

  MVKH const Rn(高16bits)

  const是一个常量或标签值,只能先装低位再装高位。

  比如(3)中,先要将操作数内存地址载入Rn中,因为地址长度为32bits,必须依次使用上面的2条指令完成地址到寄存器的载入工作,

  MVKL Addr_low8 Rn

  MVKL Addr_high8 Rn

  (5)综合(1)~(4)指令完成a1*x1的过程

   360截图20191011215422967.jpg

  其中pt1和pt2分别为a与x地址。

  (6)循环指令

  为完成Y=∑an*xn withn = 1.。.N,还有一个循环求和的过程,与其它平台类似,DSP中通过跳转指令和计数器实现循环,实现循环的步骤为:

  添加一个标签(下一次要跳转到何处);

  添加跳转指令(B);

  创建一个循环计数器;

  添加一条指令用于对循环计数器更新;

  使跳转指令根据计数器的值做相应的跳转;

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复