连续实时信号处理器的性能分析
1 处理器概况
AD公司的TigerSHARC DSP(ADSP-TS101S)和摩托罗位公司PowerPC系列处理器代表了获得高性能计算能力的不同结构和方法。TigerSHARC代表DSP的传统做法,它具有低开销、确定性和DMA引擎等特点,专门用于开发嵌入式实时应用系统,例如雷达、声纳、无线通信和图像处理。相反,PowerPC是一种RISC处理器,用于开发副苹果计算机最高性能的G4工作站;具有很高的时钟频率以及强大的AltiVec矢量处理引擎,在一些嵌入式信号处理应用方面也取得了很大的成功。
很明显,具有AltiVec核的PowerPC G4(74xx)具有较高的核时钟速率与性能。PowerPC的核时
相反,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和处理器之间的数据通信,簇总线的搬移数据速率为800MB/s。数据还可以通过Link口以50MB/s速度进行传送,每个TigerSHRC提供总的I/O带宽可达1800MB/s。TigerSHARC的BPR是0.1,表明对连续的信号处理是平衡的优化结构。
3 信号处理能力—cFFT
1024点复数FFT(cFFT)是评价信号处理性能使用最广泛的基准。原因如下:第一,清晰而且容易易化;第二,在大多数应用中,它是最普遍使用的信号处理函数;第三,cFFT可以评估处理器的数据处理能力和处理速度。
值得注意的是,由于PwerPC的速度和性能,在计算1024点cFFT有明显优越性;然而TigerSHARC是为DSP裁剪定制的,在执行信号处理算法时会更加有效。这是由于芯片具有极好的数据搬移的能力、平衡以及单周期执行蝶形运算能力(乘法、加法、差分)。AltiVec核比TigerSHARC核快3.3倍,潜在处理速率是TIgerSHARC的4.4倍,然而它执行一个1024点cFFT仅比TIgerSHARC快2.5倍。TigerSHARC在9750周期可以完成CFFT运算,而PowerPC必须用13000个周期,因此,在执行一个1024点CFFT时,TigerSHARC的计算效率比PowerPC高33%。换句话说,如果以相同的时钟频率运行,TIgerSHARC会超过PowerPC 33%。随着TigerSHARC时钟速率继续提升,考虑成本和功耗等问题,当它执行FFT信号处理应用时,它的能力要显明超过AltiVec。
4 连续的cFFT
评价处理器能力时,通常考虑它的处理能力、I/O带宽,甚至算法的执行,但遗憾的是这些评估没有一个能真实反映实际应用。实际应用时,这些因素往往相互影响。数据必须按所希望的那样同时输入、处理、输出。每个1024点cFFT需要8KB数据输入(1024个样本
评论