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

发布者:qin199099最新更新时间:2008-12-12 来源: 测控技术关键字:TI  DSP  并行处理 手机看文章 扫描二维码
随时随地手机看文章

  TMS320C55x DSP是一种高性能的数字信号处理器,其强大的并行处理能力能够进一步提高其运算能力。本文介绍了C55xDSP的内核结构以及用户自定义并行指令时必须遵守如下3条并行处理基本规则,并介绍了6种典型的并行处理应用。利用本文介绍的方法使用并行处理能力将有效提高程序执行效率,同时降低系统功耗。

  德州仪器公司(TI)的TMS320C55x(简称C55x)DSP内核是在TMS320C54x(简称C54x)基础上开发出来的,并可以兼容C54x的源代码。C55x的内核电压降到了1V,功耗降到0.05mW/MIPS,是C54x的1/6。C55x的运行时钟可以达到 200MHz,是C54x的两倍,再加上C55x在C54x结构上作了相当大的扩展,程序执行时可以大量采用并行处理,这样使得C55x的实际运算能力可以达到300MIPS以上。 

  C55x DSP已越来越多地应用于各种手持便携终端当中。以下我们将通过详细介绍C55x的CPU内核结构,讨论其并行处理技术的应用。

  C55x DSP内核结构

  C55x DSP是一款采用改良型哈佛结构,高度模块化的数字信号处理器拥有比普通DSP更为丰富的硬件资源,能够有效提高运算能力。其内核结构如图1所示.

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

  整个处理器内部分为5个大的功能单元:存储器缓冲单元(M单元)、指令缓冲单元(I单元)、程序控制单元(P单元)、地址生成单元(A单元)和数据计算单元(D 单元),各个功能单元之间通过总线连接。C55x DSP中有1条32位程序数据总线(P总线),1条24位程序地址总线(PA总线),5条16位的数据总线(B、C、D、E、F总线)和5条24位的数据地址总线(BA、CA、DA、EA、FA总线)。这种高度模块化的多总线结构使得C55x DSP拥有超强的并行处理能力。[page]

  M单元主要管理数据区(包括I/O数据区)与中央处理器(CPU)之间的数据传送,使得高速CPU与外部相对低速的存储器之间在吞吐量上的瓶颈可以得到一定程度的缓解。

  I单元从程序数据总线接收程序代码,并将其放入指令缓冲队列(IBQ)中,然后利用指令译码器将指令缓冲队列中的程序代码进行译码,最后再将译码后的指令送给P单元、A单元、D单元进行处理。

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

  P单元主要是通过判断是否满足条件执行指令的条件来控制程序地址的产生,达到控制程序流程的目的。程序控制单元中还含有程序控制寄存器、循环控制寄存器、中断寄存器和状态寄存器等硬件寄存器。通过循环控制寄存器的设置,可以直接控制程序中的循环次数等,而不必像在普通DSP中一样在外部对循环条件进行判断,从而可以有效提高运行效率。

  A单元的功能是产生读写数据空间的地址。地址生成单元由数据地址产生电路(DAGEN)、16位的算术逻辑单元(ALU)和一组寄存器构成。C55x DSP地址产生与其他功能模块分开,保证不会因为地址产生的原因使得单条指令需要在多个时钟周期内完成,提高了DSP的运行效率。A单元中的寄存器包括数据页寄存器、辅助寄存器、堆栈指针寄存器、循环寻址寄存器和临时寄存器等。

  D单元是C55x DSP中主要的数据执行部件,完成大部分数据的算术运算工作。它由移位器、40位ALU、两个17位的乘累加器(MAC)和若干寄存器构成。数据计算单元的两个乘累加器能够并行使用,可以有效提高DSP运行效率。D单元中的寄存器包括累加器和两个用于维特比译码的专用指令寄存器。[page]

  并行处理基本准则

  如图1所示C55x DSP内核结构可知,整个处理器的地址及数据运算由P单元、A单元和D单元完成。这三个单元相对独立,各自通过总线与数据区及程序区相连。这种相互独立的模块化结构,在硬件特性上确保这三个单元在同一时钟周期内能够进行并行处理,完成各自不同的运算操作。

  在C55x DSP指令集中有一些固定搭配的并行执行指令(主要是利用D单元双MAC结构的并行指令),这些被固定使用的并行指令之间使用“::”符号连接。除了这些固有的并行指令外,用户也可以根据CPU结构特征自行定义并行指令,并行的两条指令之间需使用“||”符号连接,以区分指令集中的并行指令。

  用户自定义并行指令时,必须遵守如下3条并行处理基本规则:

  规则1: 保证不产生硬件冲突,包括操作数、寄存器、总线及各运算模块的冲突。在对C55x DSP的所有操作中,对P、A、D三个单元进行操作的指令类型有14类,这14类操作指令之间有很大一部分可以相互并行运行。经过我们对C55x DSP硬件电路结构的分析,在只考虑硬件模块冲突的情况下,我们得出如图2所示的C55xDSP并行处理能力分析图。图中将14类操作指令组成了一个14 ×14的矩阵,列出了每一类指令与其自身及其他13类指令并行执行的能力。图中画有(符号的空格代表不能并行执行,相反没有任何符号的空格代表可以并行执行。

  在考虑并行处理的硬件冲突时,还需要考虑总线资源的冲突。总线资源的冲突通常发生在数据总线和常量总线,C55x DSP中含有5条数据总线和2条常量总线,各条总线与各运算模块的连接如图3所示。

  数据总线中,C、D总线是读数据总线,通过这两条总线进行数据读取;E、F总线是写数据总线,通过这两条总线进行数据写操作;另外还有一条特殊的B总线,这条总线可以进行读或写操作,但是它只能被CDP寄存器使用,而其它辅助寄存器无法使用B总线。

  两条常量总线分别是KA、KD总线。KA常量总线用于产生地址数据。P单元的KA常量总线负责产生程序地址,例如跳转指令B #Routine2中,常量#Routine2就是通过KA常量总线被送到P单元的。A单元的KA常量总线负责产生数据存储区地址,例如在指令 Mov*SP(#7),Brc0中,偏移量#7就是通过KA常量总线被送到A单元的。KD总线用于传送参与运算的常量数据,例如指令ADD #123,AC0中,常量123就是通过KD总线传送的。

  规则2:受指令缓冲队列(IBQ)的限制,并行语句的总长度不能超过6个字节。 I单元中的译码器只能将IBQ中的1~6个字节的程序进行译码。如果一条并行语句的长度超过6个字节,则需要在两个时钟周期内对其进行两次译码。因此必须将两条并行语句的总长度限制在6个字节。

  规则3:当需要寻址两个及以上数据存储区数据时,必须使用双重AR间接寻址方式。

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

  采用双重AR间接寻址方式,可以通过使用2个不同的辅助寄存器(AR0~AR7)同时访问数据存储区中两个不同的数据。在这种寻址方式下,我们可以通过两条不同的数据总线,在同一时钟周期内寻址两个不同数据,并将其输入不同的运算模块进行计算。

  常用并行处理应用

  在编程实现过程中,对每一个并行处理都进行仔细分析将能达到事半功倍的效果。下面是我们总结出的几种典型并行处理应用:

  1. D单元双MAC结构的并行处理

  在C55x DSP的D单元中采用了双MAC的结构,其结构如图4所示。这里有3条数据总线(B、C、D数据总线)与两个MAC模块相连。在同一时钟周期里,可以同时通过3条数据总线将三个不同地址的数据传入两个MAC模块中进行并行计算。[page]

  通常情况下,两个MAC模块的运算总共需要4个数据,而这里的总线数却只有3条,所以在并行使用双MAC结构时,两个MAC模块必须共用一组数据,而另外两组数据分别分配给两个MAC模块。这使得双MAC结构的并行应用受到一定的限制。

  C55x的双MAC结构比较典型的应用如不同数据的相同算法处理和同一数据的不同算法处理。下面是对不同数据进行相同FIR滤波的实例:

  MAC *AR0+,*CDP+,AC0

  ::MAC *AR1+,*CDP+,AC1

  其中AR0和AR1寄存器分别指向输入的两组数据,CDP寄存器指向FIR滤波器的抽头系数。C55x DSP的指令集中还含有其它与双MAC模块并行处理的专用指令,在此就不再仔细分析。

  2. 存储区数据装载指令与存储指令的并行

  A单元、P单元和D单元均可以对存储器中数据实现装载及存储。数据的装载与存储使用的是不同总线,不会发生硬件冲突,易于实现并行处理。以下是在D单元内实现两个数据装载与存储的实例:

  MOV AC0,*AR1

  ||MOV *AR2,AC1

  此例是在D单元内对AC0进行存储并装载数据到AC1。程序执行时,将数据通过D总线读入AC1寄存器,同时将AC0数据通过E总线写入存储器,这样就避免了硬件冲突,满足并行规则1。两条指令总长度为4字节,小于IBQ6个字节的限制,满足了并行规则2。两条指令均采用双重间接寻址,满足了并行规则3。通过上机调试,这条并行指令确实能够正确编译并执行。

  3. A单元中ALU运算与D单元中ALU、MAC和移位运算的并行

  下面我们以一个实例来进行说明:

  ADD T0,AR1

  ||MOV HI(AC0<<#18),*AR2

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

  这是一个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个字的初始化,比普通做法节约一半的运算量,提高了使用效率。

关键字:TI  DSP  并行处理 引用地址:TMS320C55x DSP并行处理技术分析与应用

上一篇:基于TMS320LF2407的变频技术研究
下一篇:赛灵思FPGA唱响国内首个国家级信息安全大赛

推荐阅读最新更新时间:2024-05-02 20:44

TI项目经理的无人机梦
每年夏天,TI的Hans-Martin Hilbig都会邀请他的团队成员到他位于德国兰茨胡特的住处举行烧烤派对。不过,他的客人们到那儿去并不只是为了吃饭。整个活动的高潮是饭后的娱乐环节;每每此时,Hans-Martin便会展示他的业余爱好和他珍藏的宝贝,那就是他用TI产品改装的四轴飞行器。 我很享受与孩子们以及我的同事分享科技的乐趣, TI MSP430团队的项目经理Hans-Martin说道。 作为工程设计专业人员,我们有责任为孩子们展示电子设备的无限可能性,并帮助他们发掘电子设备带给我们的无限乐趣。 对于MSP系统经理Tobias Leisgang和他7岁与10岁的儿子来说,夏季烧烤就是非常应景的社交活动。 我的两个
[物联网]
<font color='red'>TI</font>项目经理的无人机梦
德州仪器将在CES上展示超声波镜头清理技术
德州仪器即将在CES上展示公司先进的超声波镜头清理技术。 超声波镜头清理是通过精确控制的高频振动,清洁玻璃表面。尤其是在下雨天,这项技术可以自动检测并清除汽车后置摄像头镜头上的雨滴,而无需驾驶员采取任何行动。 超声波镜片清洗技术是如何工作的? 让我们从基础物理学开始。 所有物体都有固定震荡频率,由其分子结构和几何形状决定。例如,吉他弦在弹奏时以其自然频率振动。 同样,酒杯在被敲击时会以其自然频率振动。 如果您以特定的固有频率反复向材料施加能量,则入射波将叠加现有波——使它们更强烈但仍处于同一相位,这种现象称为共振。 为了更好地理解共振,想象一下你正在推某人荡秋千。当处于顶峰时,在正确的时刻推秋千则会荡的更高,相反,
[传感器]
<font color='red'>德州仪器</font>将在CES上展示超声波镜头清理技术
XILINX推出针对最新TI DSP的高速互通接口
赛灵思公司日前宣布,推出两种针对德州仪器DSP的接口。赛灵思Serial RapidIO接口适用于Virtex-4和Virtex-II Pro FPGA,可向TI高性能TMS320C6455 DSP提供10 Gbps的串行链路。这种高速工业标准链路使面向TI DSP的设计者能够使用赛灵思FPGA来进行DSP加速、总线桥接、逻辑合并或实现新外设。新的VLYNQ接口在赛灵思低成本的Spartan-3与Spartan-3E FPGA上提供了一种到CoreConnect总线的桥接电路,允许设计者使用FPGA来扩展其基于达芬奇(DaVinci)技术的TMS320DM644x数字媒体处理器或其他任何带有VLYNQ接口的TI DSP的外设数量。
[新品]
基于DSP控制的逆变器并联
摘要:通过采样输出电压和电感上电流来控制逆变器,并采用CAN总线作为并联通讯线,通过对逆变器参考电压的调节使得各并联逆变器达到均流的效果。文章给出了仿真波形并加以实验验证。 关键词:逆变器;控制器局域网总线;并联;数字信号处理     1  前言     随着信息技术的发展,各个应用领域中对交流电源的要求也越来越高。不间断电源(Uninterruptible Power Systems简称UPS)能够提供品质良好的正弦波电源,且对整个电网的污染小。随着对交流电源容量和整个供电系统稳定性、可靠性的要求越来越高,UPS的并联技术也被广泛地研究与应用。采用UPS并联技术组成的供电系统具有很多的优点:     1)
[嵌入式]
安富利设计服务联手赛灵思和德州仪器
共同开发突破性工业自动化解决方案 以太网 POWERLINK工业网络套件可以完整地实现POWERLINK协议(受控节点) 安富利公司(NYSE: AVT) 旗下安富利电子元件(Avnet Electronics Marketing)下属的安富利设计服务(Avnet Design Services)今天宣布推出低成本的以太网POWERLINK工业网络套件,为工业网络应用提供完整的开发平台。这一基于Spartan-6 FPGA的套件由安富利设计服务与赛灵思和德州仪器携手开发,并得到奥地利贝加莱公司(B&R Automation) 的技术支持,可以完整地实现POWERLINK协议(受控节点),提供开发工具和其它设计资源,帮助工业网络
[网络通信]
X射线在行李安检扫描中的应用
 X 射线检查常用于行李的安检扫描,例如机场的托运和手提行李检查。待验物品须经过 X 射线辐射,穿过物品却未被吸收的辐射将被收集在影像探测器(通常为光电二极管)面阵上。这些探测器输出需要特殊信号调节的超低电平电流,并且需要高分辨率数据转换器来达到必需的分辨率以正确显现被扫描的物品。此信号调节有时包含在单片数据采集解决方案中,正如精密模数转换器 (ADC) 附带电流-至-电压 (I-to-V) 转换的情况一样。其它时候,离散的极低电流/噪声前端放大器测量并放大影像探测器面阵的输出电流,然后驱动独立的电压输入 ADC。其设计方框图如下:      内核系统包括:   DSP 处理器   DSP 处理器可用于成像重构,利用影
[嵌入式]
X射线在行李安检扫描中的应用
DSP航姿信号模拟器硬件设计
飞机的航向与姿态是飞机操纵的重要参数,航姿信号包括航向信号和姿态信号,一般把飞机的俯仰角、倾斜角、航向角、转弯角速度等称为全姿态。测量全姿态,通常采用的陀螺仪进行,也称为陀螺仪表,根据各种飞机的使用要求,有多种陀螺仪表,比如地平仪、综合罗盘、转弯仪、航向姿态系统等。但是无论哪种情况,其信号输出的变换大多是通过自整角机或旋转变压器来实现的。 航姿信号模拟器是为了给待测的仪表设备或实验室研究提供可以人工调节和控制的信号源而设计的,可以产生各种频率的航姿信号及用户自己定义的任意波形等,以便对飞机性能进行测试。传统的航姿信号模拟系统开发是基于VXI、PCI等总线基础上,大多使用硬件电路设计与实现,通过PC机进行分析处理,功能相对来说也比
[嵌入式]
<font color='red'>DSP</font>航姿信号模拟器硬件设计
电力电子装置控制系统的DSP设计方案
摘 要 以TI公司的电机控制专用芯片TMS320LF2407aDSP为例,介绍电力电子装置中控制系统的硬件设计方案。包括DSP的电平转换、时钟、复位、译码、片外存储、键盘、液晶显示和E2PROM电路与必要的外围电路。 关键词 DSP 硬件设计 电力电子装置 PCB 引言 在现代高性能电力电子和交流电机控制系统中,DSP已经取代了微控制器成为控制器的核心。其快速强大的运算和处理能力以及并行运行的能力,满足了电力电子装置控制系统对实时性和处理算法复杂性的要求,并为不断发展的新理论和新算法的应用奠定了技术基础。 C240x系列DSP是面向数字控制系统的新一代数字信号处理器。该控制器集实时处理能力和控制器设计功能于一身,为控
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved