基于算法的DSP硬件結構分析
在當前信息化、數字化進程中,信號作為信息的傳輸和處理對象,逐漸由模擬信號變成數字信號。信息化的基礎是數字化,而數字化的核心技術之一就是數字信號處理。數字信號處理技術已成為人們日益關注的并得到迅速發展的前沿技術。DSP作為一種特別適合于進行數字信號處理運算的微處理器,憑借其獨特的硬件結構和出色的數字信號處理能力,廣泛應用于通訊、語言識別、圖像處理、自動控制等領域。
2DSP算法的主要特點及其硬件要求
數字信號處理是指將模擬信號通過采樣進行數字化后的信號進行分析、處理、它側重于理論、算法及軟件實現。數字信號處理算法具有如下一些主要的特點:
①信號處理算法運算量大,要求速度快。不論是一維的語言信號,還是二維的圖像信號,一般算法的運算量都很大,且算法的實現都必須實時。
②信號處理算法通常需要執行大量的乘累加運算。比如FIR濾波算法主要執行的是一個點積運算,也就是以乘、加為主的運算。
③信號處理算法常具有某些特定模式。比較典型的數字濾波器中的連續推移位。
④信號處理算法大部分處理時間花在執行相對小循環的操作上。
⑤信號處理要求專門的接口。一個非常重要的接口是把模擬信號與數字信號相互轉換的ADC和DAC,另外大量的數據交換需要有高速的數據吞吐能力。
從一開始,DSP的結構就是針對DSP算法模型進行構造的,幾乎所有的DSP都包含有DSP算法的特征。因此,數字信號處理的上述特點要求DSP必須是專門設計的,典型DSP的設計滿足數字信號處理的這樣一些要求:
①單周期快速運算,允許任意計算次序。
②單周期內能取兩個以上操作數,保證快速的乘累加運算(MAC)。
③能產生信號處理算法需要的特殊尋址,如循環尋址和位翻轉尋址。
④有相應的硬件循環緩沖區,能執行零開銷的循環和轉移操作。
⑤具有串口、DMA控制器、定時器等豐富的外設資源。
3DSP的基本結構組成
3.1多總線結構
微處理器內一般有兩種基本總線結構:馮諾曼結構和哈佛結構。這兩種總線結構的結構框圖如圖1所示。馮諾曼結構取指令、取數據都是通過同一總線完成。因此必須分時進行,在高速運算時,往往在傳輸通道上出現瓶頸效應。而DSP內部采用的是哈佛結構,它在片內至少有四套總線:程序的數據總線、程序的地址總線、數據的數據總線和數據的地址總線。這種分離的程序總線和數據總線,可允許同時獲取來自程序存儲器的指令字和來自數據存儲器的操作數,互不干擾。有的DSP片內還包括有其他總線,如DMA總線等,可在單周期內完成更多的工作。
3.2流水線
與哈佛總線結構相關,DSP廣泛采用流水線以減少指令執行時間,從而增加了處理器的處理能力。要執行一條DSP指令,需要通過取指、譯碼、取操作數、執行等幾個階段,DSP的流水線結構是指它的這幾個階段在程序執行過程中是重疊進行的,即在對本條指令取指的同時,前面的三條指令已依次完成譯碼、取操作數、執行的操作。正是利用這種流水線機制,保證DSP的乘法、加法以及乘累加可以在單周期內完成,這對提高DSP的運算速度具有重要意義,特別是當設計的算法需要連續的乘累加運算時。
3.3硬件乘法器
專用的硬件乘法器是DSP的特征之一,硬件乘法器的功能是在單周期內完成一次乘法運算。DSP內還增加了累加器寄存器來處理多個乘積的和,而且該寄存器通常比其他寄存器寬,這樣保證乘累加運算結果不至于發生溢出。
3.4多處理單元
DSP內部一般都包括多個處理單元,如ALU、乘法器、輔助算術單元等。它們都可在單獨的一個指令周期內執行完計算和操作任務,而且往往同時完成。這種結構特別適合于濾波器的設計,如FIR和IIR。這種多處理單元結構還表現為在將一些特殊的算法作成硬件,如典型的FFT的位翻轉尋址和流水FIR濾波算法的循環尋址等。而且大部分DSP具有零消耗循環控制的專門硬件,使得處理器不用花時間測試循環計數器的值就能執行一組指令的循環,硬件完成循環跳轉和循環計數器的衰減。
3.5外圍設備
DSP片內通常具有DMA控制器、串行口、定時器等外設,所以用戶通常只需要外加很少的器件就可以構成自己的DSP系統。DMA控制器可以在不干擾CPU操作的前提下,由其專用的數據存取通道獨立完成接口到片內存儲器之間的數據傳輸,從而形成片內的高速數據通道。大多數DSP還支持IEEE1149.1標準,用戶通過JTAG端口可對DSP進行在線
實時仿真。
4當前主流DSP的體系結構
近年來,DSP不斷推陳出新,其硬件結構也有了很大的改進和提高。DSP體系結構的革新在很大程度上受到應用需求的影響,其指令集的設計是面向存儲器和數字信號處理算法來進行性能優化的。當前高性能DSP結構的主在特點就是采用了各種并行處理技術,它可由兩個途徑實現:一種途徑是基于VLIW、類RISC指令集等技術來增加單時鐘周期并發的指令數;另一種途徑是通過SIMD、增大總線字長或增加指令字的長度等技術來增加單指令周期并行執行的處理單元個數。
4.1VLIW結構及其優缺點
TI公司TMS320C6X系列DSP就是采用了VLIW的體系結構,其結構如圖2所示。在VLIW處理器的硬件上,各功能單元共用大型寄存器堆,由功能單元同時執行的各種操作是由VLIW的長指令來同步,它把長指令中不同字段的操作碼分送給不同的功能單元。相對于傳統型DSP,VLIW處理器使用簡單的指令集,一條指令只完成一個操作。這個處理器將簡單指令并行地發射出去,并同時執行,有這樣的多條指令構成一個超長指令字。由于使用了簡單指令集后,簡化了譯碼和執行操作。
VLIW技術極大地提高DSP的性能,但它也有缺點。由于它的指令字長增加了,所以它較大地增加了程序存儲器的占用空間,使得DSP的成本隨之增加。同時為了支持多個并行指令的執行,這種結構的DSP要求有龐大的調整寄存器堆。
4.2SIMD結構及其優缺點
SIMD處理器把輸入的長數據分解為多個較短的數據,然后由單指令并行地操作。它在目前一些高性能的DSP得到了應用,如AD公司的ADSP21160系列DSP,如圖3所示。該結構內有兩套包括ALU、桶形移位器、乘法器和寄存器堆等功能部件的運算單元,可在單周期內對不同的操作數執行兩個及以上的乘法操作。SIMD使總線、數據通道等資源充分
利用,并無需改變信號處理的基本結構。但是,這種結構只有處理并行算法時才是高效的。對于那種算法中的結果作為下一操作輸入的串行算法,SIMD處理器通常不使用。
5DSP結構改進的思考
過去的DSP結構設計主要是面向計算密集型的應用,而對控制密集型支持得不夠。而現實應用中很多場合需要信號處理和精確控制的有效結合,如數字蜂窩電話,它要有監控和語言音處理的工作。現代的DSP將采用DSP/MCU的混合結構,在保證計算能力優先的前提下,通過快速的現場切換、多執行部件并行執行等方式,加強控制類操作的處理能力。將MCU核集成到DSP核中,或者從整體上對DSP進行重新設計,使之兼有DSP和MCU的功能。
另外,為解決速度、功耗、可編程之間的矛盾,我們提出了一種新型的計算方式,它結合了現有微處理器和DSP的時間計算方式以及ASIC、FPGA解決方案的空間計算方式。這種可重構DSP處理器的關鍵是它能同時進行時間和空間計算。它由一個計算元件互相連接的二維陣列構成,每個陣列都有各自的邏輯單元和本地寄存器。連接這些計算元件的可編程連線借以對陣列的數據流架構動態重構,從而可根據運行的具體任務而對其進行優化。由于可重構計算使開發人員可對其軟硬件加以控制,因此這些編譯器將在需要運行的DSP的系統中實現真正的軟硬件協同設計。
評論