本页使用了标题或全文手工转换

數位訊號處理器

维基百科,自由的百科全书
跳转至: 导航搜索
DSP-Grafikchip
一块与PC机相连接的DSP板

數位信號處理器英语digital signal processor,DSP)是一種專用於(通常為實時的)數位信號處理微處理器

數位信號處理器的特點[编辑]

  • 分開的程序存儲器和數據存儲器(哈佛結構)。
  • 用於單指令流多數據流(SIMD)作業的特殊指令集。
  • 可進行並行處理,但不支援多任務。
  • 用於宿主環境時可作為直接記憶體存取(DMA)設備運作。
  • 從類比數位轉換器(ADC)獲得數據,最終輸出的是由數位類比轉換器(DAC)轉換為模擬信號的數據。

DSP Block zh-cn.png

數位信號的處理[编辑]

數位信號的處理可由通用微處理器完成。可能的優化為:

數據運算指令[编辑]

  • 使用飽和算法,在這種方式中,會產生溢出的運算將累積至寄存器可容納的最大(或最小)值,而不是按環繞方式(環繞方式是很多通用CPU採取的方式。在環繞方式中,寄存器的數值到達最大值後再加一則會繞回到最小值;而使用飽和算法時則不會發生這種環繞,運算結果仍將保持為最大值)。有些情況下可使用不同的粘滯位運算模式。
  • 使用乘積累加(MAC)運算,這會提高各種矩陣運算的效率(例如卷積運算、點積運算、乃至矩陣多項式的求值運算;參看Horner scheme積和熔加運算)。由於在許多DSP中都必然地使用了單週期的MAC部件,因此也自然沿襲了下面所述的許多性質(尤其是哈佛結構指令流水線)。
  • 在使用同餘定址方式操作循環緩衝器、以及在使用逆位序定址模式處理快速傅立葉變換交叉參照時,都可使用專門的指令實現。

程序流程[编辑]

  • 使用深層流水線技術,這種情況下,因錯誤的預測產生的跳轉會造成更大的(效率)成本。
  • 使用通過動態表或硬編碼的零開銷循環實現的分支預測。為減少執行高頻度的內層循環時跳轉造成的(效率)影響,有些處理器提供了這個特性。該技術包括兩種類型的操作:單指令的重複操作和多指令的循環操作。
  • 預取指令使用指令流水線方式。
  • 流水線作業方式可減少總體的處理時間,增加系統的產出效率。
  • 流水線可以分為若干層級。

歷史[编辑]

1978年,Intel 發佈了一種「模擬信號處理器」——2920處理器。它包含一組帶有一個內部信號處理器的片上ADC/DAC,但由於它不含硬件乘法器,因此在市場上銷售並不成功. 1979年,AMI 發佈了 S2811處理器,它被設計成微處理器的周邊裝置,必須由主處理器初始化後才能工作。 S2811 在市場上也不成功.

1979年,貝爾實驗室發表了第一款單芯片 DSP,即 Mac 4 型微處理器。繼而於1980年的IEEE國際固態電路會議上出現了第一批獨立、完整的DSP,它們是NECμPD7720處理器和AT&TDSP1處理器。這兩種處理器都是在公共交換電話網遠程通信研究中受到了啟發而產生的。

還有一種早期的DSP,Altamira DX-1,它使用一組帶有延遲轉移和轉移預測機制的四整數組流水線。

事實證明,1983年德克薩斯儀器公司生產的第一款DSP,TMS32010,是一個更大的成功,時至今日德州儀器已成為通用DSP市場的龍頭,並提供有HPI(Host-Post Interface),由外部CPU直接訪問。另一款成功的設計是摩托羅拉56000

通用CPU中有些技術是受到帶有擴展模塊的DSP的影響而出現的,例如IntelIA-32架構指令集中的MMX擴展。

大部分DSP使用的是定點算法,這是因為在信號處理的一般實際應用中不需要使用浮點運算比定點運算多提供的那部分額外的精度範圍,而使用定點算法犧牲了不需要的精度,卻大大提高了速度。另一方面,浮點DSP則常用在科學計算和某些需要高精度的應用中。

DSP芯片通常採用專用集成電路設計,然而亦可使用現場可編程門陣列(FPGA)芯片來實現DSP的功能,FPGA的I/O頻寬比DSP頻寬大十多倍。

參見[编辑]

外部連結[编辑]