連續(xù)實時信號處理器的性能分析
1 處理器概況
AD公司的TigerSHARC DSP(ADSP-TS101S)和摩托羅位公司PowerPC系列處理器代表了獲得高性能計算能力的不同結(jié)構(gòu)和方法。TigerSHARC代表DSP的傳統(tǒng)做法,它具有低開銷、確定性和DMA引擎等特點,專門用于開發(fā)嵌入式實時應(yīng)用系統(tǒng),例如雷達、聲納、無線通信和圖像處理。相反,PowerPC是一種RISC處理器,用于開發(fā)副蘋果計算機最高性能的G4工作站;具有很高的時鐘頻率以及強大的AltiVec矢量處理引擎,在一些嵌入式信號處理應(yīng)用方面也取得了很大的成功。
很明顯,具有AltiVec核的PowerPC G4(74xx)具有較高的核時鐘速率與性能。PowerPC的核時
相反,TigerSHARC有兩個獨立的32閏處理器核,或稱MIMD(多指令多數(shù)據(jù))結(jié)構(gòu)。每個計算單元每周期能執(zhí)行一次乘法以及和差分運算,對于300MHz ADSP-TS101S每周期完成6次浮點運算或1800MFLOPS峰值運算能力。當執(zhí)行16位數(shù)據(jù)運算時,TigerSHARC可以利用它的超標量體系結(jié)構(gòu),分離兩個獨立32位計算單元成2個單獨的16位SIMD單元,這樣每個操作在兩個數(shù)據(jù)單元,每個周期可以增加超過12次的操作。另外,TigerSHARC有另外兩個專門的16位整數(shù)引擎,每個周期可以增加超過12次的操作,這樣每個周期共計24次整數(shù)運算,7200MOPS。
2?。桑蠋捙c處理能力的比值
在許多信號處理的應(yīng)用中,受限于數(shù)據(jù)流而不是處理能力,因此理解處理器I/O能力以及與處理器內(nèi)核的數(shù)據(jù)交換的性能十分重要。衡量的尺度是I/O帶寬與處理率之比(BPR),即處理器峰值I/O帶寬(MB/s)除以峰值處理能力(MFLOPS)。1B/FLOP的BPR指示它是一個比較平衡的連續(xù)信號處理結(jié)構(gòu),意味著處理器對每個浮點操作能完成1B數(shù)據(jù)傳輸。一個處理器的BPR明顯高于或低于1B/FLOP,表示這種結(jié)構(gòu)比連續(xù)信號處理器更適合數(shù)據(jù)流搬移或后向數(shù)據(jù)處理。
圖1所示為PowerPC處理器節(jié)點方框圖。從圖中可以看出所有處理器I/O的訪問必須通過MPC和控制器/橋芯片之間的64位,128MHz(對于MPC7455為133MHz)系統(tǒng)總線。對于MPC7410任何一個處理器的最高I/O帶寬是1000MB/s,對MPC7455的最高I/O帶寬是1064?。停?s。
然而由于Altivec很強大,這種適宜的高帶寬不一定總能跟上核的速度。當MPC7455執(zhí)行8000MFLOPS時,數(shù)據(jù)搬移的速度僅為1064MB/s。BPR值只有0.13,說明這種結(jié)構(gòu)的I/O帶寬和處理能力是不平衡的。因此,PowerPC對塊處理是有效的(比如具有高的計算和相對低的數(shù)據(jù)流動),但對連續(xù)的、高數(shù)據(jù)流動、較少計算的連續(xù)信號處理,是低效率的。
TigerSHARC是為多處理器設(shè)計的,而且提供了64位、100MHz共享系統(tǒng)總線以及4個8位,250MHz的Link口作I/O和處理器之間的數(shù)據(jù)通信,簇總線的搬移數(shù)據(jù)速率為800MB/s。數(shù)據(jù)還可以通過Link口以50MB/s速度進行傳送,每個TigerSHRC提供總的I/O帶寬可達1800MB/s。TigerSHARC的BPR是0.1,表明對連續(xù)的信號處理是平衡的優(yōu)化結(jié)構(gòu)。
3 信號處理能力—cFFT
1024點復(fù)數(shù)FFT(cFFT)是評價信號處理性能使用最廣泛的基準。原因如下:第一,清晰而且容易易化;第二,在大多數(shù)應(yīng)用中,它是最普遍使用的信號處理函數(shù);第三,cFFT可以評估處理器的數(shù)據(jù)處理能力和處理速度。
值得注意的是,由于PwerPC的速度和性能,在計算1024點cFFT有明顯優(yōu)越性;然而TigerSHARC是為DSP裁剪定制的,在執(zhí)行信號處理算法時會更加有效。這是由于芯片具有極好的數(shù)據(jù)搬移的能力、平衡以及單周期執(zhí)行蝶形運算能力(乘法、加法、差分)。AltiVec核比TigerSHARC核快3.3倍,潛在處理速率是TIgerSHARC的4.4倍,然而它執(zhí)行一個1024點cFFT僅比TIgerSHARC快2.5倍。TigerSHARC在9750周期可以完成CFFT運算,而PowerPC必須用13000個周期,因此,在執(zhí)行一個1024點CFFT時,TigerSHARC的計算效率比PowerPC高33%。換句話說,如果以相同的時鐘頻率運行,TIgerSHARC會超過PowerPC?。常常?。隨著TigerSHARC時鐘速率繼續(xù)提升,考慮成本和功耗等問題,當它執(zhí)行FFT信號處理應(yīng)用時,它的能力要顯明超過AltiVec。
4 連續(xù)的cFFT
評價處理器能力時,通常考慮它的處理能力、I/O帶寬,甚至算法的執(zhí)行,但遺憾的是這些評估沒有一個能真實反映實際應(yīng)用。實際應(yīng)用時,這些因素往往相互影響。數(shù)據(jù)必須按所希望的那樣同時輸入、處理、輸出。每個1024點cFFT需要8KB數(shù)據(jù)輸入(1024個樣本
評論