了解DSP的体系结构
這篇其實基本上是引用?竇海霓,?朱銘鋯發表在《今日電子》上的論文《DSP基本體系結構和特點》中的一些內容,主要是為了配合前一篇ARM體系結構而寫,為了形成對比,加深印象。網絡上很多引用這篇小論文的,但請尊重原著,注明出處。
?
一、DSP自身的一些優越性:
DSP處理器的體系結構一直緊緊圍繞著DSP算法和各種應用的不斷發展而改進和優化,隨著各種并行處理技術(VLIW,SIMD,超標量,多處理機等)、可重構技術和低功耗體系結構技術的出現,使各種新的DSP處理器體系結構不斷涌現,使得如今的DSP處理器性能不斷提高。
1、具體來說,DSP在以下一些方面表現出它的優越性:
首先,DSP芯片采用改進的哈佛結構(Havard structure)。其主要特點是程序和數據具有獨立的存儲空間,有著各自獨立的程序總線和數據總線,由于可以同時對數據和程序進行尋址,大大地提高了數據處理能力,非常適合于實時的數字信號處理。TI公司的DSP芯片結構是基本哈佛結構的改進類型。改進之處是在數據總線和程序總線之間進行局部的交叉連接。這一改進允許數據存放在程序存儲器中,并被算術運算指令直接使用,增強了芯片的靈活性。只要調度好兩個獨立的總線就可使處理能力達到最高,以實現全速運行。改進的哈佛結構還可使指令存儲在高速緩存器中(Cache),省去了從存儲器中讀取指令的時間,大大提高了運行速度。
甚至其DMA控制器也有自己的數據總線與地址總線。這使得DSP在取指令的同時還能寫一個數據,讀一個數據,并進行一次DMA操作,而且這4?個操作可以同時進行。這樣的總線結構使得程序執行速度快,數據吞吐量也特別的大。
其次,DSP指令系統是流水線操作。在流水線操作中,一個任務被分解為若干個子任務,各個任務可以在執行時相互重疊。DSP指令系統的流水線操作是與哈佛結構相配合的,增加了處理器的處理能力,把指令周期減小到最小值,同時也就增加了信號處理器的吞吐量。以TI公司的TMS320系列產品為例,第一代?TMS320處理器(例如TMS< xmlnamespace prefix ="st1" ns ="urn:schemas-microsoft-com:office:smarttags" />320C10)采用了二級流水線操作;第二代產品(例如TMS320C25)采用了三級流水線操作;第三代DSP芯片(例如TMS320C30)采用了四級流水線操作。在流水線操作中,DSP處理器可以同時并行處理2~4條指令,每條指令處于其執行過程中的不同狀態。
DSP采用流水線操作以減少指令執行的時間,從而進一步增強處理器的數據處理能力。現在DSP的流水線深度一般都在4級以上,在TI的TMS320C6000系列DSP芯片中,其深度更是達到了8級。
第三,采用專用的硬件乘法器。在一般的計算機上,算術邏輯單元(ALU)只能完成兩個操作數的加、減及邏輯運算,而乘法(或除法)則由加法和移位來實現。因此,在這樣的計算機的匯編語言中雖然有乘法指令,但在機器內部,實際上還是由加法和移位來實現的,因此它們實現乘法運算就比較慢。與一般的計算機不同的是,DSP都有硬件乘法器,使乘法運算可以在一個指令周期內完成。如在TMS320C3x系列DSP芯片中,有一個硬件乘法器,在?TMS320C6000系列中則有兩個硬件乘法器。
第四,特殊的DSP指令。DSP芯片的另一個重要特征是有一套專門為數字信號處理而設計的指令系統。
DSP的一些指令和尋址方式也是專門為各種運算的快速完成而精心設置的,如:段循環指令、累加指令、并行指令、循環尋址方式(Circular Addressing)、位反尋址方式(Bit-Re2verse Addressing)等
第五,快速的指令周期。CMOS技術、先進的工藝、集成電路的優化設計及工作電壓的下降由(5V到3.3V,再到1.5V),使得DSP芯片的主頻不斷提高。目前TI公司的TMS320C6000系列及TMS320C5000系列的芯片的最高工作主頻已經達到200MHz,指令周期已經降到了5ns。可以預見,隨著微電子技術的發展,工作頻率還將繼續提高,指令周期將進一步縮短。
第六,良好的多機并行運行特性。在一定的技術條件下,DSP芯片的單機處理能力是有限的,系統的數據處理容量還是經常會超出單個DSP的處理能力。隨著數字信號處理器DSP芯片的廣泛使用和DSP芯片價格的不斷降低,多個DSP芯片的并行處理已經成為近年來的研究熱點,并逐漸在應用中嶄露頭角。多機并行類似于高性能的MPU巨型機。TI公司的TMS320C4x系列還提供了專門用于多個DSP并行運行的硬件通信接口。
第七,大電流。高速信號處理芯片全速運行時電流經常在1 A以上。
第八,低電壓。為在大電流下減少系統功耗,系統的工作電壓從標準的5V降到3.3V,2.5V,1.8V,甚至0.9 V。
第九,高度集成。芯片的集成度在數十到數百萬門量級。
第十,為提高運行速度而采用多種并行的體系結構。
由于DSP的優越性,它自20世紀60年代以來,迅速得到廣泛的應用。DSP應用幾乎遍及整個電子領域,典型應用有通信、語音處理、圖形/圖像處理、自動控制、儀器儀表及醫學電子等。隨著人們對實時信號處理要求的不斷提高和大規模集成電路技術的迅速發展,DSP的黃金時代正在來臨。
?
2、定點與浮點DSP:
和定點運算DSP相比,浮點運算DSP具有許多優越性:浮點運算DSP比定點運算DSP的動態范圍要大很多。定點DSP的字長每增加1bit,動態范圍擴大6dB。16bit字長的動態范圍為96dB。程序員必須時刻關注溢出的發生。這時,要么不斷地移位定標,要么作截尾。前者要耗費大量的程序空間和執行時間,后者則很快帶來圖像質量的劣化。總之,是使整個系統的性能下降。而32bit浮點運算DSP的動態范圍可以作到1536dB,這不僅大大擴大了動態范圍,提高了運算精度,還大大節省了運算時間和存儲空間,因為大大減少了定標,移位和溢出檢查。
由于浮點DSP的浮點運算用硬件來實現,可以在單周期內完成,因而其處理速度大大高于定點DSP。這一優點在實現高精度復雜算法時尤為突出,為復雜算法的實時處理提供了保證。
?
3、強大的控制部件
控制部件是完成整個DSP處理器各個部分之間協調工作的重要部件。控制部件主要負責指令地址的產生、流水線的控制以及處理各種相關、異常、中斷等工作,以保證數據通路的正常工作。控制部件的任務是非常艱巨的,沒有一個功能強大的控制部件,整個DSP處理器將無法正常工作。
?
4、高速的運算單元
運算單元是DSP處理器的執行部件,是實現各種DSP算法的核心部分。所有算法的實現都是由運算單元的基本功能組合而成,所有的其他部件如控制部件、數據通路都是為運算單元服務的,為運算單元提供各種控制和充分的數據。
?
二、數字信號處理常用算法
在傳統上,DSP的算法是利用通用可編程DSP器件實現低速率的應用,而利用專用DSP芯片組和ASIC實現高速的應用,FPGA就是結合各種算法的典型例子。
基于SRAM的FPGA特別適合包括乘法和累加等DSP功能的算法以及廣泛的算術函數,如FFT、疊積和各種濾波器算法,并可以和周圍的外設電路—起集成。在一個FPGA器件中構造—個DSP系統時,設計可以采用并行結構和分布算術算法的優點,使資源最小化,并超過單片或多片DSP器件的性能。?FPGA中陣列乘法的分布算術算法是增加設計帶寬和流量的—個方法,可以超過流行的DSP方案幾個數量級。
在Xilinx的DSP方案中,分布運算對于分布RAM結構是完全匹配的。利用這個運算與結構相結合的匹配,復雜的DSP功能可以按照全定制芯片的效率裝配進FPGA,具體算法演示這里不列。
在分布算法中,算術運算已經簡化為加,減和二進制換算,由于按2的負次冪換算,實際實現時二進制編碼數據字向最低有效位移動,利用符號位保持符號在其通常的位置。?一個二進制全加器的硬件實現需要二個操作數,一個加數和被加數,產生和及進位輸出。時間共享的單個并行加法器可以執行多個并行位的相加。
FIR濾波器中的分布RAM也利用來緩沖采樣數據流,對于16位數據字,對于每個采樣字要求16個觸發器。為了構造500個抽頭將要求超過8000個觸發器,比現在大多數FPGA包含的觸發器還要多,但是采樣分布RAM,帶有許多中間抽頭的大的移位寄存器可以由RAM基本單元構成,幾萬抽頭和運算每秒超過—億次采樣率的濾波器可裝配進單個FPGA器件中。
自適應濾波器也可以得益于分布RAM,基于RAM的查找表可以代替串行分布運算中基于ROM的查找表和并行分布運算FIR濾波器的核心,因為RAM查找表允許系數瞬時更新,在FPGA中沒有分布RAM要實現大規模的自適應濾波器是不可能的。
在DSP應用中,幾十億次的乘法累加要求許多結點能夠高速轉換,對于CMOS的IC工藝,這種轉換增加器件的交流功耗,所以,功耗常常成為限制因素,降低功耗也就特別重要,對于給定工藝的幾何尺寸,降低功耗的關鍵是縮短金屬連線的長度來減少分布電容,達到至少降低兩倍的功耗.Xilinx FPGA器件采用分段布線的結構來降低功耗,也使其DSP應用帶來附加的特性。它允許在設計實現之前規定DSP核心的尺寸和性能,當DSP核心裝配到—個大器件時得到相符的性能,并對任何規模的器件是相同的。
三、DSP的體系結構和指令系統
1.TMS320C5000 DSP芯片的體系結構
這一系列DSP包含有C54X、C540X、C54XX、C547X及C55X、OMAP等芯片,由CMOS集成電路制造的。C5000系列是一種改良型的哈佛結構,并且具有芯片上的外圍、存儲器,以及特殊指令集,使得這個系列的DSP有很好的操作彈性與速度。而且哈佛結構特有的數據與程序分離的做法,可以提高運算的性能。C5000的執行速度超過100MIPS,可達400MIPS的整體性能。
比起以前DSP芯片,TMS320C5000系列DSP芯片的體系在以下這些方面體現出它的總體性能:
(1)中央算術邏輯單元(CALU)
40bit算術及邏輯運算單元(ALU),40bit的累加器(Accumulator,ACC),及40bit累加緩沖器(ACCB);
16bit的并行邏輯單元(PLU);
16×16bit并行乘法器及32bit乘積的能力;
單一周期乘/加(MAC)運算能力;
8個輔助寄存器及一個專用的間接尋址(indirect Addressing)算術單元(ARAU);
0到16bit快速左、右移寄存器及64bit的遞增式數據移位器(Data Shifter)
(2)存儲器
芯片內快速雙存取存儲器(DARAM)
(3)224K×l6的超大尋址空間
數據存儲器——64K×l6;
程序存儲器——64K×l6;
輸出輸入口——64K×l6;
全局數據存儲器——32K×l6
(4)芯片內部外圍設備
TMS320C5000系列擁有各種的芯片內外圍,無論是串行端口、并行端口、硬什定時器及中斷控制機制,都足以勝任各種應用的需要。64K的并行?I/O端口,其中的16個可映射在數據存儲空間(Memory Mapped),全雙工的同步串行口傳輸,以適合C5000與其他串行設備做直接溝通,區間式定時器(Timer)具有周期、控制、計數寄存器以適合程序的停止、啟動、復位(Reset),16個軟件可編程的等待周期發生器(Wait-state Generator),以適合程序、數據及I/O、存儲器設備,提供外部DMA操作,PLL時鐘產生及Divide-by-one時鐘操作。另外,TMS320C5000系列芯片都內置了JTAG掃描邏輯,讓應用系統的開發者可以利用簡便的掃描式仿真器(Scan-based Emulator)進行各種軟靜件的調試工作。
2.DSP芯片的指令系統
DSP的硬件結構和指令體系決定了它在實現各種算法時具有速度快、精度高的特點。TMS320C5000系列中的指令系統由3個子系統構成:
(1)七種尋址方式
TMS320C54x提供了7種基本的數據尋址方式:
立即尋址方式,指令中嵌有一個固定的立即數;
絕對地址尋址方式,指令中有一個固定的地址,指令按照此地址進行數據尋址;
累加器尋址方式,將累加器內的當前值作為地址去訪問程序存儲器中的單元;
直接尋址方式,指令中的7比特是一個數據頁內的偏移地址,而所在的數據頁由數據頁;
指針DP或SP決定。該偏移量加上DP和SP的值決定了在數據存儲器中的實際地址;
間接尋址方式,按照輔助寄存器中的地址訪問存儲器;
存儲器映射寄存器尋址方式,修改存儲器映射寄存器中的值,而不影響當前DP或SP的值;
堆棧尋址方式,把數據壓入和彈出堆棧,堆棧尋址按照后進先出原則進行尋址。
(2)四種代數匯編指令
算術運算指令、邏輯運算指令、程序控制指令和載入\存儲指令。具體指令在TI產品中都有列表,在此不再詳述。
(3)一些常用的匯編偽指令
匯編偽指令提供程序數據,控制匯編過程,用戶可以用它們來完成以下任務:將代碼和數據匯編到特定的段;為未初始化的變量保留存儲器的空間;控制展開列表的形式;存儲器初始化;匯編條件塊;定義全局變量;指定匯編器可以獲得宏的特定庫;檢查符號調試信息。
總結
以上是生活随笔為你收集整理的了解DSP的体系结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深入了解DSP与ARM的区别与联系
- 下一篇: ARM微处理器的体系结构