數(shù)字信號(hào)處理器的結(jié)構(gòu)
數(shù)字信號(hào)處理器的更高性能由于不能從傳統(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)大的性能而無(wú)需大量的內(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處理器族都使用了超長(zhǎng)指令字(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)是高功耗、代碼膨脹-需要寬的程序存儲(chǔ)器、新的編程/編譯困難(需跟蹤指令安排,易破壞流水線使性能下降)。
超標(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ù)依賴(lài)性和其他的因素來(lái)決定哪些指令要被同時(shí)執(zhí)行。超標(biāo)量體系結(jié)構(gòu)已經(jīng)長(zhǎng)期用于高性能的通用處理器中,如Pentium和PowerPC。最近,ZSP公司開(kāi)發(fā)出第一個(gè)商業(yè)的超標(biāo)量體系結(jié)構(gòu)的DSP
ZSP164xx。超標(biāo)量結(jié)構(gòu)的優(yōu)點(diǎn)是性能有大的跨越、結(jié)構(gòu)規(guī)整、代碼寬度沒(méi)有明顯增長(zhǎng)。缺點(diǎn)是非常高的功耗、指令的動(dòng)態(tài)安排使代碼優(yōu)化困難。
SIMD結(jié)構(gòu)
單指令多數(shù)據(jù)流(SIMD)處理器把輸入的長(zhǎng)的數(shù)據(jù)分解為多個(gè)較短的數(shù)據(jù),然后由單指令并行地操作,從而提高處理海量、可分解數(shù)據(jù)的能力。該技術(shù)能大幅度地提高在多媒體和信號(hào)處理中大量使用的一些矢量操作的計(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ù)通道等資源充分使用,并無(wú)需改變信號(hào)處理(含圖象、語(yǔ)音)算法的基本結(jié)構(gòu),因此SIMD結(jié)構(gòu)使用越來(lái)越普遍。SIMD結(jié)構(gòu)遇到的問(wèn)題是算法、數(shù)據(jù)結(jié)構(gòu)必須滿足數(shù)據(jù)并行處理的要求,為了加速,循環(huán)常常需要被拆開(kāi),處理數(shù)據(jù)需要重新安排調(diào)整。通常SIMD僅支持定點(diǎn)運(yùn)算。
DSP/微控制器的混合結(jié)構(gòu)
許多的應(yīng)用需要以控制為主的軟件和DSP軟件的混合。一個(gè)明顯的例子是數(shù)字蜂窩電話,因?yàn)槠渲杏斜O(jiān)控和語(yǔ)音處理的工作。一般地,微處理器在控制上能提供良好的性能而在DSP性能上則很糟,專(zhuān)用的DSP處理器的特性則剛好相反。因此,最近有一些微處理器產(chǎn)商開(kāi)始提供DSP增強(qiáng)版本的微處理器。用單處理器完成兩種軟件的任務(wù)是很有吸引力的,因?yàn)槠淇梢詽撛诘靥峁┖?jiǎn)化設(shè)計(jì),節(jié)省版面空間,降低總功耗,降低系統(tǒng)成本等。DSP和微處理器結(jié)合的方法有:
·在一個(gè)結(jié)上集成多種處理器,如MotorolaDSP5665x
·DSP作為協(xié)處理器,如ARMPiccolo
·DSP核移值到已有的位處理器,如SH-DSP
·微控制器與已有的DSP集成在一起,如TMS320C27xx
·全部新的設(shè)計(jì),如TriCore
隨著對(duì)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)載。