數位訊號處理器的特點
數位訊號的處理
數據運算指令
使用飽和算法,在這種方式中,會產生溢出的運算將累積至暫存器可容納的最大(或最小)值,而不是按環繞方式(環繞方式是很多通用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&T的DSP1處理器。這兩種處理器都是在
公共交換電話網的
遠程通信研究中受到了啟發而產生的。
還有一種早期的DSP,Altamira DX-1,它使用一組帶有延遲轉移和轉移預測機制的四整數組流水線。
事實證明,1983年德克薩斯儀器公司生產的第一款DSP,TMS32010,是一個更大的成功,時至今日德州儀器已成為通用DSP市場的龍頭,並提供有
HPI(Host-Post Interface),由外部CPU直接訪問。另一款成功的設計是
摩托羅拉的56000。
大部分DSP使用的是定點算法,這是因為在信號處理的一般實際套用中不需要使用浮點運算比定點運算多提供的那部分額外的精度範圍,而使用定點算法犧牲了不需要的精度,卻大大提高了速度。另一方面,
浮點DSP則常用在科學計算和某些需要高精度的套用中。
DSP晶片通常採用專用積體電路設計,然而亦可使用現場可程式門數組(FPGA)晶片來實現DSP的功能,FPGA的I/O頻寬比DSP頻寬大十多倍。
2018年5月,南京電子技術研究所自主研製的華睿2號通過驗收,綜合處理性能優於國際主流DSP晶片。設計團隊已經開始部署,研發華睿3號。該晶片將擁有萬億次運算能力、支持人工智慧。