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