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