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