连续实时信号处理器的性能分析
扫描二维码
随时随地手机看文章
来源:单片机及嵌入式系统应用; 作者:北京理工大学 石红艳 王 华
摘要:对AD公司的TigerSHARC DSP(ADSP-TS101S)和摩托罗拉公司的具有AltiVec矢量处理器核的PowerPC系列MPC7410和MPC7455处理器,在连续实时信号处理领域的应用进行了评估。
关键词:连续实时信号处理 I/O带宽 ADSP-TS101S MPC7410 MPC7455对于复杂、实时信号算是系统的设计人员来讲,最严峻的挑战是针对给定任何选择一个最有效的处理器。因为处理器效率依赖于应用,涉及到结构和应用等各个方面,因此折中的办法很难定义和评估。用通常使用的方法评价处理器,往往误导人们。因为它掩盖了许多依赖应用并使实际性能下降因素;在不同的处理器上执行应用,然后评估每个处理器执行的实际性能,这种方法费用昂贵、花费时间,不切合实际。
1 处理器概况AD公司的TigerSHARC DSP(ADSP-TS101S)和摩托罗位公司PowerPC系列处理器代表了获得高性能计算能力的不同结构和方法。TigerSHARC代表DSP的传统做法,它具有低开销、确定性和DMA引擎等特点,专门用于开发嵌入式实时应用系统,例如雷达、声纳、无线通信和图像处理。相反,PowerPC是一种RISC处理器,用于开发副苹果计算机最高性能的G4工作站;具有很高的时钟频率以及强大的AltiVec矢量处理引擎,在一些嵌入式信号处理应用方面也取得了很大的成功。
很明显,具有AltiVec核的PowerPC G4(74xx)具有较高的核时钟速率与性能。PowerPC的核时钟速率几乎是目前TigerSHARC的3.3倍(不久更快版本的TigerSHARC将发布)。AltiVec核每个周期执行单条指令,每128位向量包含4个独立的32位数据单元,这就是众所周知的SIM-D(单指令多数据)结构。当执行一次乘加(MAC)矢量运算时,达到峰值处理能力,每周期可完成8次浮点操作。对于1GHz的MPC7455,峰值处理能力可达8000M次/s浮点运算。AltiVec每周期能执行8次整数或定点操作,峰值整数运算能力为8000MOPS(百万次操作/s)。
;;; 相反,TigerSHARC有两个独立的32闰处理器核,或称MIMD(多指令多数据)结构。每个计算单元每周期能执行一次乘法以及和差分运算,对于300MHz ADSP-TS101S每周期完成6次浮点运算或1800MFLOPS峰值运算能力。当执行16位数据运算时,TigerSHARC可以利用它的超标量体系结构,分离两个独立32位计算单元成2个单独的16位SIMD单元,这样每个操作在两个数据单元,每个周期可以增加超过12次的操作。另外,TigerSHARC有另外两个专门的16位整数引擎,每个周期可以增加超过12次的操作,这样每个周期共计24次整数运算,7200MOPS。
2 I/O带宽与处理能力的比值在许多信号处理的应用中,受限于数据流而不是处理能力,因此理解处理器I/O能力以及与处理器内核的数据交换的性能十分重要。衡量的尺度是I/O带宽与处理率之比(BPR),即处理器峰值I/O带宽(MB/s)除以峰值处理能力(MFLOPS)。1B/FLOP的BPR指示它是一个比较平衡的连续信号处理结构,意味着处理器对每个浮点操作能完成1B数据传输。一个处理器的BPR明显高于或低于1B/FLOP,表示这种结构比连续信号处理器更适合数据流搬移或后向数据处理。
图1所示为PowerPC处理器节点方框图。从图中可以看出所有处理器I/O的访问必须通过MPC和控制器/桥芯片之间的64位,128MHz(对于MPC7455为133MHz)系统总线。对于MPC7410任何一个处理器的最高I/O带宽是1000MB/s,对MPC7455的最高I/O带宽是1064 MB/s。
然而由于Altivec很强大,这种适宜的高带宽不一定总能跟上核的速度。当MPC7455执行8000MFLOPS时,数据搬移的速度仅为1064MB/s。BPR值只有0.13,说明这种结构的I/O带宽和处理能力是不平衡的。因此,PowerPC对块处理是有效的(比如具有高的计算和相对低的数据流动),但对连续的、高数据流动、较少计算的连续信号处理,是低效率的。
TigerSHARC是为多处理器设计的,而且提供了64位、100MHz共享系统总线以及4个8位,250MHz的Link口作I/O和处理器之间的数据通信,簇总线的搬移数据速率为8