摘 要: 數(shù)字信號處理器DSPs的發(fā)展?fàn)顩r,介紹了DSPs的特點(diǎn)、性能及其評價(jià)體系,闡述了現(xiàn)代DSPs的五種結(jié)構(gòu),最后描述了DSPs的發(fā)展趨勢。
關(guān)鍵詞: DSP DSPs結(jié)構(gòu)
80年代還屬于少數(shù)人研究的數(shù)字信號處理(DSP),進(jìn)入90年代以來,已逐漸成為人們最常用的工程術(shù)語之一。處理器應(yīng)用廣泛的原因在于,處理器的制造技術(shù)發(fā)展得極為先進(jìn),使處理器的成本下降到這一水平:它可用在消費(fèi)品和其它對成本敏感的系統(tǒng)中;處理器的處理速度上升到這一水平:它可滿足大部分高速實(shí)時(shí)信號處理的需求。在產(chǎn)品中越來越多地使用DSP處理器,加劇了對更快、更便宜、更節(jié)省能量的DSP處理器的開發(fā)和迅速發(fā)展。
DSP處理器(DSPs)的品種越來越繁多,除了大家熟知的四大DSPs產(chǎn)商:Texas Instruments (德州儀器)公司、Lucent Technologies(朗訊技術(shù))公司、Analog Devies(模擬設(shè)備)公司和Motorola(摩托羅拉)公司,大約還有80家DSPs產(chǎn)商。它們生產(chǎn)的DSPs主要用于特殊功能的設(shè)備,如調(diào)制解調(diào)器、MPEG譯碼器、硬盤驅(qū)動(dòng)器等。DSP處理器可分為兩大類:定點(diǎn)DSPs和浮點(diǎn)DSPs。定點(diǎn)DSPs發(fā)展迅速,品種最多,處理速度為20~2000MIPS。浮點(diǎn)DSPs基本由TI和AD公司壟斷,處理速度40~1000MFLOPS。DSPs的性能已形成低、中、高三檔,高端產(chǎn)品處理器結(jié)構(gòu)發(fā)生了深刻的變化,形成了多樣化的趨勢。
1 DSPs的特點(diǎn)
DSP處理器和諸如英特爾、奔騰或Power PC的通用處理器(GPPs)有很大的區(qū)別,這些區(qū)別產(chǎn)生于DSPs的結(jié)構(gòu)和指令是專門針對信號處理而設(shè)計(jì)和開發(fā)的,它具有以下特點(diǎn)。
· 硬件乘法累加操作(MACs)
為了有效完成諸如信號濾波的乘法累加運(yùn)算,處理器必需進(jìn)行有效的乘法操作。GPPs起初并不是為繁重的乘法操作設(shè)計(jì)的,把DSPs同早期的GPPs區(qū)別開來的第一個(gè)重大技術(shù)改進(jìn)就是添加了能夠進(jìn)行單周期乘法操作的專門硬件和明確的MAC指令。
· 哈佛結(jié)構(gòu)
傳統(tǒng)的GPPs使用馮.諾曼存儲(chǔ)結(jié)構(gòu),在這種結(jié)構(gòu)中,有一個(gè)存儲(chǔ)空間通過兩條總線(一條地址總線和一條數(shù)據(jù)總線)連接到處理器內(nèi)核,這種結(jié)構(gòu)不能滿足MAC必須在一個(gè)指令周期中對存儲(chǔ)器進(jìn)行四次訪門的要求。DSPs一般使用哈佛結(jié)構(gòu),在哈佛結(jié)構(gòu)中,有兩個(gè)存儲(chǔ)空間:程序存儲(chǔ)空間和數(shù)據(jù)存儲(chǔ)空間。處理器內(nèi)核通過兩套總線與這些存儲(chǔ)空間相連,允許對存儲(chǔ)器同時(shí)進(jìn)行兩訪問,這種安排使處理器的帶寬加倍。在哈佛結(jié)構(gòu)中,有時(shí)通過增加第二個(gè)數(shù)據(jù)存儲(chǔ)空間和總線來實(shí)現(xiàn)更大的存儲(chǔ)帶寬?,F(xiàn)代高性能GPPs通常具有兩個(gè)片上超高速緩沖存儲(chǔ)器——一個(gè)存放數(shù)據(jù),一個(gè)存放指令。從理論的角度上講,這種雙重片上高速緩存與總線連接等同于哈佛結(jié)構(gòu),但是,GPPs使用控制邏輯來確定哪些數(shù)據(jù)和指令字駐留在片上高速緩存里,這個(gè)過程通常不為程序設(shè)計(jì)者所見,而在DSPs里,程序設(shè)計(jì)者能明確的控制哪些數(shù)據(jù)和指令被存儲(chǔ)在片上的存儲(chǔ)單元或緩存中。
· 零消耗循環(huán)控制
DSP算法的共同特征:大部分處理時(shí)間花在執(zhí)行包含在相對小循環(huán)內(nèi)的少量指令上。因此,大部分DSP處理器具有零消耗循環(huán)控制的專門硬件。零消耗循環(huán)是指處理器不用花時(shí)間測試循環(huán)計(jì)數(shù)器的值就能執(zhí)行一組指令的循環(huán),硬件完成循環(huán)跳轉(zhuǎn)和循環(huán)計(jì)數(shù)器的衰減。有些DSPs還通過一條指令的超高速緩存實(shí)現(xiàn)高速的單指令循環(huán)。
· 特殊尋址模式
DSPs經(jīng)常包含有專門的地址產(chǎn)生器,它能產(chǎn)生信號處理算法需要的特殊尋址,如循環(huán)尋址和位翻轉(zhuǎn)尋址。循環(huán)尋址對應(yīng)于流水FIR濾波算法,位翻轉(zhuǎn)尋址對應(yīng)于FFT算法。
· 執(zhí)行時(shí)間的可預(yù)測性
大多數(shù)DSP應(yīng)用都具有硬性實(shí)時(shí)要求,在每種情況下所有處理工作都必須在指定時(shí)間內(nèi)完成。這種實(shí)時(shí)限制要求程序設(shè)計(jì)者確定每個(gè)樣本究竟需要多少時(shí)間或者在最壞情況下至少用去多少時(shí)間。DSPs執(zhí)行程序的進(jìn)程對程序員來說是透明的,因此很容易預(yù)測處理每項(xiàng)工作的執(zhí)行時(shí)間。但是,對于高性能GPPs來說,由于大量超高速數(shù)據(jù)和程序緩存的使用,動(dòng)態(tài)分配程序,因此執(zhí)行時(shí)間的預(yù)測變得復(fù)雜和困難。
· 具有豐富的外設(shè)
DSPs具有DMA、串口、Link口、定時(shí)器等外設(shè)。
2 DSP的性能及其評估標(biāo)準(zhǔn)
DSP處理器的性能可分為三個(gè)檔次:低成本、低性能DSPs,低能耗的中段DSPs和多樣化的高端DSPs。低成本性能的低端DSPs是工業(yè)界使用最廣泛的處理器。在這一范圍內(nèi)的產(chǎn)品有:ADSP-21xx,TMS320C2xx,DSP560xx等系列,它們的運(yùn)行速度一般為20~50MIPS,并在維持適當(dāng)能量消耗和存儲(chǔ)容量的同時(shí),提供優(yōu)質(zhì)的DSP性能。價(jià)格適中的DSP處理器,通過增加時(shí)鐘頻率,結(jié)合更為復(fù)雜的硬件來提高的性能,形成了DSPs的中段產(chǎn)品,如DSP16xx,TMS320C54x系列,它們的運(yùn)行速度為100~150MIPS,通常用在無線電訊設(shè)備和高速解調(diào)器中,要求相對高的處理速度和低的能耗。高端DSPs由于被超高速處理需求的推動(dòng),其結(jié)構(gòu)真正開始進(jìn)行分類和向多樣化發(fā)展,有關(guān)結(jié)構(gòu)下節(jié)詳述。高端DSPs的主頻達(dá)到150MHz以上,處理速度為1000MIPS以上,如TI的TMS320C6x系列、ADI的Tiger SHARC等。
評價(jià)處理器性能的指標(biāo)有很多,最常用的是速度,但能耗和存儲(chǔ)器容量指標(biāo)也很重要,特別是在嵌入系統(tǒng)應(yīng)用上。鑒于DSPs的日益增多,系統(tǒng)設(shè)計(jì)者要想選出在給定應(yīng)用設(shè)備上能夠提供最佳性能的處理器變得比較困難。過去,DSP系統(tǒng)設(shè)計(jì)者依靠MIPS或類似的量度,來大概了解不同芯片提供的相對性能。不幸的是,隨著處理器技術(shù)的多樣化,象MIPS這樣的傳統(tǒng)量度越來越不準(zhǔn)確,因?yàn)镸IPS并不是實(shí)際測量性能。由于DSP應(yīng)用程序的特征之一是大部分的處理工作集中在程序的一部分(核心程序),因此可以用與信號處理相關(guān)的基準(zhǔn)程序來測試評估DSP處理器。BDTI公司已完成成套的核心標(biāo)準(zhǔn),并注冊了一種新型混合速度度量:BDTI分?jǐn)?shù)。
3 現(xiàn)代DSPs的結(jié)構(gòu)
最近兩年,DSP處理器的更高性能由于不能從傳統(tǒng)結(jié)構(gòu)中得到解決,因此提出了各種提高性能的策略。其中提高時(shí)鐘頻率似乎是有限的,最好的方法是提高并行性。提高操作并行性,可以由兩個(gè)途徑實(shí)現(xiàn):提高每條指令執(zhí)行的操作的數(shù)量,或者是提高每個(gè)指令周期中執(zhí)行的指令的數(shù)量。這兩種并行要求產(chǎn)生了多種DSPs新結(jié)構(gòu)。
3.1 增強(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叫做“增強(qiáng)型常規(guī)DSP”,因?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ā)展有限。
3.2 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)。C62××處理器每次取一個(gè)256位的指令包,把包解析為8個(gè)32位的指令,然后把它們引到其8個(gè)獨(dú)立的執(zhí)行單元。在最好的情況下,C62××同時(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ǔ)器、新的編程/編譯困難(需跟蹤指令安排,易破壞流水線使性能下降)。
3.3 超標(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)化困難。
3.4 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)算。
3.5 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é)上集成多種處理器,如Motorola DSP5665x
· DSP作為協(xié)處理器,如ARM Piccolo
· 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)相互借用。
4 DSPs的發(fā)展趨勢
DSP處理器發(fā)展的趨勢是結(jié)構(gòu)多樣化,集成單片化用戶化,開發(fā)工具更完善,評價(jià)體系更全面更專業(yè)。
VLIW結(jié)構(gòu)、超標(biāo)量體系結(jié)構(gòu)和DSP/MCU混合處理器是DSPs結(jié)構(gòu)發(fā)展的新潮流。VLIW和超標(biāo)量結(jié)構(gòu)能夠獲得很高的處理性能。DSP/MCU混合可以簡化應(yīng)用系統(tǒng)設(shè)計(jì),降低體積和成本。高性能通用處理器(GPPs)借用了DSPs的許多結(jié)構(gòu)優(yōu)點(diǎn),其浮點(diǎn)處理速度比高檔DSPs還要快。高性能GPPs一般時(shí)鐘頻率為200~500MHz,具有超標(biāo)量、SIMD結(jié)構(gòu),單周期乘法操作,好的存儲(chǔ)器帶寬,轉(zhuǎn)移預(yù)測功能,因此GPPs正在涉足DSP領(lǐng)域。但由于GPPs缺乏實(shí)時(shí)可預(yù)測性,優(yōu)化DSP代碼困難,有限的DSP工具支持,高功耗等問題,因此GPPs目前在DSP中的應(yīng)用還有限。但瞄準(zhǔn)嵌入系統(tǒng)應(yīng)用的高性能GPPs與DSPs進(jìn)行混合,形成專用的嵌入GPPs,如Hitachi的SH-DSP,ARM的Piccolo,Siemens的TriCore。嵌入GPPs保留原有的高性能,并加強(qiáng)DSP實(shí)時(shí)預(yù)測、控制等方面的能力,與專用DSP處理器形成了對照。
在DSPs綜合集成方面,處理器核和快速用戶可定制能力是重要的。預(yù)計(jì)在最近幾年內(nèi)將出現(xiàn)和流行:用戶可定制DSPs,塊組建DSPs,可編程整數(shù)DSPs,DSPs化現(xiàn)場可編程門陣列(FPGAs),更專用化的DSPs,多媒體DSPs等。更令人鼓舞的是未來DSP處理器將集成DSP處理器核,微控制器,存儲(chǔ)器RAM和ROM,串行口,模數(shù)轉(zhuǎn)換器,數(shù)模轉(zhuǎn)換器,用戶定義數(shù)字電路,用戶定義模擬電路等,因此DSP處理系統(tǒng)一般將不再是若干印制板(如信號調(diào)理板,A/D板,D/A板,接口定時(shí)板等)組成的大系統(tǒng)。
由于DSPs結(jié)構(gòu)的多樣化,DSPs性能測試將變得更加困難,MIPS、MOPS、MFLOPS、BOPS等指標(biāo)將越來越不能準(zhǔn)確反映DSPs的性能,因此需要更細(xì)更專業(yè)化的測試評價(jià)標(biāo)準(zhǔn)。對具體應(yīng)用來說,某些單項(xiàng)功能測試結(jié)果,可能顯得更重要。
隨著DSPs性能的提高,開發(fā)工具可能比處理器結(jié)構(gòu)將更重要,因?yàn)橹挥杏行У拈_發(fā)工具,才能使處理器得到普遍使用,并使性能充分發(fā)揮。片上Debug是實(shí)時(shí)調(diào)試的最好手段,它將采用與JTAG兼容的Debug口。C編譯器的效率仍然是重點(diǎn),如何方便容易地進(jìn)行有效代碼開發(fā)是關(guān)鍵。指令軟件仿真器顯得更重要,更精確的指令軟件仿真器將得到開發(fā)。多類型DSP調(diào)試開發(fā)工具將混合集成在一起。DSPs開發(fā)工具將是一個(gè)充滿機(jī)遇和挑戰(zhàn)的領(lǐng)域。
參考文獻(xiàn)
1 Jennifer Eyre.DSP Processors Hit the Mainstream.Cover Feature,1998.8
2 Jennifer Eyre.Carmel enables Customizable DSP.Micropro cessor report,1998.12
3 Ole wolf.Tiger SHARC sinks teeths into VLIW. Microprocessor report,1998.12
4 Jeff Bier.Infineon′s TriCore tackles DSP.Microprocessor report,1999.4