連續(xù)實(shí)時(shí)信號(hào)處理器的性能分析
掃描二維碼
隨時(shí)隨地手機(jī)看文章
來(lái)源:?jiǎn)纹瑱C(jī)及嵌入式系統(tǒng)應(yīng)用; 作者:北京理工大學(xué) 石紅艷 王 華
摘要:對(duì)AD公司的TigerSHARC DSP(ADSP-TS101S)和摩托羅拉公司的具有AltiVec矢量處理器核的PowerPC系列MPC7410和MPC7455處理器,在連續(xù)實(shí)時(shí)信號(hào)處理領(lǐng)域的應(yīng)用進(jìn)行了評(píng)估。
關(guān)鍵詞:連續(xù)實(shí)時(shí)信號(hào)處理?。桑蠋挕DSP-TS101S MPC7410 MPC7455對(duì)于復(fù)雜、實(shí)時(shí)信號(hào)算是系統(tǒng)的設(shè)計(jì)人員來(lái)講,最嚴(yán)峻的挑戰(zhàn)是針對(duì)給定任何選擇一個(gè)最有效的處理器。因?yàn)樘幚砥餍室蕾囉趹?yīng)用,涉及到結(jié)構(gòu)和應(yīng)用等各個(gè)方面,因此折中的辦法很難定義和評(píng)估。用通常使用的方法評(píng)價(jià)處理器,往往誤導(dǎo)人們。因?yàn)樗谏w了許多依賴應(yīng)用并使實(shí)際性能下降因素;在不同的處理器上執(zhí)行應(yīng)用,然后評(pí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)做法,它具有低開(kāi)銷、確定性和DMA引擎等特點(diǎn),專門(mén)用于開(kāi)發(fā)嵌入式實(shí)時(shí)應(yīng)用系統(tǒng),例如雷達(dá)、聲納、無(wú)線通信和圖像處理。相反,PowerPC是一種RISC處理器,用于開(kāi)發(fā)副蘋(píng)果計(jì)算機(jī)最高性能的G4工作站;具有很高的時(shí)鐘頻率以及強(qiáng)大的AltiVec矢量處理引擎,在一些嵌入式信號(hào)處理應(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)操作。對(duì)于1GHz的MPC7455,峰值處理能力可達(dá)8000M次/s浮點(diǎn)運(yùn)算。AltiVec每周期能執(zhí)行8次整數(shù)或定點(diǎn)操作,峰值整數(shù)運(yùn)算能力為8000MOPS(百萬(wàn)次操作/s)。
;;; 相反,TigerSHARC有兩個(gè)獨(dú)立的32閏處理器核,或稱MIMD(多指令多數(shù)據(jù))結(jié)構(gòu)。每個(gè)計(jì)算單元每周期能執(zhí)行一次乘法以及和差分運(yùn)算,對(duì)于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è)周期可以增加超過(guò)12次的操作。另外,TigerSHARC有另外兩個(gè)專門(mén)的16位整數(shù)引擎,每個(gè)周期可以增加超過(guò)12次的操作,這樣每個(gè)周期共計(jì)24次整數(shù)運(yùn)算,7200MOPS。
2 I/O帶寬與處理能力的比值在許多信號(hào)處理的應(yīng)用中,受限于數(shù)據(jù)流而不是處理能力,因此理解處理器I/O能力以及與處理器內(nèi)核的數(shù)據(jù)交換的性能十分重要。衡量的尺度是I/O帶寬與處理率之比(BPR),即處理器峰值I/O帶寬(MB/s)除以峰值處理能力(MFLOPS)。1B/FLOP的BPR指示它是一個(gè)比較平衡的連續(xù)信號(hào)處理結(jié)構(gòu),意味著處理器對(duì)每個(gè)浮點(diǎn)操作能完成1B數(shù)據(jù)傳輸。一個(gè)處理器的BPR明顯高于或低于1B/FLOP,表示這種結(jié)構(gòu)比連續(xù)信號(hào)處理器更適合數(shù)據(jù)流搬移或后向數(shù)據(jù)處理。
圖1所示為PowerPC處理器節(jié)點(diǎn)方框圖。從圖中可以看出所有處理器I/O的訪問(wèn)必須通過(guò)MPC和控制器/橋芯片之間的64位,128MHz(對(duì)于MPC7455為133MHz)系統(tǒng)總線。對(duì)于MPC7410任何一個(gè)處理器的最高I/O帶寬是1000MB/s,對(duì)MPC7455的最高I/O帶寬是1064 MB/s。
然而由于Altivec很強(qiáng)大,這種適宜的高帶寬不一定總能跟上核的速度。當(dāng)MPC7455執(zhí)行8000MFLOPS時(shí),數(shù)據(jù)搬移的速度僅為1064MB/s。BPR值只有0.13,說(shuō)明這種結(jié)構(gòu)的I/O帶寬和處理能力是不平衡的。因此,PowerPC對(duì)塊處理是有效的(比如具有高的計(jì)算和相對(duì)低的數(shù)據(jù)流動(dòng)),但對(duì)連續(xù)的、高數(shù)據(jù)流動(dòng)、較少計(jì)算的連續(xù)信號(hào)處理,是低效率的。
TigerSHARC是為多處理器設(shè)計(jì)的,而且提供了64位、100MHz共享系統(tǒng)總線以及4個(gè)8位,250MHz的Link口作I/O和處理器之間的數(shù)據(jù)通信,簇總線的搬移數(shù)據(jù)速率為8