Copyright ?2010-2024 Shenzhen Innotrik Technology Co., Ltd. All Rghts Reserved
數(shù)字信號(hào)處理器從20世紀(jì)70年代的專用信號(hào)處理器開(kāi)始發(fā)展到VLSI陣列處理器,其應(yīng)用領(lǐng)域已經(jīng)從最初的語(yǔ)音、聲納等低頻信號(hào)的處理發(fā)展到雷達(dá)、圖像等視頻大數(shù)據(jù)量的信號(hào)處理。由于浮點(diǎn)運(yùn)算和并行處理技術(shù)的利用,信號(hào)處理器處理能力已得到極大的提高。數(shù)字信號(hào)處理器還將繼續(xù)沿著提高處理速度和運(yùn)算精度兩個(gè)方向發(fā)展在體系結(jié)構(gòu)上數(shù)據(jù)流結(jié)構(gòu)以至人工神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)等將可能成為下一代數(shù)字信號(hào)處理器的基本結(jié)構(gòu)模式。
1、算法格式
DSP的算法有多種。絕大多數(shù)的DSP處理器使用定點(diǎn)算法,數(shù)字表示為整數(shù)或-1.0到+1.0之間的小數(shù)形式。有些處理器采用浮點(diǎn)算法,數(shù)據(jù)表示成尾數(shù)加指數(shù)的形式:尾數(shù)×2指數(shù)。
浮點(diǎn)算法是一種較復(fù)雜的常規(guī)算法,利用浮點(diǎn)數(shù)據(jù)可以實(shí)現(xiàn)大的數(shù)據(jù)動(dòng)態(tài)范圍。這個(gè)動(dòng)態(tài)范圍可以用最大和最小數(shù)的比值來(lái)表示。浮點(diǎn)DSP在應(yīng)用中,設(shè)計(jì)工程師不用關(guān)心動(dòng)態(tài)范圍和精度一類的問(wèn)題。浮點(diǎn)DSP比定點(diǎn)DSP更容易編程,但是成本和功耗高。
由于成本和功耗的原因,一般批量產(chǎn)品選用定點(diǎn)DSP。編程和算法設(shè)計(jì)人員通過(guò)分析或仿真來(lái)確定所需要的動(dòng)態(tài)范圍和精度。如果要求易于開(kāi)發(fā),而且動(dòng)態(tài)范圍很寬、精度很高,可以考慮采用浮點(diǎn)DSP。
也可以在采用定點(diǎn)DSP的條件下由軟件實(shí)現(xiàn)浮點(diǎn)計(jì)算,但是這樣的軟件程序會(huì)占用大量處理器時(shí)間,因而很少使用。有效的辦法是“塊浮點(diǎn)”,利用該方法將具有相同指數(shù),而尾數(shù)不同的一組數(shù)據(jù)作為數(shù)據(jù)塊進(jìn)行處理。“塊浮點(diǎn)”處理通常用軟件來(lái)實(shí)現(xiàn)。
2、數(shù)據(jù)寬度
所有浮點(diǎn)DSP的字寬為32位,而定點(diǎn)DSP的字寬一般為16位,也有24位和20位的DSP,如摩托羅拉的DSP563XX系列和Zoran公司的ZR3800X系列。由于字寬與DSP的外部尺寸、管腳數(shù)量以及需要的存儲(chǔ)器的大小等有很大的關(guān)系,所以字寬的長(zhǎng)短直接影響到器件的成本。字寬越寬則尺寸越大,管腳越多,存儲(chǔ)器要求也越大,成本相應(yīng)地增大。在滿足設(shè)計(jì)要求的條件下,要盡量選用小字寬的DSP以減小成本。
在關(guān)于定點(diǎn)和浮點(diǎn)的選擇時(shí),可以權(quán)衡字寬和開(kāi)發(fā)復(fù)雜度之間的關(guān)系。例如,通過(guò)將指令組合連用,一個(gè)16位字寬的DSP器件也可以實(shí)現(xiàn)32位字寬雙精度算法。如果單精度能滿足絕大多數(shù)的計(jì)算要求,而僅少量代碼需要雙精度,這種方法也可行,但如果大多數(shù)的計(jì)算要求精度很高,則需要選用較大字寬的處理器。
請(qǐng)注意,絕大多數(shù)DSP器件的指令字和數(shù)據(jù)字的寬度一樣,也有一些不一樣,如ADI公司的ADSP-21XX系列的數(shù)據(jù)字為16位而指令字為24位。
3、處理速度
處理器是否符合設(shè)計(jì)要求,關(guān)鍵在于是否滿足速度要求。測(cè)試處理器的速度有很多方法,最基本的是測(cè)量處理器的指令周期。
但是指令執(zhí)行時(shí)間并不能表明處理器的真正性能,不同的處理器在單個(gè)指令完成的任務(wù)量不一樣,單純地比較指令執(zhí)行時(shí)間并不能公正地區(qū)別性能的差異。一些新的DSP采用超長(zhǎng)指令字(VLIW)架構(gòu),在這種架構(gòu)中,單個(gè)周期時(shí)間內(nèi)可以實(shí)現(xiàn)多條指令,而每個(gè)指令所實(shí)現(xiàn)的任務(wù)比傳統(tǒng)DSP少,因此相對(duì)VLIW和通用DSP器件而言,比較MIPS的大小時(shí)會(huì)產(chǎn)生誤導(dǎo)作用。
即使在傳統(tǒng)DSP之間比較MIPS大小也具有一定的片面性。例如,某些處理器允許在單個(gè)指令中同時(shí)對(duì)幾位一起進(jìn)行移位,而有些DSP的一個(gè)指令只能對(duì)單個(gè)數(shù)據(jù)位移位;有些DSP可以進(jìn)行與正在執(zhí)行的ALU指令無(wú)關(guān)的數(shù)據(jù)的并行處理(在執(zhí)行指令的同時(shí)加載操作數(shù)),而另外有些DSP只能支持與正在執(zhí)行的ALU指令有關(guān)的數(shù)據(jù)并行處理;有些新的DSP允許在單個(gè)指令內(nèi)定義兩個(gè)MAC。因此僅僅進(jìn)行MIPS比較并不能準(zhǔn)確得出處理器的性能。
解決上述問(wèn)題的方法之一是采用一個(gè)基本的操作作為標(biāo)準(zhǔn)來(lái)比較處理器的性能。常用到的是MAC操作,但是MAC操作時(shí)間不能提供比較DSP性能差異的足夠信息,在絕大多數(shù)DSP中,MAC操作僅在單個(gè)指令周期內(nèi)實(shí)現(xiàn),其MAC時(shí)間等于指令周期時(shí)間,如上所述,某些DSP在單個(gè)MAC周期內(nèi)處理的任務(wù)比其它DSP多。MAC時(shí)間并不能反映諸如循環(huán)操作等的性能,而這種操作在所有的應(yīng)用中都會(huì)用到。
最通用的辦法是定義一套標(biāo)準(zhǔn)例程,比較在不同DSP上的執(zhí)行速度。這種例程可能是一個(gè)算法的“核心”功能,如FIR或IIR濾波器等,也可以是整個(gè)或部分應(yīng)用程序,如語(yǔ)音編碼器等。
在比較DSP處理器的速度時(shí)要注意其所標(biāo)榜的MOPS(百萬(wàn)次操作每秒)和MFLOPS(百萬(wàn)次浮點(diǎn)操作每秒)參數(shù),因?yàn)椴煌膹S商對(duì)“操作”的理解不一樣,指標(biāo)的意義也不一樣。例如,某些處理器能同時(shí)進(jìn)行浮點(diǎn)乘法操作和浮點(diǎn)加法操作,因而標(biāo)榜其產(chǎn)品的MFLOPS為MIPS的兩倍。
其次,在比較處理器時(shí)鐘速率時(shí),DSP的輸入時(shí)鐘可能與其指令速率一樣,也可能是指令速率的兩倍到四倍,不同的處理器可能不一樣。另外,許多DSP具有時(shí)鐘倍頻器或鎖相環(huán),可以使用外部低頻時(shí)鐘產(chǎn)生片上所需的高頻時(shí)鐘信號(hào)。
4、實(shí)際應(yīng)用
語(yǔ)音處理:語(yǔ)音編碼、語(yǔ)音合成、語(yǔ)音識(shí)別、語(yǔ)音增強(qiáng)、語(yǔ)音郵件、語(yǔ)音儲(chǔ)存等。
圖像/圖形:二維和三維圖形處理、圖像壓縮與傳輸、圖像識(shí)別、動(dòng)畫(huà)、機(jī)器人視覺(jué)、多媒體、電子地圖、圖像增強(qiáng)等。
軍事;保密通信、雷達(dá)處理、聲吶處理、導(dǎo)航、全球定位、跳頻電臺(tái)、搜索和反搜索等。
儀器儀表:頻譜分析、函數(shù)發(fā)生、數(shù)據(jù)采集、地震處理等。
自動(dòng)控制:控制、深空作業(yè)、自動(dòng)駕駛、機(jī)器人控制、磁盤控制等。
醫(yī)療:助聽(tīng)、超聲設(shè)備、診斷工具、病人監(jiān)護(hù)、心電圖等。
家用電器:數(shù)字音響、數(shù)字電視、可視電話、音樂(lè)合成、音調(diào)控制、玩具與游戲等。
生物醫(yī)學(xué)信號(hào)處理舉例:
CT:計(jì)算機(jī)X射線斷層攝影裝置。(其中發(fā)明頭顱CT英國(guó)EMI公司的豪斯菲爾德獲諾貝爾獎(jiǎng)。)
CAT:計(jì)算機(jī)X射線空間重建裝置。出現(xiàn)全身掃描,心臟活動(dòng)立體圖形,腦腫瘤異物,人體軀干圖像重建。心電圖分析。
5、存儲(chǔ)管理
DSP的性能受其對(duì)存儲(chǔ)器子系統(tǒng)的管理能力的影響。如前所述,MAC和其它一些信號(hào)處理功能是DSP器件信號(hào)處理的基本能力,快速M(fèi)AC執(zhí)行能力要求在每個(gè)指令周期從存儲(chǔ)器讀取一個(gè)指令字和兩個(gè)數(shù)據(jù)字。有多種方法實(shí)現(xiàn)這種讀取。比如,使用多接口存儲(chǔ)器(允許在每個(gè)指令周期內(nèi)對(duì)存儲(chǔ)器多次訪問(wèn))、分離指令和數(shù)據(jù)存儲(chǔ)器(“哈佛”結(jié)構(gòu)及其派生類)以及指令緩存(允許從緩存讀取指令而不是存儲(chǔ)器,從而將存儲(chǔ)器空閑出來(lái)用作數(shù)據(jù)讀取)。
另外要注意所支持的存儲(chǔ)器空間的大小。許多定點(diǎn)DSP的主要目標(biāo)市場(chǎng)是嵌入式應(yīng)用系統(tǒng),在這種應(yīng)用中存儲(chǔ)器一般較小,所以這種DSP器件具有小到中等片上存儲(chǔ)器(4K到64K字左右),備有窄的外部數(shù)據(jù)總線。另外,絕大多數(shù)定點(diǎn)DSP的地址總線小于或等于16位,因而可外接的存儲(chǔ)器空間受到限制。
一些浮點(diǎn)DSP的片上存儲(chǔ)器很小,甚至沒(méi)有,但外部數(shù)據(jù)總線寬。例如TI公司的TMS320C30只有6K片上存儲(chǔ)器,外部總線為24位,13位外部地址總線。而ADI的ADSP2-21060具有4Mb的片上存儲(chǔ)器,可以多種方式劃分為程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。
選擇DSP時(shí),需要根據(jù)具體應(yīng)用對(duì)存儲(chǔ)空間大小以及對(duì)外部總線的要求來(lái)選擇。
6、類型特點(diǎn)
DSP處理器和諸如英特爾、奔騰或Power
PC的通用處理器(GPPs)有很大的區(qū)別,這些區(qū)別產(chǎn)生于DSPs的結(jié)構(gòu)和指令是專門針對(duì)信號(hào)處理而設(shè)計(jì)和開(kāi)發(fā)的,它具有以下特點(diǎn)。
7、硬件乘法累加操作(MACs)
為了有效完成諸如信號(hào)濾波的乘法累加運(yùn)算,處理器必需進(jìn)行有效的乘法操作。GPPs起初并不是為繁重的乘法操作設(shè)計(jì)的,把DSPs同早期的GPPs區(qū)別開(kāi)來(lái)的第一個(gè)重大技術(shù)改進(jìn)就是添加了能夠進(jìn)行單周期乘法操作的專門硬件和明確的MAC指令。
8、哈佛結(jié)構(gòu)
傳統(tǒng)的GPPs使用馮諾曼存儲(chǔ)結(jié)構(gòu),在這種結(jié)構(gòu)中,有一個(gè)存儲(chǔ)空間通過(guò)兩條總線(一條地址總線和一條數(shù)據(jù)總線)連接到處理器內(nèi)核,這種結(jié)構(gòu)不能滿足MAC必須在一個(gè)指令周期中對(duì)存儲(chǔ)器進(jìn)行四次訪門的要求。DSPs一般使用哈佛結(jié)構(gòu),在哈佛結(jié)構(gòu)中,有兩個(gè)存儲(chǔ)空間:程序存儲(chǔ)空間和數(shù)據(jù)存儲(chǔ)空間。處理器內(nèi)核通過(guò)兩套總線與這些存儲(chǔ)空間相連,允許對(duì)存儲(chǔ)器同時(shí)進(jìn)行兩訪問(wèn),這種安排使處理器的帶寬加倍。在哈佛結(jié)構(gòu)中,有時(shí)通過(guò)增加第二個(gè)數(shù)據(jù)存儲(chǔ)空間和總線來(lái)實(shí)現(xiàn)更大的存儲(chǔ)帶寬。現(xiàn)代高性能GPPs通常具有兩個(gè)片上超高速緩沖存儲(chǔ)器一個(gè)存放數(shù)據(jù),一個(gè)存放指令。從理論的角度上講,這種雙重片上高速緩存與總線連接等同于哈佛結(jié)構(gòu),但是,GPPs使用控制邏輯來(lái)確定哪些數(shù)據(jù)和指令字駐留在片上高速緩存里,這個(gè)過(guò)程通常不為程序設(shè)計(jì)者所見(jiàn),而在DSPs里,程序設(shè)計(jì)者能明確的控制哪些數(shù)據(jù)和指令被存儲(chǔ)在片上的存儲(chǔ)單元或緩存中。
9、零消耗循環(huán)控制
DSP算法的共同特征:大部分處理時(shí)間花在執(zhí)行包含在相對(duì)小循環(huán)內(nèi)的少量指令上。因此,大部分DSP處理器具有零消耗循環(huán)控制的專門硬件。零消耗循環(huán)是指處理器不用花時(shí)間測(cè)試循環(huán)計(jì)數(shù)器的值就能執(zhí)行一組指令的循環(huán),硬件完成循環(huán)跳轉(zhuǎn)和循環(huán)計(jì)數(shù)器的衰減。有些DSPs還通過(guò)一條指令的超高速緩存實(shí)現(xiàn)高速的單指令循環(huán)。
10、特殊尋址模式
DSPs經(jīng)常包含有專門的地址產(chǎn)生器,它能產(chǎn)生信號(hào)處理算法需要的特殊尋址,如循環(huán)尋址和位翻轉(zhuǎn)尋址。循環(huán)尋址對(duì)應(yīng)于流水FIR濾波算法,位翻轉(zhuǎn)尋址對(duì)應(yīng)于FFT算法。
11、執(zhí)行時(shí)間的可預(yù)測(cè)性
大多數(shù)DSP應(yīng)用都具有硬性實(shí)時(shí)要求,在每種情況下所有處理工作都必須在指定時(shí)間內(nèi)完成。這種實(shí)時(shí)限制要求程序設(shè)計(jì)者確定每個(gè)樣本究竟需要多少時(shí)間或者在最壞情況下至少用去多少時(shí)間。DSPs執(zhí)行程序的進(jìn)程對(duì)程序員來(lái)說(shuō)是透明的,因此很容易預(yù)測(cè)處理每項(xiàng)工作的執(zhí)行時(shí)間。但是,對(duì)于高性能GPPs來(lái)說(shuō),由于大量超高速數(shù)據(jù)和程序緩存的使用,動(dòng)態(tài)分配程序,因此執(zhí)行時(shí)間的預(yù)測(cè)變得復(fù)雜和困難。
12、具有豐富的外設(shè)













































































