您当前的位置:五五电子网电子知识单片机-工控设备DSP/FPGA技术TMS320C55x DSP并行处理技术分析与应用 正文
TMS320C55x DSP并行处理技术分析与应用

TMS320C55x DSP并行处理技术分析与应用

点击数:7674 次   录入时间:03-04 11:45:41   整理:http://www.55dianzi.com   DSP/FPGA技术

    这是一个A单元ALU模块与D单元移位操作模块的并行处理实例。它在A单元完成16位加法运算,并将结果存放于AR1,同时在D单元完成对寄存器AC0的移位存储操作。这两条指令之间不存在硬件冲突,满足并行规则1。两条指令总共长度为5个字节,小于IBQ6个字节的限制,满足了并行规则2。这里只使用了一个储器中的数据,不需要满足并行规则3的规定。通过上机调试,这条并行指令能够正确编译并执行。

4. 累加器的移位、饱和及存储操作与D单元ALU或MAC的并行处理

下面我们以一个实例来进行说明:
MOV HI(AC0<<#18),*AR2
||ADD AC0,AC1

    这是一个D单元移位操作模块与D单元ALU模块的并行处理实例。它在移位操作模块中完成寄存器AC0的移位,然后将移位后的值通过E总线存储到存储器中,同时在ALU模块中完成寄存器AC0与AC1的加法运算,然后将结果存放于AC1。这两条指令不存在硬件冲突,满足并行规则1。两条指令总长度为5个字节,小于IBQ6字节的限制,满足并行规则2。这里只需使用一个存储器中的数据,不需满足并行规则3。通过上机调试,这条并行指令能够正确编译并执行。

5. 程序控制操作与运算操作的并行

    P单元程序控制模块与其他的算术运算模块相对较独立,不易发生硬件冲突,便于进行并行处理。下面是一个程序控制指令与算术运算指令的并行:

ADD *AR2,AC0
    ||RPTBLOCAL JUMP1 这是一个D单元ALU模块与P单元程序控制模块的并行实例。它在D单元ALU中将D总线送来的数据与AC0相加并存入AC0,同时完成程序循环控制。程序执行中不存在硬件模块和总线的冲突,满足并行规则1;两条指令总长度为5字节,满足并行规则2;此例只使用一个存储器中的数据,不需要满足并行规则3。通过上机调试,这条并行指令能够正确编译并执行。

6. 使用常量对存储器进行初始化

    D单元拥有两条写总线(E、F总线),在通常情况下我们只使用了其中的一条写总线造成资源浪费。假如我们需要对某块数据存储区清零,通常的做法如下:
RPT #9
MOV #0,*AR1+
    这段程序对存储区数据逐一清零,每次只使用了D单元的E总线,总共需要10个时钟周期才能完成。在这种情况下,如果我们充分利用E、F总线,将有效地降低这段程序的运算量。具体实现如下:
MOV #0,AC0
||RPT #4
MOV AC0,DBL(*AR1+)

    这段程序与上一段的最大不同点在于,一个时钟周期内通过E、F总线将两个初始数据同时传送到指定的数据区,同时初始化两个字的存储空间。这段程序只需要5个时钟周期就可以完成10个字的初始化,比普通做法节约一半的运算量,提高了使用效率。

参考文献
[1] TMS320C55x DSP CPU Reference Guide.TI.May 2000
[2] TMS320C55x DSP Programmer's Guide.TI.April 2000
[3] 申敏,邓矣兵,郑建宏,刘栋。DSP原理及其在移动通信中的应用.人民邮电出版社.2001年

作者:周渝陇
申敏
赵春雨
Email: zhouyulong@cqcyit.com
重邮信科股份有限公司3G研究院

上一页  [1] [2] 


本文关键字:技术  DSP/FPGA技术单片机-工控设备 - DSP/FPGA技术