數(shù)字信號(hào)處理器(digital signal processor, 簡(jiǎn)寫 DSP)是一種專用于(通常為實(shí)時(shí)的)數(shù)字信號(hào)處理的微處理器。
DSP-Grafikchip
數(shù)字信號(hào)處理器的特點(diǎn)
分開(kāi)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器(哈佛結(jié)構(gòu))。
用于單指令流多數(shù)據(jù)流(SIMD)作業(yè)的特殊指令集。
可進(jìn)行并行處理,但不支援多任務(wù)。
用于宿主環(huán)境時(shí)可作為直接存儲(chǔ)器訪問(wèn)(DMA )設(shè)備運(yùn)作.
從模數(shù)轉(zhuǎn)換器(ADC)獲得數(shù)據(jù),最終輸出的是由數(shù)模轉(zhuǎn)換器(DAC)轉(zhuǎn)換為模擬信號(hào)的數(shù)據(jù)。
數(shù)字信號(hào)的處理
數(shù)字信號(hào)的處理可由通用微處理器完成??赡艿膬?yōu)化為:
數(shù)據(jù)運(yùn)算指令
使用飽和算法,在這種方式中,會(huì)產(chǎn)生溢出的運(yùn)算將累積至寄存器可容納的最大(或最小)值,而不是按環(huán)繞方式(環(huán)繞方式是很多通用CPU采取的方式。在環(huán)繞方式中,寄存器的數(shù)值到達(dá)最大值后再加一則會(huì)繞回到最小值;而使用飽和算法時(shí)則不會(huì)發(fā)生這種環(huán)繞,運(yùn)算結(jié)果仍將保持為最大值)。有些情況下可使用不同的粘滯位運(yùn)算模式。
使用乘積累加(MAC)運(yùn)算,這會(huì)提高各種矩陣運(yùn)算的效率(例如卷積運(yùn)算、點(diǎn)積運(yùn)算、乃至矩陣多項(xiàng)式的求值運(yùn)算;參看Horner scheme和積和熔加運(yùn)算)。由于在許多DSP中都必然地使用了單周期的MAC部件,因此也自然沿襲了下面所述的許多性質(zhì)(尤其是哈佛結(jié)構(gòu)和指令流水線(Instruction Streamline))。
在使用同余尋址方式操作循環(huán)緩沖器、以及在使用逆位序?qū)ぶ纺J教幚砜焖俑盗⑷~變換交叉參照時(shí),都可使用專門的指令實(shí)現(xiàn)。
程序流程
使用深層流水線技術(shù),這種情況下,因錯(cuò)誤的預(yù)測(cè)產(chǎn)生的跳轉(zhuǎn)會(huì)造成更大的(效率)成本。
使用通過(guò)動(dòng)態(tài)表或硬編碼的零開(kāi)銷循環(huán)實(shí)現(xiàn)的分支預(yù)測(cè)。為減少執(zhí)行高頻度的內(nèi)層循環(huán)時(shí)跳轉(zhuǎn)造成的(效率)影響,有些處理器提供了這個(gè)特性。該技術(shù)包括兩種類型的操作:?jiǎn)沃噶畹闹貜?fù)操作和多指令的循環(huán)操作。
預(yù)取指令使用指令流水線方式。
流水線作業(yè)方式可減少總體的處理時(shí)間,增加系統(tǒng)的產(chǎn)出效率。
流水線可以分為若干層級(jí)。
歷史
1978年,Intel 發(fā)布了一種“模擬信號(hào)處理器”——2920處理器。它包含一組帶有一個(gè)內(nèi)部信號(hào)處理器的片上ADC/DAC,但由于它不含硬件乘法器,因此在市場(chǎng)上銷售并不成功. 1979年,AMI 發(fā)布了 S2811處理器,它被設(shè)計(jì)成微處理器的周邊裝置,必須由主處理器初始化后才能工作。 S2811 在市場(chǎng)上也不成功.
1979年,貝爾實(shí)驗(yàn)室發(fā)表了第一款單芯片 DSP,即 Mac 4 型微處理器。繼而于1980年的IEEE國(guó)際固態(tài)電路會(huì)議上出現(xiàn)了第一批獨(dú)立、完整的DSP,它們是NEC的μPD7720處理器和AT&T的DSP1處理器。這兩種處理器都是在公共交換電話網(wǎng)(PSTN)的遠(yuǎn)程通信研究中受到了啟發(fā)而產(chǎn)生的。
還有一種早期的DSP,Altamira DX-1,它使用一組帶有延遲轉(zhuǎn)移和轉(zhuǎn)移預(yù)測(cè)機(jī)制的四整數(shù)組流水線。
事實(shí)證明,1983年得克薩斯儀器公司生產(chǎn)的的第一款DSP,TMS32010,是一個(gè)更大的成功,時(shí)至今日德州儀器已成為通用DSP市場(chǎng)的龍頭,并提供有HPI(Host-Post Interface),由外部CPU直接訪問(wèn)。另一款成功的設(shè)計(jì)是摩托羅拉的56000。
通用CPU中有些技術(shù)是受到帶有擴(kuò)展模塊的DSP的影響而出現(xiàn)的,例如Intel的IA-32架構(gòu)指令集(ISA)中的MMX擴(kuò)展。
大部分DSP使用的是定點(diǎn)算法,這是因?yàn)樵谛盘?hào)處理的一般實(shí)際應(yīng)用中不需要使用浮點(diǎn)運(yùn)算比定點(diǎn)運(yùn)算多提供的那部分額外的精度范圍,而使用定點(diǎn)算法犧牲了不需要的精度,卻大大提高了速度。另一方面,浮點(diǎn)DSP則常用在科學(xué)計(jì)算和某些需要高精度的應(yīng)用中。
DSP芯片通常采用專用集成電路設(shè)計(jì),然而亦可使用現(xiàn)場(chǎng)可編程門陣列(FPGA)芯片來(lái)實(shí)現(xiàn)DSP的功能,F(xiàn)PGA的I/O帶寬比DSP帶寬大十多倍。
內(nèi)容來(lái)自百科網(wǎng)