展會信息港展會大全

連續(xù)實(shí)時(shí)信號處理器的性能分析
來源:互聯(lián)網(wǎng)   發(fā)布日期:2011-09-07 15:54:48   瀏覽:6180次  

導(dǎo)讀:連續(xù)實(shí)時(shí)信號處理器的性能分析...

連續(xù)實(shí)時(shí)信號處理器的性能分析

-------------------------------------------------------------------------------------------

摘要:對AD公司的TigerSHARC DSP(ADSP-TS101S)和摩托羅拉公司的具有AltiVec矢量處理器核的PowerPC系列MPC7410和MPC7455處理器,在連續(xù)實(shí)時(shí)信號處理領(lǐng)域的應(yīng)用進(jìn)行了評估。   
關(guān)鍵詞:連續(xù)實(shí)時(shí)信號處理。桑蠋挕DSP-TS101S MPC7410 MPC7455對于復(fù)雜、實(shí)時(shí)信號算是系統(tǒng)的設(shè)計(jì)人員來講,最嚴(yán)峻的挑戰(zhàn)是針對給定任何選擇一個(gè)最有效的處理器。因?yàn)樘幚砥餍室蕾囉趹?yīng)用,涉及到結(jié)構(gòu)和應(yīng)用等各個(gè)方面,因此折中的辦法很難定義和評估。用通常使用的方法評價(jià)處理器,往往誤導(dǎo)人們。因?yàn)樗谏w了許多依賴應(yīng)用并使實(shí)際性能下降因素;在不同的處理器上執(zhí)行應(yīng)用,然后評估每個(gè)處理器執(zhí)行的實(shí)際性能,這種方法費(fèi)用昂貴、花費(fèi)時(shí)間,不切合實(shí)際。1 處理器概況AD公司的TigerSHARC
DSP(ADSP-TS101S)和摩托羅位公司PowerPC系列處理器代表了獲得高性能計(jì)算能力的不同結(jié)構(gòu)和方法。TigerSHARC代表DSP的傳統(tǒng)做法,它具有低開銷、確定性和DMA引擎等特點(diǎn),專門用于開發(fā)嵌入式實(shí)時(shí)應(yīng)用系統(tǒng),例如雷達(dá)、聲納、無線通信和圖像處理。相反,PowerPC是一種RISC處理器,用于開發(fā)副蘋果計(jì)算機(jī)最高性能的G4工作站;具有很高的時(shí)鐘頻率以及強(qiáng)大的AltiVec矢量處理引擎,在一些嵌入式信號處理應(yīng)用方面也取得了很大的成功。很明顯,具有AltiVec核的PowerPC
G4(74xx)具有較高的核時(shí)鐘速率與性能。PowerPC的核時(shí)鐘速率幾乎是目前TigerSHARC的3.3倍(不久更快版本的TigerSHARC將發(fā)布)。AltiVec核每個(gè)周期執(zhí)行單條指令,每128位向量包含4個(gè)獨(dú)立的32位數(shù)據(jù)單元,這就是眾所周知的SIM-D(單指令多數(shù)據(jù))結(jié)構(gòu)。當(dāng)執(zhí)行一次乘加(MAC)矢量運(yùn)算時(shí),達(dá)到峰值處理能力,每周期可完成8次浮點(diǎn)操作。對于1GHz的MPC7455,峰值處理能力可達(dá)8000M次/s浮點(diǎn)運(yùn)算。AltiVec每周期能執(zhí)行8次整數(shù)或定點(diǎn)操作,峰值整數(shù)運(yùn)算能力為8000MOPS(百萬次操作/s)。   
相反,TigerSHARC有兩個(gè)獨(dú)立的32閏處理器核,或稱MIMD(多指令多數(shù)據(jù))結(jié)構(gòu)。每個(gè)計(jì)算單元每周期能執(zhí)行一次乘法以及和差分運(yùn)算,對于300MHz
ADSP-TS101S每周期完成6次浮點(diǎn)運(yùn)算或1800MFLOPS峰值運(yùn)算能力。當(dāng)執(zhí)行16位數(shù)據(jù)運(yùn)算時(shí),TigerSHARC可以利用它的超標(biāo)量體系結(jié)構(gòu),分離兩個(gè)獨(dú)立32位計(jì)算單元成2個(gè)單獨(dú)的16位SIMD單元,這樣每個(gè)操作在兩個(gè)數(shù)據(jù)單元,每個(gè)周期可以增加超過12次的操作。另外,TigerSHARC有另外兩個(gè)專門的16位整數(shù)引擎,每個(gè)周期可以增加超過12次的操作,這樣每個(gè)周期共計(jì)24次整數(shù)運(yùn)算,7200MOPS。2 I/O帶寬與處理能力的比值在許多信號處理的應(yīng)用中,受限于數(shù)據(jù)流而不是處理能力,因此理解處理器I/O能力以及與處理器內(nèi)核的數(shù)據(jù)交換的性能十分重要。衡量的尺度是I/O帶寬與處理率之比(BPR),即處理器峰值I/O帶寬(MB/s)除以峰值處理能力(MFLOPS)。1B/FLOP的BPR指示它是一個(gè)比較平衡的連續(xù)信號處理結(jié)構(gòu),意味著處理器對每個(gè)浮點(diǎn)操作能完成1B數(shù)據(jù)傳輸。一個(gè)處理器的BPR明顯高于或低于1B/FLOP,表示這種結(jié)構(gòu)比連續(xù)信號處理器更適合數(shù)據(jù)流搬移或后向數(shù)據(jù)處理。圖1所示為PowerPC處理器節(jié)點(diǎn)方框圖。從圖中可以看出所有處理器I/O的訪問必須通過MPC和控制器/橋芯片之間的64位,128MHz(對于MPC7455為133MHz)系統(tǒng)總線。對于MPC7410任何一個(gè)處理器的最高I/O帶寬是1000MB/s,對MPC7455的最高I/O帶寬是1064。停/s。然而由于Altivec很強(qiáng)大,這種適宜的高帶寬不一定總能跟上核的速度。當(dāng)MPC7455執(zhí)行8000MFLOPS時(shí),數(shù)據(jù)搬移的速度僅為1064MB/s。BPR值只有0.13,說明這種結(jié)構(gòu)的I/O帶寬和處理能力是不平衡的。因此,PowerPC對塊處理是有效的(比如具有高的計(jì)算和相對低的數(shù)據(jù)流動(dòng)),但對連續(xù)的、高數(shù)據(jù)流動(dòng)、較少計(jì)算的連續(xù)信號處理,是低效率的。TigerSHARC是為多處理器設(shè)計(jì)的,而且提供了64位、100MHz共享系統(tǒng)總線以及4個(gè)8位,250MHz的Link口作I/O和處理器之間的數(shù)據(jù)通信,簇總線的搬移數(shù)據(jù)速率為800MB/s。數(shù)據(jù)還可以通過Link口以50MB/s速度進(jìn)行傳送,每個(gè)TigerSHRC提供總的I/O帶寬可達(dá)1800MB/s。TigerSHARC的BPR是0.1,表明對連續(xù)的信號處理是平衡的優(yōu)化結(jié)構(gòu)。3 信號處理能力—cFFT1024點(diǎn)復(fù)數(shù)FFT(cFFT)是評價(jià)信號處理性能使用最廣泛的基準(zhǔn)。原因如下:第一,清晰而且容易易化;第二,在大多數(shù)應(yīng)用中,它是最普遍使用的信號處理函數(shù);第三,cFFT可以評估處理器的數(shù)據(jù)處理能力和處理速度。值得注意的是,由于PwerPC的速度和性能,在計(jì)算1024點(diǎn)cFFT有明顯優(yōu)越性;然而TigerSHARC是為DSP裁剪定制的,在執(zhí)行信號處理算法時(shí)會更加有效。這是由于芯片具有極好的數(shù)據(jù)搬移的能力、平衡以及單周期執(zhí)行蝶形運(yùn)算能力(乘法、加法、差分)。AltiVec核比TigerSHARC核快3.3倍,潛在處理速率是TIgerSHARC的4.4倍,然而它執(zhí)行一個(gè)1024點(diǎn)cFFT僅比TIgerSHARC快2.5倍。TigerSHARC在9750周期可以完成CFFT運(yùn)算,而PowerPC必須用13000個(gè)周期,因此,在執(zhí)行一個(gè)1024點(diǎn)CFFT時(shí),TigerSHARC的計(jì)算效率比PowerPC高33%。換句話說,如果以相同的時(shí)鐘頻率運(yùn)行,TIgerSHARC會超過PowerPC。常常。隨著TigerSHARC時(shí)鐘速率繼續(xù)提升,考慮成本和功耗等問題,當(dāng)它執(zhí)行FFT信號處理應(yīng)用時(shí),它的能力要顯明超過AltiVec。4 連續(xù)的cFFT評價(jià)處理器能力時(shí),通?紤]它的處理能力、I/O帶寬,甚至算法的執(zhí)行,但遺憾的是這些評估沒有一個(gè)能真實(shí)反映實(shí)際應(yīng)用。實(shí)際應(yīng)用時(shí),這些因素往往相互影響。數(shù)據(jù)必須按所希望的那樣同時(shí)輸入、處理、輸出。每個(gè)1024點(diǎn)cFFT需要8KB數(shù)據(jù)輸入(1024個(gè)樣本×2個(gè)樣本/IQ對×4字節(jié)/樣本)和8KB數(shù)據(jù)輸出,共16KB的數(shù)據(jù)流。通過比較1024點(diǎn)cFFT基準(zhǔn)與16KB乘積與處理器的I/O帶寬,來決定是受限于處理器的計(jì)算能力還是I/O帶寬。對于TigerSHARC,其準(zhǔn)的倒數(shù)表示每秒鐘能執(zhí)行30 769次1024點(diǎn)cFFT,由于TIgerSHARC在后臺能搬移所需要的數(shù)據(jù),需要有504MB/s的數(shù)據(jù)流(30769/s×16KB),可以保證處理器的I/O帶寬,因此TigerSHARC完全適合如此應(yīng)用。對于MPC7410,1024點(diǎn)CFFT其準(zhǔn)其實(shí)是誤導(dǎo)。因?yàn)樗荒芡瑫r(shí)搬移數(shù)據(jù)和進(jìn)行數(shù)據(jù)處理,而且在處理時(shí)間里,8KB的輸入數(shù)據(jù)必須搬入高速緩存(cache),8KB的輸出數(shù)據(jù)必須搬出的高速緩存(cache)。搬移數(shù)據(jù)需要增加16.4μs的處理時(shí)間,執(zhí)行1024點(diǎn)CFFT共需要38.4μs
的時(shí)間?紤]到數(shù)據(jù)的租用移,1024點(diǎn)CFFT基準(zhǔn)的倒數(shù)為1/38.4μs。然而對于MPC7455的情況不同,基準(zhǔn)的倒數(shù)顯示處理器內(nèi)核每秒處理76 923次1024點(diǎn)CFFT,需要1260MB/s數(shù)據(jù)流量。盡管PowerPC進(jìn)行處理的同時(shí)能搬移數(shù)據(jù),但它的峰值帶寬僅為1064MB/s,因此在這一應(yīng)用中帶寬受到了限制。假設(shè)它能連續(xù)保持峰值I/O帶寬(cache管理和控制器瓶頸會明顯減小I/O帶寬,不在本文討論管理),PMC7455每秒僅能執(zhí)行64941次1024點(diǎn)cFFT(1064MB/s除16KB/1024點(diǎn)cFFT),明顯比基準(zhǔn)的倒數(shù)要小。5 板極應(yīng)用如上所述,目前可獲得基于所有處理器cPCI和VME總線的COTS板。然而,當(dāng)與板級應(yīng)用相聯(lián)系時(shí),會大大改變以上的評估結(jié)果。因?yàn)镸PC7455帶寬受限,板級的結(jié)構(gòu)會增加I/O的限制,進(jìn)一步惡化處理器連續(xù)CFFT的性能。不考慮背板的數(shù)據(jù)流,對于PowerPC來講,目前最好的I/O方式是兩個(gè)64位/66MHz
PMC,雙528
MB/s
PMC,可達(dá)到的數(shù)據(jù)流共1056MB/s。這已經(jīng)小于MPC7455的1064MB/s峰值I/O帶寬。實(shí)際上PMC達(dá)到連續(xù)、持續(xù)的吞吐率也是不可能的。假設(shè)1056MB/s持續(xù)的I/O帶寬,PowerPC板持續(xù)1024點(diǎn)cFFTs為每秒64453次(1056MB/s被16KB除)——不依賴于PowerPC的數(shù)量或速度。相反,TigerSHARC具有通過link口可擴(kuò)展的I/O,圖2所示為典型的4個(gè)TigerSHARC處理器的結(jié)構(gòu)框圖。在此例子中,每個(gè)處理器必須共享一個(gè)簇總線帶寬,每個(gè)處理器使用2個(gè)Link口作為處理器間的數(shù)據(jù)傳輸,每個(gè)TigerSHARC的其它2個(gè)Link被用做I/O。這樣每個(gè)處理器I/O總帶寬就減少至700MB/s(Link口2×250MB/s+1/4×共享簇總線800MB/s)。然而,對于每個(gè)處理器,在最大連續(xù)CFFT速率的情況下,TigerSHARC需要504MB/s的帶寬。雖然這一速率在TigerSHARC極限范圍,但把連續(xù)的I/O分裂成Link口和簇總線也是不切合實(shí)際的做法。實(shí)際上,對于連續(xù)CFFT的最大I/O數(shù)據(jù)率是500MHz,由每個(gè)TIgerSHARC的兩個(gè)Link口提供。很小帶寬的限制降低了連續(xù)1024點(diǎn)cFFT的性能,每個(gè)TigerSHARC能處理30
517次。TigerSHARC低功耗、小尺寸和功能的集成,目前可得到簇總線(8片TigerSHARC)6U
cPCI板卡。8片TigerSHARC每秒能執(zhí)行244。保常荡芜B續(xù)1024點(diǎn)CFFT運(yùn)算,幾乎是理想PowerPC板卡的4倍。6 結(jié)論我們討論的各種COTS板的應(yīng)用,代表了連續(xù)實(shí)時(shí)信號處理應(yīng)用的實(shí)際性能。對于其它因素的分析(如中斷、開發(fā)環(huán)境、DMAs、存儲器的利用、Cache管理、電源等)不在本文討論范圍。如果應(yīng)用系統(tǒng)需要大量的計(jì)算、比較少的數(shù)據(jù)搬移和所謂的后向數(shù)據(jù)處理,由于較高的時(shí)鐘頻率和強(qiáng)大的內(nèi)核,PowerPC是理想的選擇;反之,對于像成像、雷達(dá)、聲納和監(jiān)聽等應(yīng)用的連續(xù)、實(shí)時(shí)信號處理,由于需要比較高的數(shù)據(jù)吞吐率,TigerSHARC應(yīng)該是首選。

-------------------------------------------------------------------------------------------

贊助本站

相關(guān)內(nèi)容
AiLab云推薦
展開

熱門欄目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能實(shí)驗(yàn)室 版權(quán)所有    關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 公司動(dòng)態(tài) | 免責(zé)聲明 | 隱私條款 | 工作機(jī)會 | 展會港