?
說到專用處理器,我們不得不講一講 DSP,它強大的計算能力曾經(jīng)一度讓通用 MCU 望塵莫及。
數(shù)字信號處理器(Digital Signal Processor,DSPs),由大規(guī)?;虺?a class="article-link" target="_blank" href="/baike/514439.html">大規(guī)模集成電路心片組成的,用來完成某種信號處理任務(wù)的處理器。是進行數(shù)字信號處理的專用芯片,是伴隨著微電子學(xué)、數(shù)字信號處理技術(shù)、計算機技術(shù)的發(fā)展而產(chǎn)生的新器件。隨著集成電路技術(shù)和數(shù)字信號處理算法的發(fā)展,數(shù)字信號處理器的實現(xiàn)方法也在不斷變化,處理功能不斷提高和擴大。
(1) DSP 芯片的特點
DSP 芯片的內(nèi)部采用程序和數(shù)據(jù)分開的哈佛結(jié)構(gòu),具有專門的硬件乘法器,廣泛采用流水線操作,提供特殊的 DSP 指令,可以用來快速的實現(xiàn)各種數(shù)字信號處理算法根據(jù)數(shù)字信號處理的要求,DSP 芯片一般具有如下的一些主要特點:
- 在一個指令周期內(nèi)可完成一次乘法和一次加法。
- 程序和數(shù)據(jù)空間分開,可以同時訪問指令和數(shù)據(jù)。
- 片內(nèi)具有快速 RAM,通常可通過獨立的數(shù)據(jù)總線在兩塊中同時訪問。
- 具有低開銷或無開銷循環(huán)及跳轉(zhuǎn)的硬件支持。
- 快速的中斷處理和硬件 I/O 支持。
- 具有在單周期內(nèi)操作的多個硬件地址產(chǎn)生器。
- 可以并行執(zhí)行多個操作。
- 支持流水線操作,取指、譯碼和執(zhí)行等操作可以重疊執(zhí)行。
與通用微處理器相比,諸如 Pentium 或 PowerPC 的通用處理器(GPPs),DSP 處理器有很大的區(qū)別,這些區(qū)別產(chǎn)生于 DSPs 的結(jié)構(gòu)和指令是專門針對信號處理而設(shè)計和開發(fā)的,它具有以下特點。
DSPs 的特點信息表
特點概述 |
詳細描述 |
硬件乘法累加操作(MACs) |
|
哈佛結(jié)構(gòu) |
|
零消耗循環(huán)控制 |
|
特殊尋址模式 |
|
執(zhí)行時間的可預(yù)測性 |
|
具有豐富的外設(shè) |
(2) DSP 芯片的分類
DSP 芯片可以按照下列三種方式進行分類,如下圖所示。
DSP 分類圖
各類型 DSP 芯片的描述
類型 |
描述 |
代表性芯片 |
工作時鐘型 |
|
|
指令型 |
|
|
定點 DSP 芯片 |
|
|
浮點 DSP 芯片 |
|
|
通用型 |
|
|
專用型 |
|
? |
?
上表為各類 DSP 的基本描述,關(guān)于 DSP 的類型,補充如下內(nèi)容:
關(guān)于浮點 DSP。
浮點 DSP 在應(yīng)用中,設(shè)計工程師不用關(guān)心動態(tài)范圍和精度一類的問題。浮點 DSP 比定點 DSP 更容易編程,但是成本和功耗高。由于成本和功耗的原因,一般批量產(chǎn)品選用定點 DSP。編程和算法設(shè)計人員通過分析或仿真來確定所需要的動態(tài)范圍和精度。如果要求易于開發(fā),而且動態(tài)范圍很寬、精度很高,可以考慮采用浮點 DSP。
也可以在采用定點 DSP 的條件下由軟件實現(xiàn)浮點計算,但是這樣的軟件程序會占用大量處理器時間,因而很少使用。有效的辦法是“塊浮點”,利用該方法將具有相同指數(shù),而尾數(shù)不同的一組數(shù)據(jù)作為數(shù)據(jù)塊進行處理?!皦K浮點”處理通常用軟件來實現(xiàn)。
不同浮點 DSP 芯片所采用的浮點格式不完全一樣,有的 DSP 芯片采用自定義的浮點格式,如 TMS320C3X,而有的 DSP 芯片則采用 IEEE 的標準浮點格式,如 Motorola 公司的 MC96002、FUJITSU 公司的 MB86232 和 ZORAN 公司的 ZR35325 等。
專用 DSP 芯片是為特定的 DSP 運算而設(shè)計的,更適合特殊的運算。
專用 DSP 芯片特點
? |
說明 |
優(yōu)點 |
|
缺點 |
|
應(yīng)用 |
|
增強型 DSP
以前,DSP 處理器使用復(fù)雜的、混合的指令集,使編程者可以把多個操作編碼在一條指令中。傳統(tǒng)上 DSP 處理器在一條指令周期只發(fā)射并執(zhí)行一條指令。這種單流、復(fù)雜指令的方法使得 DSP 處理器獲得很強大的性能而無需大量的內(nèi)存。在保持 DSP 結(jié)構(gòu)和上述指令集不變的情況下,要提高每個指令的工作量,其中的一個辦法是用額外的執(zhí)行單元和增加數(shù)據(jù)通路。例如,一些高端的 DSP 有兩個乘法器,而不是一個。
把使用這種方法的 DSP 稱作增強型 DSP,因為它們的結(jié)構(gòu)與前一代的 DSP 相似,但性能在增加執(zhí)行單元后大大增強了。當然,指令集必須也同時增強,這樣編程者才能在一條指令中指定更多的并行操作,以利用額外的硬件。
增強型 DSPs 的優(yōu)點是兼容性好,而且與較早的 DSP 具有相似的成本和功耗。缺點是結(jié)構(gòu)復(fù)雜、指令復(fù)雜,進一步發(fā)展有限。典型的產(chǎn)品如:朗訊公司的 DSP16000,ADI 的 ADSP2116x
?VLIW(Very Long Instruction Word,超長指令字)結(jié)構(gòu)
如前所述,傳統(tǒng)上的 DSP 處理器使用復(fù)雜的混合指令,并在一條指令循環(huán)中只流出和執(zhí)行一條指令。然而,最近有些 DSP 采用一種更 RISC 化的指令集,并且在一條指令周期執(zhí)行多條指令,使用大的統(tǒng)一的寄存器堆。例如:Siemems 的 Carmel、Philips 的 TriMedia 和 TI 的 TMS320C62XX 處理器族都使用了 VLIW 結(jié)構(gòu)。
VLIW 結(jié)構(gòu)一種非常長的指令組合,它把許多條指令連在一起,增加了運算的速度。例如:C62xx 處理器每次取一個 256 位的指令包,把包解析為 8 個 32 位的指令,然后把它們引到其 8 個獨立的執(zhí)行單元。在最好的情況下,C62xx 同時執(zhí)行 8 個指令,在這種情況下達到了極高的 MIPS 率(如 1600MIPS)。
VLIW 結(jié)構(gòu)的優(yōu)點是高性能、結(jié)構(gòu)規(guī)整。缺點是高功耗、代碼膨脹-需要寬的程序存儲器、新的編程 / 編譯困難。
?
超標量體系結(jié)構(gòu)(Superscalar Architectures)
如 VLIW 處理器一樣,超標量體系結(jié)構(gòu)并行地流出和執(zhí)行多個指令。但跟 VLIW 處理器不同的是,超標量體系結(jié)構(gòu)不清楚指定需要并行處理的指令,而是使用動態(tài)指令規(guī)劃,根據(jù)處理器可用的資源,數(shù)據(jù)依賴性和其他的因素來決定哪些指令要被同時執(zhí)行。超標量體系結(jié)構(gòu)已經(jīng)長期用于高性能的通用處理器中,如 Pentium 和 PowerPC。
ZSP 公司開發(fā)出第一個商業(yè)的超標量體系結(jié)構(gòu)的 DSPZSP164xx。超標量結(jié)構(gòu)的優(yōu)點是性能有大的跨越、結(jié)構(gòu)規(guī)整、代碼寬度沒有明顯增長。缺點是非常高的功耗、指令的動態(tài)安排使代碼優(yōu)化困難。
芯原股份有限公司的 ZSP 系列
SIMD(Single Intructionstream Multiple Datastream, 單指令多數(shù)據(jù)流)結(jié)構(gòu)
SIMD 處理器把輸入的長的數(shù)據(jù)分解為多個較短的數(shù)據(jù),然后由單指令并行地操作,從而提高處理海量、可分解數(shù)據(jù)的能力。該技術(shù)能大幅度地提高在多媒體和信號處理中大量使用的一些矢量操作的計算速度,如坐標變換和旋轉(zhuǎn)。
通用處理器 SIMD 增強的兩個例子是 Pentium 的 MMX 擴展和 PowerPC 族的 AltiVec 擴展。SIMD 在一些高性能的 DSP 處理器中也有應(yīng)用。例如,DSP16000 在其數(shù)據(jù)路中支持有限的 SIMD 風(fēng)格的操作,而 AnalogDevices 最近推出了有名的 SHARC 的新一代 DSP 處理器,進行了 SIMD 能力的擴展。
SIMD 結(jié)構(gòu)由于使總線、數(shù)據(jù)通道等資源充分使用,并無需改變信號處理(含圖象、語音)算法的基本結(jié)構(gòu),因此 SIMD 結(jié)構(gòu)使用越來越普遍。SIMD 結(jié)構(gòu)遇到的問題是算法、數(shù)據(jù)結(jié)構(gòu)必須滿足數(shù)據(jù)并行處理的要求,為了加速,循環(huán)常常需要被拆開,處理數(shù)據(jù)需要重新安排調(diào)整。通常 SIMD 僅支持定點運算。
DSP/ 微控制器的混合結(jié)構(gòu)
許多的應(yīng)用需要以控制為主的軟件和 DSP 軟件的混合。
一個明顯的例子是數(shù)字蜂窩電話,因為其中有監(jiān)控和語音處理的工作。一般地,微處理器在控制上能提供良好的性能而在 DSP 性能上則很糟,專用的 DSP 處理器的特性則剛好相反。因此,有一些微處理器產(chǎn)商開始提供 DSP 增強版本的微處理器。用單處理器完成兩種軟件的任務(wù)是很有吸引力的,因為其可以潛在地提供簡化設(shè)計,節(jié)省版面空間,降低總功耗,降低系統(tǒng)成本等。
隨著對 DSP 能力需求的提高,DSP 處理器結(jié)構(gòu)正在進行新的和革新的設(shè)計,DSP、MCU、CPU 的結(jié)構(gòu)優(yōu)點相互借用。
(4) DSP 的應(yīng)用
DSP 廣泛的應(yīng)用于通信與信息系統(tǒng)、信號與信息處理、自動控制、雷達、軍事、航空航天、醫(yī)療、家用電器等許多領(lǐng)域。以往是采用通用的微處理器來完成大量數(shù)字信號處理運算,速度較慢,難以滿足實際需要;而同時使用位片式微處理器和快速并聯(lián)乘法器,曾經(jīng)是實現(xiàn)數(shù)字信號處理的有效途徑,但此方法器件較多,邏輯設(shè)計和程序設(shè)計復(fù)雜,耗電較大,價格昂貴。
DSP 的出現(xiàn),很好的解決了上述問題。DSP 可以快速的實現(xiàn)對信號的采集、變換、濾波、估值、增強、壓縮、識別等處理,以得到符合人們需要的信號形式。典型的應(yīng)用如下:
- 語音處理:語音編碼、語音合成、語音識別、語音增強、語音郵件、語音儲存等。
- 圖像 / 圖形:二維和三維圖形處理、圖像壓縮與傳輸、圖像識別、動畫、機器人視覺、多媒體、電子地圖、圖像增強等。
- 軍事;保密通信、雷達處理、聲吶處理、導(dǎo)航、全球定位、跳頻電臺、搜索和反搜索等。
- 儀器儀表:頻譜分析、函數(shù)發(fā)生、數(shù)據(jù)采集、地震處理等。
- 自動控制:控制、深空作業(yè)、自動駕駛、機器人控制、磁盤控制等。
- 醫(yī)療:助聽、超聲設(shè)備、診斷工具、病人監(jiān)護、心電圖等。
- 家用電器:數(shù)字音響、數(shù)字電視、可視電話、音樂合成、音調(diào)控制、玩具與游戲等。
- 生物醫(yī)學(xué)信號處理舉例:CT,計算機 X 射線斷層攝影裝置。(其中發(fā)明頭顱 CT 英國 EMI 公司的豪斯菲爾德獲諾貝爾獎。)CAT,計算機 X 射線空間重建裝置。出現(xiàn)全身掃描,心臟活動立體圖形,腦腫瘤異物,人體軀干圖像重建。心電圖分析。
(5) DSP 發(fā)展趨勢
DSP 從 20 世紀 70 年代的專用信號處理器開始,發(fā)展到今天的 VLSI 陣列處理器,其應(yīng)用領(lǐng)域已經(jīng)從最初的語音、聲納等低頻信號的處理發(fā)展到今天雷達、圖像等視頻大數(shù)據(jù)量的信號處理。由于浮點運算和并行處理技術(shù)的利用,信號處理器理能力已得到極大的提高。DSP 還將繼續(xù)沿著提高處理速度和運算精度兩個方向發(fā)展在體系結(jié)構(gòu)上數(shù)據(jù)流結(jié)構(gòu)以至人工神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)等將可能成為下一代數(shù)字信號處理器的基本結(jié)構(gòu)模式。
DSP 處理器存在兩種發(fā)展趨勢:
一是 DSP 應(yīng)用越來越多,如手機和便攜式音頻播放器等。DSP 將集成更多功能,如 A/D 轉(zhuǎn)換、LCD 控制器等,系統(tǒng)成本和器件數(shù)將會大為降低。
另一個趨勢是將 DSP 作為 IP 出售,如:億恒科技公司的 Camel 和 TriCore 內(nèi)核。隨著 EDA 工具的不斷成熟,系統(tǒng)設(shè)計工程師將更容易地修改 DSP 內(nèi)核,加入用戶專用外圍電路以實現(xiàn)更專業(yè)化、更低成本的 DSP 解決方案。
?
與非網(wǎng)原創(chuàng)內(nèi)容,不經(jīng)允許,謝絕轉(zhuǎn)載!
本系列更多內(nèi)容,請參照:處理器史話匯總。