數(shù)字信號(hào)處理是將信號(hào)以數(shù)字方式表示并處理的理論和技術(shù)。數(shù)字信號(hào)處理與模擬信號(hào)處理是信號(hào)處理的子集。數(shù)字信號(hào)處理的目的是對(duì)真實(shí)世界的連續(xù)模擬信號(hào)進(jìn)行測(cè)量或?yàn)V波。因此在進(jìn)行數(shù)字信號(hào)處理之前需要將信號(hào)從模擬域轉(zhuǎn)換到數(shù)字域,這通常通過(guò)模數(shù)轉(zhuǎn)換器實(shí)現(xiàn)。而數(shù)字信號(hào)處理的輸出經(jīng)常也要變換到模擬域,這是通過(guò)數(shù)模轉(zhuǎn)換器實(shí)現(xiàn)的。
數(shù)字信號(hào)處理器應(yīng)用簡(jiǎn)介
基本簡(jiǎn)介
數(shù)字信號(hào)處理器(digital signal processor) 由大規(guī)模或超大規(guī)模集成電路心片組成的用來(lái)完成某種信號(hào)處理任務(wù)的處理器。它是為適應(yīng)高速實(shí)時(shí)信號(hào)處理任務(wù)的需要而逐漸發(fā)展起來(lái)的。隨著集成電路技術(shù)和數(shù)字信號(hào)處理算法的發(fā)展,數(shù)字信號(hào)處理器的實(shí)現(xiàn)方法也在不斷變化,處理功能不斷提高和擴(kuò)大。
內(nèi)置數(shù)字信號(hào)處理器(DSP,DigitalSignalProcessor)是車載主機(jī)內(nèi)以邏輯電路對(duì)音視頻數(shù)字信號(hào)進(jìn)行再加工處理的專用元件,是一個(gè)統(tǒng)稱名詞,包括數(shù)字效果器、EQ、3D環(huán)繞等等。數(shù)字信號(hào)處理器(DSP,即DigitalSignalProcessor)是進(jìn)行數(shù)字信號(hào)處理的專用芯片,是伴隨著微電子學(xué)、數(shù)字信號(hào)處理技術(shù)、計(jì)算機(jī)技術(shù)的發(fā)展而產(chǎn)生的新器件。
應(yīng)用
數(shù)字信號(hào)處理器并非只局限于音視頻層面,它廣泛的應(yīng)用于通信與信息系統(tǒng)、信號(hào)與信息處理、自動(dòng)控制、雷達(dá)、軍事、航空航天、醫(yī)療、家用電器等許多領(lǐng)域。以往是采用通用的微處理器來(lái)完成大量數(shù)字信號(hào)處理運(yùn)算,速度較慢,難以滿足實(shí)際需要;而同時(shí)使用位片式微處理器和快速并聯(lián)乘法器,曾經(jīng)是實(shí)現(xiàn)數(shù)字信號(hào)處理的有效途徑,但此方法器件較多,邏輯設(shè)計(jì)和程序設(shè)計(jì)復(fù)雜,耗電較大,價(jià)格昂貴。數(shù)字信號(hào)處理器DSP的出現(xiàn),很好的解決了上述問(wèn)題。DSP可以快速的實(shí)現(xiàn)對(duì)信號(hào)的采集、變換、濾波、估值、增強(qiáng)、壓縮、識(shí)別等處理,以得到符合人們需要的信號(hào)形式。
對(duì)于車載主機(jī)而言,數(shù)字信號(hào)處理器DSP目前主要是提供特定的音場(chǎng)或效果,例如劇場(chǎng)、爵士樂(lè)等等,有些還能接收高清晰度(HD)無(wú)線電和衛(wèi)星無(wú)線電等等,以達(dá)到最大的視聽(tīng)享受。數(shù)字信號(hào)處理器DSP增強(qiáng)了車載主機(jī)的性能和可用性,提高了音視頻質(zhì)量、提供了更多的靈活性和更快的設(shè)計(jì)周期。隨著技術(shù)的發(fā)展,相信以后還能提供更多的聽(tīng)覺(jué)和視覺(jué)特效,而使車載主機(jī)成為車內(nèi)的高科技信息和娛樂(lè)中心。
數(shù)字信號(hào)處理器分類
數(shù)字信號(hào)處理器按其可編程性可分為可編程和不可編程兩大類。不可編程的信號(hào)處理器以信號(hào)處理算法的流程為基本邏輯結(jié)構(gòu),沒(méi)有控制程序,一般只能完成一種主要的處理功能,所以又稱專用信號(hào)處理器。如快速傅里葉變換處理器、數(shù)字濾波器等。這類處理器雖然功能局限,但有較高的處理速度。可編程信號(hào)處理器則可通過(guò)編程改變處理器所要完成的功能,有較大的通用性,所以又稱通用信號(hào)處理器。隨著通用信號(hào)處理器性能價(jià)格比的不斷提高,它在信號(hào)處的應(yīng)用日益普及。
已開發(fā)的可編程信號(hào)處理器大致上有三類:①位由基本位長(zhǎng)為2,4,8位的微處理片為主體,配以程序控制片、中斷及DMA控制片、時(shí)鐘片等構(gòu)成。采用微程序控制、分組指令格式,可按需要構(gòu)成所需字長(zhǎng)的系統(tǒng)。其優(yōu)點(diǎn)是處理速度快、效率高。缺點(diǎn)是功耗較大,片子的數(shù)量也較多。②單片信號(hào)處理器。它將運(yùn)算器、乘法器、存儲(chǔ)器、程序只讀存儲(chǔ)器(ROM)、輸入輸出接口,甚至模/數(shù)數(shù)/模轉(zhuǎn)換等全部集成在單片上。其運(yùn)算速度快、精度高、功耗低通用性強(qiáng)。與通用的微處理器相比它的指令集合和尋址方式更適合于信號(hào)處理常用的運(yùn)算和數(shù)據(jù)結(jié)構(gòu)。③超大規(guī)模集成電路(VLSI)陣列處理器。這是一種利用大量處理單元在單指令序列控制下對(duì)不同的數(shù)據(jù)完成相同的操作,從而獲得高速計(jì)算的信號(hào)處理器。非常適合于大數(shù)據(jù)量、大計(jì)算量、運(yùn)算重復(fù)性強(qiáng)的信號(hào)處理任務(wù)。它們常與通用計(jì)算機(jī)聯(lián)用,構(gòu)成強(qiáng)有力的信號(hào)處理系統(tǒng)現(xiàn)有的陣列處理器大致上有兩類,即脈動(dòng)陣列處理器。
和波動(dòng)陣列處理器。前者采用全陣列統(tǒng)一的同步時(shí)鐘和控制驅(qū)動(dòng)機(jī)制,具有結(jié)構(gòu)簡(jiǎn)單、模塊性好、易于擴(kuò)展等優(yōu)點(diǎn)。而后者采用各單元獨(dú)立定時(shí),數(shù)據(jù)驅(qū)動(dòng)機(jī)制。給編程和容錯(cuò)設(shè)計(jì)帶來(lái)一定方便,在處理速度上也提高。
數(shù)字信號(hào)處理器發(fā)展方向
數(shù)字信號(hào)處理器從20世紀(jì)70年代的專用信號(hào)處理器開始發(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)模式。
算法格式
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)范圍和精度。如果要求易于開發(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)。
數(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)衡字寬和開發(fā)復(fù)雜度之間的關(guān)系。例如,通過(guò)將指令組合連用,一個(gè)16位字寬的DSP器件也可以實(shí)現(xiàn)32位字寬雙精度算法(當(dāng)然雙精度算法比單精度算法慢得多)。如果單精度能滿足絕大多數(shù)的計(jì)算要求,而僅少量代碼需要雙精度,這種方法也可行,但如果大多數(shù)的計(jì)算要求精度很高,則需要選用較大字寬的處理器。
請(qǐng)注意,絕大多數(shù)DSP器件的指令字和數(shù)據(jù)字的寬度一樣,也有一些不一樣,如ADI(模擬器件公司)的ADSP-21XX系列的數(shù)據(jù)字為16位而指令字為24位。
處理速度
處理器是否符合設(shè)計(jì)要求,關(guān)鍵在于是否滿足速度要求。測(cè)試處理器的速度有很多方法,最基本的是測(cè)量處理器的指令周期,即處理器執(zhí)行最快指令所需要的時(shí)間。指令周期的倒數(shù)除以一百萬(wàn),再乘以每個(gè)周期執(zhí)行的指令數(shù),結(jié)果即為處理器的最高速率,單位為每秒百萬(wàn)條指令MIPS。
但是指令執(zhí)行時(shí)間并不能表明處理器的真正性能,不同的處理器在單個(gè)指令完成的任務(wù)量不一樣,單純地比較指令執(zhí)行時(shí)間并不能公正地區(qū)別性能的差異?,F(xiàn)在一些新的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ǔ)音編碼器)。圖1為使用BDTI公司的工具測(cè)試的幾款DSP器件性能。
在比較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)。
實(shí)際應(yīng)用
語(yǔ)音處理:語(yǔ)音編碼、語(yǔ)音合成、語(yǔ)音識(shí)別、語(yǔ)音增強(qiáng)、語(yǔ)音郵件、語(yǔ)音儲(chǔ)存等。
圖像/圖形:二維和三維圖形處理、圖像壓縮與傳輸、圖像識(shí)別、動(dòng)畫、機(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)立體圖形,腦腫瘤異物,人體軀干圖像重建。心電圖分析。
存儲(chǔ)管理
DSP的性能受其對(duì)存儲(chǔ)器子系統(tǒng)的管理能力的影響。如前所述,MAC和其它一些信號(hào)處理功能是DSP器件信號(hào)處理的基本能力,快速MAC執(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ù)讀取)。圖2和圖3顯示了哈佛存儲(chǔ)器結(jié)構(gòu)與很多微控制器采用的“馮·諾曼”結(jié)構(gòu)的差別。
另外要注意所支持的存儲(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)選擇。
類型特點(diǎn)
DSP處理器和諸如英特爾、奔騰或Power
PC的通用處理器(GPPs)有很大的區(qū)別,這些區(qū)別產(chǎn)生于DSPs的結(jié)構(gòu)和指令是專門針對(duì)信號(hào)處理而設(shè)計(jì)和開發(fā)的,它具有以下特點(diǎn)。
·硬件乘法累加操作(MACs)
為了有效完成諸如信號(hào)濾波的乘法累加運(yùn)算,處理器必需進(jìn)行有效的乘法操作。GPPs起初并不是為繁重的乘法操作設(shè)計(jì)的,把DSPs同早期的GPPs區(qū)別開來(lái)的第一個(gè)重大技術(shù)改進(jìn)就是添加了能夠進(jìn)行單周期乘法操作的專門硬件和明確的MAC指令。
·哈佛結(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ǔ)帶寬?,F(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ǔ)單元或緩存中。
·零消耗循環(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)。
·特殊尋址模式
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算法。
·執(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ù)雜和困難。
·具有豐富的外設(shè)
DSPs具有DMA、串口、Link口、定時(shí)器等外設(shè)。
數(shù)字信號(hào)處理器知識(shí)簡(jiǎn)介
算法格式
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)范圍和精度。如果要求易于開發(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)。
數(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)衡字寬和開發(fā)復(fù)雜度之間的關(guān)系。例如,通過(guò)將指令組合連用,一個(gè)16位字寬的DSP器件也可以實(shí)現(xiàn)32位字寬雙精度算法(當(dāng)然雙精度算法比單精度算法慢得多)。如果單精度能滿足絕大多數(shù)的計(jì)算要求,而僅少量代碼需要雙精度,這種方法也可行,但如果大多數(shù)的計(jì)算要求精度很高,則需要選用較大字寬的處理器。
請(qǐng)注意,絕大多數(shù)DSP器件的指令字和數(shù)據(jù)字的寬度一樣,也有一些不一樣,如ADI(模擬器件公司)的ADSP-21XX系列的數(shù)據(jù)字為16位而指令字為24位。
處理速度
處理器是否符合設(shè)計(jì)要求,關(guān)鍵在于是否滿足速度要求。測(cè)試處理器的速度有很多方法,最基本的是測(cè)量處理器的指令周期,即處理器執(zhí)行最快指令所需要的時(shí)間。指令周期的倒數(shù)除以一百萬(wàn),再乘以每個(gè)周期執(zhí)行的指令數(shù),結(jié)果即為處理器的最高速率,單位為每秒百萬(wàn)條指令MIPS。
但是指令執(zhí)行時(shí)間并不能表明處理器的真正性能,不同的處理器在單個(gè)指令完成的任務(wù)量不一樣,單純地比較指令執(zhí)行時(shí)間并不能公正地區(qū)別性能的差異?,F(xiàn)在一些新的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ǔ)音編碼器)。圖1為使用BDTI公司的工具測(cè)試的幾款DSP器件性能。
在比較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)。
實(shí)際應(yīng)用
語(yǔ)音處理:語(yǔ)音編碼、語(yǔ)音合成、語(yǔ)音識(shí)別、語(yǔ)音增強(qiáng)、語(yǔ)音郵件、語(yǔ)音儲(chǔ)存等。
圖像/圖形:二維和三維圖形處理、圖像壓縮與傳輸、圖像識(shí)別、動(dòng)畫、機(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)立體圖形,腦腫瘤異物,人體軀干圖像重建。
心電圖分析。
存儲(chǔ)管理
DSP的性能受其對(duì)存儲(chǔ)器子系統(tǒng)的管理能力的影響。如前所述,MAC和其它一些信號(hào)處理功能是DSP器件信號(hào)處理的基本能力,快速MAC執(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ù)讀取)。圖2和圖3顯示了哈佛存儲(chǔ)器結(jié)構(gòu)與很多微控制器采用的“馮·諾曼”結(jié)構(gòu)的差別。
另外要注意所支持的存儲(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)選擇。
類型特點(diǎn)
DSP處理器和諸如英特爾、奔騰或Power
PC的通用處理器(GPPs)有很大的區(qū)別,這些區(qū)別產(chǎn)生于DSPs的結(jié)構(gòu)和指令是專門針對(duì)信號(hào)處理而設(shè)計(jì)和開發(fā)的,它具有以下特點(diǎn)。
·硬件乘法累加操作(MACs)
為了有效完成諸如信號(hào)濾波的乘法累加運(yùn)算,處理器必需進(jìn)行有效的乘法操作。GPPs起初并不是為繁重的乘法操作設(shè)計(jì)的,把DSPs同早期的GPPs區(qū)別開來(lái)的第一個(gè)重大技術(shù)改進(jìn)就是添加了能夠進(jìn)行單周期乘法操作的專門硬件和明確的MAC指令。
·哈佛結(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ǔ)單元或緩存中。
·零消耗循環(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)。
·特殊尋址模式
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算法。
·執(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ù)雜和困難。
·具有豐富的外設(shè)
DSPs具有DMA、串口、Link口、定時(shí)器等外設(shè)。
數(shù)字信號(hào)處理器評(píng)估標(biāo)準(zhǔn)
性能分檔
DSP處理器的性能可分為三個(gè)檔次:低成本、低性能DSPs,低能耗的中段DSPs和多樣化的高端DSPs。低成本性能的低端DSPs是工業(yè)界使用最廣泛的處理器。在這一范圍內(nèi)的產(chǎn)品有:ADSP-21xx,TMS320C2xx,DSP560xx等系列,它們的運(yùn)行速度一般為20~50MIPS,并在維持適當(dāng)能量消耗和存儲(chǔ)容量的同時(shí),提供優(yōu)質(zhì)的DSP性能。價(jià)格適中的DSP處理器,通過(guò)增加時(shí)鐘頻率,結(jié)合更為復(fù)雜的硬件來(lái)提高的性能,形成了DSPs的中段產(chǎn)品,如DSP16xx,TMS320C54x系列,它們的運(yùn)行速度為100~150MIPS,通常用在無(wú)線電訊設(shè)備和高速解調(diào)器中,要求相對(duì)高的處理速度和低的能耗。高端DSPs由于被超高速處理需求的推動(dòng),其結(jié)構(gòu)真正開始進(jìn)行分類和向多樣化發(fā)展,有關(guān)結(jié)構(gòu)下節(jié)詳述。高端DSPs的主頻達(dá)到150MHz以上,處理速度為1000MIPS以上,如TI的TMS320C6X系列、ADI的Tiger SHARC等。
評(píng)價(jià)指標(biāo)
評(píng)價(jià)處理器性能的指標(biāo)有很多,最常用的是速度,但能耗和存儲(chǔ)器容量指標(biāo)也很重要,特別是在嵌入系統(tǒng)應(yīng)用上。鑒于DSPs的日益增多,系統(tǒng)設(shè)計(jì)者要想選出在給定應(yīng)用設(shè)備上能夠提供最佳性能的處理器變得比較困難。過(guò)去,DSP系統(tǒng)設(shè)計(jì)者依靠MIPS或類似的量度,來(lái)大概了解不同芯片提供的相對(duì)性能。不幸的是,隨著處理器技術(shù)的多樣化,象MIPS這樣的傳統(tǒng)量度越來(lái)越不準(zhǔn)確,因?yàn)?/span>MIPS并不是實(shí)際測(cè)量性能。由于DSP應(yīng)用程序的特征之一是大部分的處理工作集中在程序的一部分(核心程序),因此可以用與信號(hào)處理相關(guān)的基準(zhǔn)程序來(lái)測(cè)試評(píng)估DSP處理器。BDTI公司已完成成套的核心標(biāo)準(zhǔn),并注冊(cè)了一種新型混合速度度量:BDTI分?jǐn)?shù)。
數(shù)字信號(hào)處理器結(jié)構(gòu)簡(jiǎn)介
概述
最近兩年,DSP處理器的更高性能由于不能從傳統(tǒng)結(jié)構(gòu)中得到解決,因此提出了各種提高性能的策略。其中提高時(shí)鐘頻率似乎是有限的,最好的方法是提高并行性。提高操作并行性,可以由兩個(gè)途徑實(shí)現(xiàn):提高每條指令執(zhí)行的操作的數(shù)量,或者是提高每個(gè)指令周期中執(zhí)行的指令的數(shù)量。這兩種并行要求產(chǎn)生了多種DSPs新結(jié)構(gòu)。
增強(qiáng)型
DSP
以前,DSP處理器使用復(fù)雜的、混合的指令集,使編程者可以把多個(gè)操作編碼在一條指令中。傳統(tǒng)上DSP處理器在一條指令周期只發(fā)射并執(zhí)行一條指令。這種單流、復(fù)雜指令的方法使得DSP處理器獲得很強(qiáng)大的性能而無(wú)需大量的內(nèi)存。
在保持DSP結(jié)構(gòu)和上述指令集不變的情況下,要提高每個(gè)指令的工作量,其中的一個(gè)辦法是用額外的執(zhí)行單元和增加數(shù)據(jù)通路。例如,一些高端的DSP有兩個(gè)乘法器,而不是一個(gè)。我們把使用這種方法的DSP叫做撛鑾啃統(tǒng)9媯模櫻袛,因?yàn)樗鼈兊慕Y(jié)構(gòu)與前一代的DSP相似,但性能在增加執(zhí)行單元后大大增強(qiáng)了。當(dāng)然,指令集必須也同時(shí)增強(qiáng),這樣編程者才能在一條指令中指定更多的并行操作,以利用額外的硬件。增強(qiáng)型DSPs的例子有朗訊公司的DSP16000,ADI的ADSP2116x。增強(qiáng)型DSPs的優(yōu)點(diǎn)是兼容性好,而且與較早的DSP具有相似的成本和功耗。缺點(diǎn)是結(jié)構(gòu)復(fù)雜、指令復(fù)雜,進(jìn)一步發(fā)展有限。
VLIW
結(jié)構(gòu)
如前所述,傳統(tǒng)上的DSP處理器使用復(fù)雜的混合指令,并在一條指令循環(huán)中只流出和執(zhí)行一條指令。然而,最近有些DSP采用一種更RISC化的指令集,并且在一條指令周期執(zhí)行多條指令,使用大的統(tǒng)一的寄存器堆。例如,Siemems的Carmel、Philips的TriMedia和TI的TMS320C62XX處理器族都使用了超長(zhǎng)指令字(VLIW)結(jié)構(gòu)。C62xx處理器每次取一個(gè)256位的指令包,把包解析為8個(gè)32位的指令,然后把它們引到其8個(gè)獨(dú)立的執(zhí)行單元。在最好的情況下,C62xx同時(shí)執(zhí)行8個(gè)指令棗這種情況下達(dá)到了極高的MIPS率(如1600MIPS)。VLIW結(jié)構(gòu)的優(yōu)點(diǎn)是高性能、結(jié)構(gòu)規(guī)整(潛在的易編程和好的目標(biāo)編譯系統(tǒng))。缺點(diǎn)是高功耗、代碼膨脹-需要寬的程序存儲(chǔ)器、新的編程/編譯困難(需跟蹤指令安排,易破壞流水線使性能下降)。
超標(biāo)量體
超標(biāo)量體系結(jié)構(gòu)
象VLIW處理器一樣,超標(biāo)量體系結(jié)構(gòu)并行地流出和執(zhí)行多個(gè)指令。但跟VLIW處理器不同的是,超標(biāo)量體系結(jié)構(gòu)不清楚指定需要并行處理的指令,而是使用動(dòng)態(tài)指令規(guī)劃,根據(jù)處理器可用的資源,數(shù)據(jù)依賴性和其他的因素來(lái)決定哪些指令要被同時(shí)執(zhí)行。超標(biāo)量體系結(jié)構(gòu)已經(jīng)長(zhǎng)期用于高性能的通用處理器中,如Pentium和PowerPC。最近,ZSP公司開發(fā)出第一個(gè)商業(yè)的超標(biāo)量體系結(jié)構(gòu)的DSP
ZSP164xx。超標(biāo)量結(jié)構(gòu)的優(yōu)點(diǎn)是性能有大的跨越、結(jié)構(gòu)規(guī)整、代碼寬度沒(méi)有明顯增長(zhǎng)。缺點(diǎn)是非常高的功耗、指令的動(dòng)態(tài)安排使代碼優(yōu)化困難。
SIMD
結(jié)構(gòu)
單指令多數(shù)據(jù)流(SIMD)處理器把輸入的長(zhǎng)的數(shù)據(jù)分解為多個(gè)較短的數(shù)據(jù),然后由單指令并行地操作,從而提高處理海量、可分解數(shù)據(jù)的能力。該技術(shù)能大幅度地提高在多媒體和信號(hào)處理中大量使用的一些矢量操作的計(jì)算速度,如坐標(biāo)變換和旋轉(zhuǎn)。
通用處理器SIMD增強(qiáng)的兩個(gè)例子是Pentium的MMX擴(kuò)展和PowerPC族的AltiVec擴(kuò)展。simd在一些高性能的DSP處理器中也有應(yīng)用。例如,DSP16000在其數(shù)據(jù)路中支持有限的SIMD風(fēng)格的操作,而Analog
Devices最近推出了有名的SHARC的新一代DSP處理器,進(jìn)行了SIMD能力的擴(kuò)展。SIMD結(jié)構(gòu)由于使總線、數(shù)據(jù)通道等資源充分使用,并無(wú)需改變信號(hào)處理(含圖象、語(yǔ)音)算法的基本結(jié)構(gòu),因此SIMD結(jié)構(gòu)使用越來(lái)越普遍。SIMD結(jié)構(gòu)遇到的問(wèn)題是算法、數(shù)據(jù)結(jié)構(gòu)必須滿足數(shù)據(jù)并行處理的要求,為了加速,循環(huán)常常需要被拆開,處理數(shù)據(jù)需要重新安排調(diào)整。通常SIMD僅支持定點(diǎn)運(yùn)算。
混合結(jié)構(gòu)
DSP/微控制器的混合結(jié)構(gòu)
許多的應(yīng)用需要以控制為主的軟件和DSP軟件的混合。一個(gè)明顯的例子是數(shù)字蜂窩電話,因?yàn)槠渲杏斜O(jiān)控和語(yǔ)音處理的工作。一般地,微處理器在控制上能提供良好的性能而在DSP性能上則很糟,專用的DSP處理器的特性則剛好相反。因此,最近有一些微處理器產(chǎn)商開始提供DSP增強(qiáng)版本的微處理器。用單處理器完成兩種軟件的任務(wù)是很有吸引力的,因?yàn)槠淇梢詽撛诘靥峁┖?jiǎn)化設(shè)計(jì),節(jié)省版面空間,降低總功耗,降低系統(tǒng)成本等。DSP和微處理器結(jié)合的方法有:
·在一個(gè)結(jié)上集成多種處理器,如MotorolaDSP5665x
·DSP作為協(xié)處理器,如ARMPiccolo
·DSP核移值到已有的位處理器,如SH-DSP
·微控制器與已有的DSP集成在一起,如TMS320C27xx
·全部新的設(shè)計(jì),如TriCore
隨著對(duì)DSP能力需求的提高,DSP處理器結(jié)構(gòu)正在進(jìn)行新的和革新的設(shè)計(jì),DSP、MCU、CPU的結(jié)構(gòu)優(yōu)點(diǎn)相互借用。
數(shù)字信號(hào)處理器發(fā)展趨勢(shì)
綜述
DSP處理器發(fā)展的趨勢(shì)是結(jié)構(gòu)多樣化,集成單片化用戶化,開發(fā)工具更完善,評(píng)價(jià)體系更全面更專業(yè)。
趨勢(shì)
VLIW結(jié)構(gòu)、超標(biāo)量體系結(jié)構(gòu)和DSP/MCU混合處理器是DSPs結(jié)構(gòu)發(fā)展的新潮流。VLIW和超標(biāo)量結(jié)構(gòu)能夠獲得很高的處理性能。DSP/MCU混合可以簡(jiǎn)化應(yīng)用系統(tǒng)設(shè)計(jì),降低體積和成本。高性能通用處理器(GPPs)借用了DSPs的許多結(jié)構(gòu)優(yōu)點(diǎn),其浮點(diǎn)處理速度比高檔DSPs還要快。高性能GPPs一般時(shí)鐘頻率為200~500MHz,具有超標(biāo)量、SIMD結(jié)構(gòu),單周期乘法操作,好的存儲(chǔ)器帶寬,轉(zhuǎn)移預(yù)測(cè)功能,因此GPPs正在涉足DSP領(lǐng)域。但由于GPPs缺乏實(shí)時(shí)可預(yù)測(cè)性,優(yōu)化DSP代碼困難,有限的DSP工具支持,高功耗等問(wèn)題,因此GPPs目前在DSP中的應(yīng)用還有限。但瞄準(zhǔn)嵌入系統(tǒng)應(yīng)用的高性能GPPs與DSPs進(jìn)行混合,形成專用的嵌入GPPs,如Hitachi的SH-DSP,ARM的Piccolo,Siemens的TriCore。嵌入GPPs保留原有的高性能,并加強(qiáng)DSP實(shí)時(shí)預(yù)測(cè)、控制等方面的能力,與專用DSP處理器形成了對(duì)照。
在DSPs綜合集成方面,處理器核和快速用戶可定制能力是重要的。預(yù)計(jì)在最近幾年內(nèi)將出現(xiàn)和流行:用戶可定制DSPs,塊組建DSPs,可編程整數(shù)DSPs,DSPs化現(xiàn)場(chǎng)可編程門陣列(FPGAs),更專用化的DSPs,多媒體DSPs等。更令人鼓舞的是未來(lái)DSP處理器將集成DSP處理器核,微控制器,存儲(chǔ)器RAM和ROM,串行口,模數(shù)轉(zhuǎn)換器,數(shù)模轉(zhuǎn)換器,用戶定義數(shù)字電路,用戶定義模擬電路等,因此DSP處理系統(tǒng)一般將不再是若干印制板(如信號(hào)調(diào)理板,A/D板,D/A板,接口定時(shí)板等)組成的大系統(tǒng)。
由于DSPS結(jié)構(gòu)的多樣化,DSPS性能測(cè)試將變得更加困難,MIPS、MOPS、MFLOPS、BOPS等指標(biāo)將越來(lái)越不能準(zhǔn)確反映DSPS的性能,因此需要更細(xì)更專業(yè)化的測(cè)試評(píng)價(jià)標(biāo)準(zhǔn)。對(duì)具體應(yīng)用來(lái)說(shuō),某些單項(xiàng)功能測(cè)試結(jié)果,可能顯得更重要。
隨著DSPs性能的提高,開發(fā)工具可能比處理器結(jié)構(gòu)將更重要,因?yàn)橹挥杏行У拈_發(fā)工具,才能使處理器得到普遍使用,并使性能充分發(fā)揮。片上Debug是實(shí)時(shí)調(diào)試的最好手段,它將采用與JTAG兼容的Debug口。C編譯器的效率仍然是重點(diǎn),如何方便容易地進(jìn)行有效代碼開發(fā)是關(guān)鍵。指令軟件仿真器顯得更重要,更精確的指令軟件仿真器將得到開發(fā)。多類型DSP調(diào)試開發(fā)工具將混合集成在一起。DSPs開發(fā)工具將是一個(gè)充滿機(jī)遇和挑戰(zhàn)的領(lǐng)域。
DSP處理器存在兩種發(fā)展趨勢(shì):一是DSP應(yīng)用越來(lái)越多,如手機(jī)和便攜式音頻播放器等。DSP將集成更多功能,如A/D轉(zhuǎn)換、LCD控制器等,系統(tǒng)成本和器件數(shù)將會(huì)大為降低。另一個(gè)趨勢(shì)是將DSP作為IP出售,如億恒科技公司的Camel和TriCore內(nèi)核。隨著EDA工具的不斷成熟,系統(tǒng)設(shè)計(jì)工程師將更容易地修改DSP內(nèi)核,加入用戶專用外圍電路以實(shí)現(xiàn)更專業(yè)化、更低成本的DSP解決方案。
80年代還屬于少數(shù)人研究的數(shù)字信號(hào)處理(DSP),進(jìn)入90年代以來(lái),已逐漸成為人們最常用的工程術(shù)語(yǔ)之一。處理器應(yīng)用廣泛的原因在于,處理器的制造技術(shù)發(fā)展得極為先進(jìn),使處理器的成本下降到這一水平:它可用在消費(fèi)品和其它對(duì)成本敏感的系統(tǒng)中;處理器的處理速度上升到這一水平:它可滿足大部分高速實(shí)時(shí)信號(hào)處理的需求。在產(chǎn)品中越來(lái)越多地使用DSP處理器,加劇了對(duì)更快、更便宜、更節(jié)省能量的DSP處理器的開發(fā)和迅速發(fā)展。
DSP處理器(DSPs)的品種越來(lái)越繁多,除了大家熟知的四大DSPs產(chǎn)商:TexasInstruments(德州儀器)公司、Lucent Technologies(朗訊技術(shù))公司、Analog
Devies(模擬設(shè)備)公司和Motorola(摩托羅拉)公司,大約還有80家DSPs產(chǎn)商。它們生產(chǎn)的DSPs主要用于特殊功能的設(shè)備,如調(diào)制解調(diào)器、MPEG譯碼器、硬盤驅(qū)動(dòng)器等。DSP處理器可分為兩大類:定點(diǎn)DSPs和浮點(diǎn)DSPs。定點(diǎn)DSPs發(fā)展迅速,品種最多,處理速度為20~2000MIPS。浮點(diǎn)DSPs基本由TI和AD公司壟斷,處理速度40~1000MFLOPS。DSPs的性能已形成低、中、高三檔,高端產(chǎn)品處理器結(jié)構(gòu)發(fā)生了深刻的變化,形成了多樣化的趨勢(shì)。
數(shù)字信號(hào)處理器選購(gòu)指南
DSP處理器的應(yīng)用領(lǐng)域很廣,但實(shí)際上沒(méi)有一個(gè)處理器能完全滿足所有的或絕大多數(shù)應(yīng)用需要,設(shè)計(jì)工程師在選擇處理器時(shí)需要根據(jù)性能、成本、集成度、開發(fā)的難易程度以及功耗等因素進(jìn)行綜合考慮。
DSP器件按設(shè)計(jì)要求可以分為兩類。第一類,應(yīng)用領(lǐng)域?yàn)榱畠r(jià)的、大規(guī)模嵌入式應(yīng)用系統(tǒng),如手機(jī)、磁盤驅(qū)動(dòng)(DSP用作伺服電機(jī)控制)以及便攜式數(shù)字音頻播放器等。在這些應(yīng)用中價(jià)格和集成度是最重要的考慮因素。對(duì)于便攜式電池供電的設(shè)備,功耗也是一個(gè)關(guān)鍵的因素。盡管這些應(yīng)用常常需要開發(fā)運(yùn)行于DSP的客戶應(yīng)用軟件和外圍支持硬件,但易于開發(fā)的要求仍然是次要的因素,因?yàn)榕可a(chǎn)可以分?jǐn)傞_發(fā)成本,從而降低單位產(chǎn)品的開發(fā)成本。
另外一類是需要用復(fù)雜算法對(duì)大量數(shù)據(jù)進(jìn)行處理的應(yīng)用,例如聲納探測(cè)和地震探測(cè)等,也需要用DSP器件。該類設(shè)備的批量一般較小、算法要求苛刻、產(chǎn)品很大而且很復(fù)雜。所以設(shè)計(jì)工程師在選擇處理器時(shí)會(huì)盡量選擇性能最佳、易于開發(fā)并支持多處理器的DSP器件。有時(shí),設(shè)計(jì)工程師更喜歡選用現(xiàn)成的開發(fā)板來(lái)開發(fā)系統(tǒng)而不是從零開始硬件和軟件設(shè)計(jì),同時(shí)可以采用現(xiàn)成的功能庫(kù)文件開發(fā)應(yīng)用軟件。
在實(shí)際設(shè)計(jì)時(shí)應(yīng)根據(jù)具體的應(yīng)用選擇合適的DSP。不同的DSP有不同的特點(diǎn),適用于不同的應(yīng)用,在選擇時(shí)可以遵循以下要點(diǎn)。
DSP開發(fā)的簡(jiǎn)便性
對(duì)不同的應(yīng)用來(lái)說(shuō),對(duì)開發(fā)簡(jiǎn)便性的要求不一樣。對(duì)于研究和樣機(jī)的開發(fā),一般要求系統(tǒng)工具能便于開發(fā)。而如果公司在開發(fā)下一代手機(jī)產(chǎn)品,成本是最重要的因素,只要能降低最終產(chǎn)品的成本,一般他們?cè)敢獬惺芎軣┈嵉拈_發(fā),采用復(fù)雜的開發(fā)工具(當(dāng)然如果大大延遲了產(chǎn)品上市的時(shí)間則是另一回事)。
因此選擇DSP時(shí)需要考慮的因素有軟件開發(fā)工具(包括匯編、鏈接、仿真、調(diào)試、編譯、代碼庫(kù)以及實(shí)時(shí)操作系統(tǒng)等部分)、硬件工具(開發(fā)板和仿真機(jī))和高級(jí)工具(例如基于框圖的代碼生成環(huán)境)。利用這些工具的設(shè)計(jì)過(guò)程如圖4所示。
選擇DSP器件時(shí)常有如何實(shí)現(xiàn)編程的問(wèn)題。一般設(shè)計(jì)工程師選擇匯編語(yǔ)言或高級(jí)語(yǔ)言(如C或Ada),或兩者相結(jié)合的辦法。現(xiàn)在大部分的DSP程序采用匯編語(yǔ)言,由于編譯器產(chǎn)生的匯編代碼一般未經(jīng)最優(yōu)化,需要手動(dòng)進(jìn)行程序優(yōu)化,降低程序代碼大小和使流程更合理,進(jìn)一步加快程序的執(zhí)行速度。這樣的工作對(duì)于消費(fèi)類電子產(chǎn)品很有意義,因?yàn)橥ㄟ^(guò)代碼的優(yōu)化能彌補(bǔ)DSP性能的不足。
使用高級(jí)語(yǔ)言編譯器的設(shè)計(jì)工程師會(huì)發(fā)現(xiàn),浮點(diǎn)DSP編譯器的執(zhí)行效果比定點(diǎn)DSP好,這有幾個(gè)原因:首先,多數(shù)的高級(jí)語(yǔ)言本身并不支持小數(shù)算法;其次,浮點(diǎn)處理器一般比定點(diǎn)處理器具有更規(guī)則的指令,指令限制少,更適合編譯器處理;第三,由于浮點(diǎn)處理器支持更大的存儲(chǔ)器,能提供足夠的空間。編譯器產(chǎn)生的代碼一般比手動(dòng)生成的代碼更大。
不管是用高級(jí)語(yǔ)言還是匯編語(yǔ)言實(shí)現(xiàn)編程,都必須注意調(diào)試和硬件仿真工具的使用,因?yàn)楹艽笠徊糠值拈_發(fā)時(shí)間會(huì)花在這里。幾乎所有的生產(chǎn)商都提供指令集仿真器,在硬件完成之前,采用指令集仿真器對(duì)軟件調(diào)試很有幫助。如果所用的是高級(jí)語(yǔ)言,對(duì)高級(jí)語(yǔ)言調(diào)試器功能進(jìn)行評(píng)估很重要,包括能否與模擬機(jī)和/或硬件仿真器一起運(yùn)行等性能。
大多數(shù)DSP銷售商提供硬件仿真工具,現(xiàn)在許多處理器具有片上調(diào)試/仿真功能,通過(guò)采用IEEE1149.1JTAG標(biāo)準(zhǔn)的串行接口訪問(wèn)。該串行接口允許基于掃描的仿真,即程序員通過(guò)該接口加載斷點(diǎn),然后通過(guò)掃描處理器內(nèi)部寄存器來(lái)查看處理器到達(dá)斷點(diǎn)后寄存器的內(nèi)容并進(jìn)行修改。
很多的生產(chǎn)商都可以提供現(xiàn)成的DSP開發(fā)系統(tǒng)板。在硬件沒(méi)有開發(fā)完成之前可用開發(fā)板實(shí)現(xiàn)軟件實(shí)時(shí)運(yùn)行調(diào)試,這樣可以提高最終產(chǎn)品的可制造性。對(duì)于一些小批量系統(tǒng)甚至可以用開發(fā)板作為最終產(chǎn)品電路板。
支持多處理器
在某些數(shù)據(jù)計(jì)算量很大的應(yīng)用中,經(jīng)常要求使用多個(gè)DSP處理器。在這種情況下,多處理器互連和互連性能(關(guān)于相互間通信流量、開銷和時(shí)間延遲)成為重要的考慮因素。如ADI的ADSP-2106X系列提供了簡(jiǎn)化多處理器系統(tǒng)設(shè)計(jì)的專用硬件。
電源管理和功耗
DSP器件越來(lái)越多地應(yīng)用在便攜式產(chǎn)品中,在這些應(yīng)用中功耗是一個(gè)重要的考慮因素,因而DSP生產(chǎn)商盡量在產(chǎn)品內(nèi)部加入電源管理并降低工作電壓以減小系統(tǒng)的功耗。在某些DSP器件中的電源管理功能包括:
a.降低工作電壓:許多生產(chǎn)商提供低電壓DSP版本(3.3V,2.5V,或1.8V),這種處理器在相同的時(shí)鐘下功耗遠(yuǎn)遠(yuǎn)低于5V供電的同類產(chǎn)品。
b.“休眠”或“空閑”模式:絕大多數(shù)處理器具有關(guān)斷處理器部分時(shí)鐘的功能,降低功耗。在某些情況下,非屏蔽的中斷信號(hào)可以將處理器從“休眠”模式下恢復(fù),而在另外一些情況下,只有設(shè)定的幾個(gè)外部中斷才能喚醒處理器。有些處理器可以提供不同省電功能和時(shí)延的多個(gè)“休眠”模式。
c.可編程時(shí)鐘分頻器:某些DSP允許在軟件控制下改變處理器時(shí)鐘,以便在某個(gè)特定任務(wù)時(shí)使用最低時(shí)鐘頻率來(lái)降低功耗。
d.外圍控制:一些DSP器件允許程序停止系統(tǒng)未用到的外圍電路的工作。
不管電源管理特性怎么樣,設(shè)計(jì)工程師要獲得優(yōu)秀的省電設(shè)計(jì)很困難,因?yàn)?/span>DSP的功耗隨所執(zhí)行的指令不同而不同。多數(shù)生產(chǎn)商所提供的功耗指標(biāo)為典型值或最大值,而TI公司給出的指標(biāo)是一個(gè)例外,該公司的應(yīng)用實(shí)例中詳細(xì)地說(shuō)明了在執(zhí)行不同指令和不同配置下的功耗。
成本因素
在滿足設(shè)計(jì)要求條件下要盡量使用低成本DSP,即使這種DSP編程難度很大而且靈活性差。在處理器系列中,越便宜的處理器功能越少,片上存儲(chǔ)器也越小,性能也比價(jià)格高的處理器差。
封裝不同的DSP器件價(jià)格也存在差別。例如,PQFP和TQFP封裝比PGA封裝便宜得多。
在考慮到成本時(shí)要切記兩點(diǎn)。首先,處理器的價(jià)格在持續(xù)下跌;第二點(diǎn),價(jià)格還依賴于批量,如10,000片的單價(jià)可能會(huì)比1,000片的單價(jià)便宜很多。
各大手機(jī)應(yīng)用商城搜索“拍明芯城”
下載客戶端,隨時(shí)隨地買賣元器件!