|
<!--插入廣告JS代碼--> |
第一章 數(shù)字信號處理器DSPs簡介
實(shí)時(shí)信號處理系統(tǒng)要求必須具有處理大數(shù)據(jù)量的能力,以保證系統(tǒng)的實(shí)時(shí)性;其次對系統(tǒng)的體積、功耗、穩(wěn)定性等也有較嚴(yán)格的要求。實(shí)時(shí)信號處理算法中經(jīng)常用到對圖象的求和、求差運(yùn)算,二維梯度運(yùn)算,圖象分割及區(qū)域特征提取等不同層次、不同種類的處理。其中有的運(yùn)算本身結(jié)構(gòu)比較簡單,但是數(shù)據(jù)量大,計(jì)算速度要求高;有些處理對速度并沒有特殊的要求,但計(jì)算方式和控制結(jié)構(gòu)比較復(fù)雜,難以用純硬件實(shí)現(xiàn)。因此,實(shí)時(shí)信號處理系統(tǒng)是對運(yùn)算速度要求高,運(yùn)算種類多的綜合性信息處理系統(tǒng)。
實(shí)時(shí)信號處理系統(tǒng)中,低層的信號預(yù)處理算法處理的數(shù)據(jù)量大,對處理速度的要求高,但運(yùn)算結(jié)構(gòu)相對比較簡單,適于用FPGA進(jìn)行硬件實(shí)現(xiàn),這樣能同時(shí)兼顧速度及靈活性。高層處理算法的特點(diǎn)是所處理的數(shù)據(jù)量較低層算法少,但算法的控制結(jié)構(gòu)復(fù)雜,適于用運(yùn)算速度高,尋址方式靈活,通信機(jī)制強(qiáng)大的DSP芯片來實(shí)現(xiàn)。由此就應(yīng)運(yùn)而生了各種DSP數(shù)字信號處理芯片。
DSP和諸如Intel Pentium或Motorola PowerPC的通用處理器(GPPS)有很大的區(qū)別,這些區(qū)別產(chǎn)生于PSS的結(jié)構(gòu)和指令是專門針對信號處理而設(shè)計(jì)和開發(fā)的,具有以下特點(diǎn)。
· 硬件乘法累加操作(MACs)
把DSPs同早期的GPPs區(qū)別開來的第一個(gè)重大技術(shù)改進(jìn),就是添加了能夠進(jìn)行單周期乘法操作的專門硬件和明確的MAC指令。
· 哈佛結(jié)構(gòu)
傳統(tǒng)的GPPs使用馮.諾曼存儲結(jié)構(gòu),在這種結(jié)構(gòu)中,有一個(gè)存儲空間通過兩條總線(一條地址總線和一條數(shù)據(jù)總線)連接到處理器內(nèi)核,這種結(jié)構(gòu)不能滿足MAC必須在一個(gè)指令周期中對存儲器進(jìn)行四次訪問的要求。DSPs一般使用哈佛結(jié)構(gòu),在哈佛結(jié)構(gòu)中,有兩個(gè)存儲空間:程序存儲空間和數(shù)據(jù)存儲空間。處理器內(nèi)核通過兩套總線與這些存儲空間相連,允許對存儲器同時(shí)進(jìn)行兩訪問,這種安排使處理器的帶寬加倍。在哈佛結(jié)構(gòu)中,有時(shí)通過增加第二個(gè)數(shù)據(jù)存儲空間和總線來實(shí)現(xiàn)更大的存儲帶寬,F(xiàn)代高性能GPPs通常具有兩個(gè)片上超高速緩沖存儲器,一個(gè)存放數(shù)據(jù),一個(gè)存放指令。從理論的角度上講,這種雙重片上高速緩存與總線連接等同于哈佛結(jié)構(gòu),但是,GPPs使用控制邏輯來確定哪些數(shù)據(jù)和指令字駐留在片上高速緩存里,這個(gè)過程通常不為程序設(shè)計(jì)者所見,而在DSPs里,程序設(shè)計(jì)者能明確的控制哪些數(shù)據(jù)和指令被存儲在片上的存儲單元或緩存中。
· 零消耗循環(huán)控制
DSP算法的共同特征在于大部分處理時(shí)間花在執(zhí)行包含在相對小循環(huán)內(nèi)的少量指令。因此,大部分DSP處理器具有零消耗循環(huán)控制的專門硬件。零消耗循環(huán)是指處理器不用花時(shí)間測試循環(huán)計(jì)數(shù)器的值就能執(zhí)行一組指令的循環(huán),硬件完成循環(huán)跳轉(zhuǎn)和循環(huán)計(jì)數(shù)器的衰減。有些DSP還通過一條指令的超高速緩存實(shí)現(xiàn)高速的單指令循環(huán)。
· 特殊尋址模式
DSPs經(jīng)常包含有專門的地址產(chǎn)生器,它能產(chǎn)生信號處理算法需要的特殊尋址,如循環(huán)尋址和位翻轉(zhuǎn)尋址。循環(huán)尋址對應(yīng)于流水FIR濾波算法,位翻轉(zhuǎn)尋址對應(yīng)于FFT算法。
· 執(zhí)行時(shí)間的可預(yù)測性
大多數(shù)DSP應(yīng)用都具有硬性實(shí)時(shí)要求,在每種情況下所有處理工作都必須在指定時(shí)間內(nèi)完成。這種實(shí)時(shí)限制要求程序設(shè)計(jì)者確定每個(gè)樣本究竟需要多少時(shí)間或者在最壞情況下至少用去多少時(shí)間。DSP執(zhí)行程序的進(jìn)程對程序員來說是透明的,因此很容易預(yù)測處理每項(xiàng)工作的執(zhí)行時(shí)間。但是,對于高性能GPPs來說,由于大量超高速數(shù)據(jù)和程序緩存的使用,動態(tài)分配程序,因此執(zhí)行時(shí)間的預(yù)測變得復(fù)雜和困難。
· 具有豐富的外設(shè)
DSPs具有DMA, 串口, PLL,定時(shí)器等外設(shè)。