數(shù)字信號處理器的結(jié)構(gòu)
數(shù)字信號處理器的更高性能由于不能從傳統(tǒng)結(jié)構(gòu)中得到解決,因此提出了各種提高性能的策略。其中提高時(shí)鐘頻率似乎是有限的,最好的方法是提高并行性。提高操作并行性,可以由兩個(gè)途徑實(shí)現(xiàn):提高每條指令執(zhí)行的操作的數(shù)量,或者是提高每個(gè)指令周期中執(zhí)行的指令的數(shù)量。這兩種并行要求產(chǎn)生了多種DSPs新結(jié)構(gòu)。
增強(qiáng)型DSP
以前,DSP處理器使用復(fù)雜的、混合的指令集,使編程者可以把多個(gè)操作編碼在一條指令中。傳統(tǒng)上DSP處理器在一條指令周期只發(fā)射并執(zhí)行一條指令。這種單流、復(fù)雜指令的方法使得DSP處理器獲得很強(qiáng)大的性能而無需大量的內(nèi)存。
在保持DSP結(jié)構(gòu)和上述指令集不變的情況下,要提高每個(gè)指令的工作量,其中的一個(gè)辦法是用額外的執(zhí)行單元和增加數(shù)據(jù)通路。例如,一些高端的DSP有兩個(gè)乘法器,而不是一個(gè)。我們把使用這種方法的DSP叫做撛鑾啃統(tǒng)9媯模櫻袛,因?yàn)樗鼈兊慕Y(jié)構(gòu)與前一代的DSP相似,但性能在增加執(zhí)行單元后大大增強(qiáng)了。當(dāng)然,指令集必須也同時(shí)增強(qiáng),這樣編程者才能在一條指令中指定更多的并行操作,以利用額外的硬件。增強(qiáng)型DSPs的例子有朗訊公司的DSP16000,ADI的ADSP2116x。增強(qiáng)型DSPs的優(yōu)點(diǎn)是兼容性好,而且與較早的DSP具有相似的成本和功耗。缺點(diǎn)是結(jié)構(gòu)復(fù)雜、指令復(fù)雜,進(jìn)一步發(fā)展有限。
VLIW結(jié)構(gòu)
如前所述,傳統(tǒng)上的DSP處理器使用復(fù)雜的混合指令,并在一條指令循環(huán)中只流出和執(zhí)行一條指令。然而,最近有些DSP采用一種更RISC化的指令集,并且在一條指令周期執(zhí)行多條指令,使用大的統(tǒng)一的寄存器堆。例如,Siemems的Carmel、Philips的TriMedia和TI的TMS320C62XX處理器族都使用了超長指令字(VLIW)結(jié)構(gòu)。C62xx處理器每次取一個(gè)256位的指令包,把包解析為8個(gè)32位的指令,然后把它們引到其8個(gè)獨(dú)立的執(zhí)行單元。在最好的情況下,C62xx同時(shí)執(zhí)行8個(gè)指令棗這種情況下達(dá)到了極高的MIPS率(如1600MIPS)。VLIW結(jié)構(gòu)的優(yōu)點(diǎn)是高性能、結(jié)構(gòu)規(guī)整(潛在的易編程和好的目標(biāo)編譯系統(tǒng))。缺點(diǎn)是高功耗、代碼膨脹-需要寬的程序存儲器、新的編程/編譯困難(需跟蹤指令安排,易破壞流水線使性能下降)。
超標(biāo)量體系結(jié)構(gòu)
象VLIW處理器一樣,超標(biāo)量體系結(jié)構(gòu)并行地流出和執(zhí)行多個(gè)指令。但跟VLIW處理器不同的是,超標(biāo)量體系結(jié)構(gòu)不清楚指定需要并行處理的指令,而是使用動(dòng)態(tài)指令規(guī)劃,根據(jù)處理器可用的資源,數(shù)據(jù)依賴性和其他的因素來決定哪些指令要被同時(shí)執(zhí)行。超標(biāo)量體系結(jié)構(gòu)已經(jīng)長期用于高性能的通用處理器中,如Pentium和PowerPC。最近,ZSP公司開發(fā)出第一個(gè)商業(yè)的超標(biāo)量體系結(jié)構(gòu)的DSP
ZSP164xx。超標(biāo)量結(jié)構(gòu)的優(yōu)點(diǎn)是性能有大的跨越、結(jié)構(gòu)規(guī)整、代碼寬度沒有明顯增長。缺點(diǎn)是非常高的功耗、指令的動(dòng)態(tài)安排使代碼優(yōu)化困難。
SIMD結(jié)構(gòu)
單指令多數(shù)據(jù)流(SIMD)處理器把輸入的長的數(shù)據(jù)分解為多個(gè)較短的數(shù)據(jù),然后由單指令并行地操作,從而提高處理海量、可分解數(shù)據(jù)的能力。該技術(shù)能大幅度地提高在多媒體和信號處理中大量使用的一些矢量操作的計(jì)算速度,如坐標(biāo)變換和旋轉(zhuǎn)。
通用處理器SIMD增強(qiáng)的兩個(gè)例子是Pentium的MMX擴(kuò)展和PowerPC族的AltiVec擴(kuò)展。simd在一些高性能的DSP處理器中也有應(yīng)用。例如,DSP16000在其數(shù)據(jù)路中支持有限的SIMD風(fēng)格的操作,而Analog
Devices最近推出了有名的SHARC的新一代DSP處理器,進(jìn)行了SIMD能力的擴(kuò)展。SIMD結(jié)構(gòu)由于使總線、數(shù)據(jù)通道等資源充分使用,并無需改變信號處理(含圖象、語音)算法的基本結(jié)構(gòu),因此SIMD結(jié)構(gòu)使用越來越普遍。SIMD結(jié)構(gòu)遇到的問題是算法、數(shù)據(jù)結(jié)構(gòu)必須滿足數(shù)據(jù)并行處理的要求,為了加速,循環(huán)常常需要被拆開,處理數(shù)據(jù)需要重新安排調(diào)整。通常SIMD僅支持定點(diǎn)運(yùn)算。
DSP/微控制器的混合結(jié)構(gòu)
許多的應(yīng)用需要以控制為主的軟件和DSP軟件的混合。一個(gè)明顯的例子是數(shù)字蜂窩電話,因?yàn)槠渲杏斜O(jiān)控和語音處理的工作。一般地,微處理器在控制上能提供良好的性能而在DSP性能上則很糟,專用的DSP處理器的特性則剛好相反。因此,最近有一些微處理器產(chǎn)商開始提供DSP增強(qiáng)版本的微處理器。用單處理器完成兩種軟件的任務(wù)是很有吸引力的,因?yàn)槠淇梢詽撛诘靥峁┖喕O(shè)計(jì),節(jié)省版面空間,降低總功耗,降低系統(tǒng)成本等。DSP和微處理器結(jié)合的方法有:
·在一個(gè)結(jié)上集成多種處理器,如MotorolaDSP5665x
·DSP作為協(xié)處理器,如ARMPiccolo
·DSP核移值到已有的位處理器,如SH-DSP
·微控制器與已有的DSP集成在一起,如TMS320C27xx
·全部新的設(shè)計(jì),如TriCore
隨著對DSP能力需求的提高,DSP處理器結(jié)構(gòu)正在進(jìn)行新的和革新的設(shè)計(jì),DSP、MCU、CPU的結(jié)構(gòu)優(yōu)點(diǎn)相互借用。
更多相關(guān): AV集成
©版權(quán)所有。未經(jīng)許可,不得轉(zhuǎn)載。