數位訊號處理器(DSP)是一種專門的微處理器(或SIP塊),其體系結構針對數位訊號處理的操作需要進行了優化。DSP的目標通常是測量、過濾或壓縮連續的真實模擬信號。大多數通用微處理器也能成功地執行數位訊號處理算法,但是專用的DSP通常具有更好的功率效率,因此它們更適合於可攜式設備,如行動電話,因為電力消耗限制。DSP經常使用能夠同時獲取多個數據或指令的特殊內存架構。
數位訊號處理算法通常需要大量的數學運算才能在一系列的數據樣本上快速和重複地執行。信號(可能來自音頻或視頻傳感器)不斷從模擬轉換到數字,經過數字處理,然後轉換回模擬形式。許多DSP應用程式對延遲有限制;也就是說,對於系統來說,DSP操作必須在一定的時間內完成,而延遲(或批處理)處理是不可行的。
大多數通用微處理器和作業系統都能成功地執行DSP算法,但由於功率效率的限制,不適用於行動電話和PDA等便攜設備。這樣的性能改進導致引入數位訊號處理在成百上千的商業通訊衛星模擬過濾器、開關、變頻器等需要接收和處理連接人造信號和準備下行,並且可以取代專業DSP與衛星重量很大好處,功耗,複雜性/建築成本,可靠性和操作的靈活性。例如,在2017年發射的SES-12和SES-14衛星,都是由空中巴士防禦和空間建造的,使用DSP的容量為25%。
數位訊號處理器的結構是專門針對數位訊號處理進行優化的。大多數也支持一些特性作為應用程式處理器或單片機,因為信號處理很少是系統的唯一任務。
按照通用處理器的標準,DSP指令集通常是非常不規則的;雖然傳統的指令集由更一般的指令組成,允許它們執行更廣泛的操作,但對數位訊號處理進行優化的指令集包含在DSP計算中經常發生的常見數學運算的指令。傳統的和DSP優化的指令集都能夠計算任意的操作,但是一個可能需要多個ARM或x86指令來計算的操作可能只需要DSP優化指令集中的一條指令。
軟體架構的一個含義是,手工優化的彙編代碼例程通常被打包到庫中以供重用,而不是依賴於高級的編譯器技術來處理基本的算法。即使使用現代的編譯器優化,手工優化的彙編代碼更高效,而且許多與DSP計算相關的常用算法都是手寫的,以便充分利用架構優化。
在工程中,硬體架構指的是識別系統的物理組件及其相互關係。這種描述,通常稱為硬體設計模型,允許硬體設計人員理解他們的組件如何適應系統架構,並向軟體組件設計者提供軟體開發和集成所需的重要信息。硬體架構的清晰定義允許各種傳統的工程學科(如電氣和機械工程)更有效地共同開發和製造新的機器、設備和組件。[1]Italic文本硬體也是計算機工程行業使用的一種表達方式,用來明確區分(電子計算機)硬體和運行在它上面的軟體。但是,在自動化和軟體工程學科中,硬體並不僅僅是某種計算機。現代汽車比阿波羅飛船運行的軟體要多得多。此外,現代飛機不能在不運行數以百萬計的計算機指令的情況下運行,並在整個飛機和駐留在標準計算機硬體和特殊的硬體組件,如集成電路邏輯門,模擬和混合設備,和其他數字部件。在廣泛的應用領域,包括計算機、個人數字助理(pda)、手機、手術儀器、衛星和潛艇等廣泛應用領域,需要有效地模擬不同的物理組件如何組合成複雜的系統。
在獨立DSP晶片出現之前,大多數DSP應用程式都是使用位片處理器實現的。與它的組件家族的AMD 2901位片晶片是一個非常流行的選擇。有來自AMD的參考設計,但通常特定設計的細節是特定於應用程式的。這些位片架構有時包括一個外圍的乘數晶片。這些倍增器的例子包括TDC1008和TDC1010,其中包括一個累加器,提供必要的多重積累(MAC)功能。
1976年,理察·威金斯(Richard Wiggins)向保羅·布裡德洛夫(Paul Breedlove)、拉裡·布蘭丁漢姆(Larry Brantingham)和德克薩斯州儀器公司達拉斯研究中心(Dallas research facility)的吉恩·弗朗茨(Gene Frantz)提出了「說話和拼寫」的概念。兩年後的1978年,他們製造了第一個Speak & Spell,技術中心是TMS5100,這個行業的第一個數位訊號處理器。它還設置了其他裡程碑,成為第一個使用線性預測編碼來執行語音合成的晶片。
1978年,英特爾發布了2920作為「模擬信號處理器」。它有一個內置信號處理器的晶片ADC/DAC,但它沒有硬體倍增器,在市場上也不成功。1979年,AMI發布了S2811。它被設計成一個微處理器外圍設備,它必須由主機初始化。S2811在市場上同樣不成功。
在1980年第一個獨立的,完整的需求方——NECPD7720和AT&T DSP1國際固態電路會議上提出了80年。這兩個處理器都受到了PSTN電信的研究的啟發。
Altamira DX-1是另一種早期的DSP,它利用了帶有延遲分支和分支預測的quad整數管道。
另一個由德州儀器公司(TI)生產的DSP,在1983年推出的TMS32010,被證明是一個更大的成功。它是基於哈佛的架構,所以有單獨的指令和數據存儲器。它已經有了一個特殊的指令集,它的指令類似於加載和積累或多重積累。它可以在16位數字上工作,需要390個ns來進行多重加法運算。TI現在是通用DSP的市場領導者。
大約五年後,第二代DSP開始傳播。他們有3個記憶,可以同時存儲兩個操作數,還包括硬體加速緊密循環;他們也有一個可以循環尋址的尋址單元。他們中的一些人使用24位變量,而一個典型的模型只需要21個ns就可以了。這一代的成員就是AT&T DSP16A或者摩託羅拉56000。
第三代的主要改進是在數據路徑中出現了特定於應用程式的單元和指令,或者有時是協處理器。這些單元允許直接硬體加速非常具體但複雜的數學問題,像傅立葉變換或矩陣運算。一些晶片,如摩託羅拉MC68356,甚至包括一個以上的處理器內核並行工作。其他1995年的DSP是TI TMS320C541或TMS 320C80。
第四代最好的特點是指令集和指令編碼/解碼的變化。添加了SIMD擴展,並出現了VLIW和超標量體系結構。和往常一樣,時鐘速度增加了;現在已經有了3個MAC電腦。