加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

處理器史話 | DSP獨霸一方,靠得就是這些強大的算法

2017/02/25
17
閱讀需 56 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

?

說到專用處理器,我們不得不講一講 DSP,它強大的計算能力曾經(jīng)一度讓通用 MCU 望塵莫及。

數(shù)字信號處理器(Digital Signal Processor,DSPs),由大規(guī)?;虺?a class="article-link" target="_blank" href="/baike/514439.html">大規(guī)模集成電路心片組成的,用來完成某種信號處理任務的處理器。是進行數(shù)字信號處理的專用芯片,是伴隨著微電子學、數(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)

  • 為了有效完成諸如信號濾波的乘法累加運算,處理器必需進行有效的乘法操作。
  • GPPs 起初并不是為繁重的乘法操作設(shè)計的,把 DSPs 同早期的 GPPs 區(qū)別開來的第一個重大技術(shù)改進就是添加了能夠進行單周期乘法操作的專門硬件和明確的 MAC 指令。

哈佛結(jié)構(gòu)

  • DSPs 一般使用哈佛結(jié)構(gòu)。在哈佛結(jié)構(gòu)中,有兩個存儲空間:程序存儲空間和數(shù)據(jù)存儲空間。處理器內(nèi)核通過兩套總線與這些存儲空間相連,允許對存儲器同時進行兩訪問,這種安排使處理器的帶寬加倍。

零消耗循環(huán)控制

  • 零消耗循環(huán)是指處理器不用花時間測試循環(huán)計數(shù)器的值就能執(zhí)行一組指令的循環(huán),硬件完成循環(huán)跳轉(zhuǎn)和循環(huán)計數(shù)器的衰減。
  • DSP 算法的共同特征:大部分處理時間花在執(zhí)行包含在相對小循環(huán)內(nèi)的少量指令上。因此,大部分 DSP 處理器具有零消耗循環(huán)控制的專門硬件。有些 DSPs 還通過一條指令的超高速緩存實現(xiàn)高速的單指令循環(huán)。

特殊尋址模式

  • DSPs 經(jīng)常包含有專門的地址產(chǎn)生器,它能產(chǎn)生信號處理算法需要的特殊尋址,如循環(huán)尋址和位翻轉(zhuǎn)尋址。
  • 循環(huán)尋址對應于流水 FIR 濾波算法,位翻轉(zhuǎn)尋址對應于 FFT 算法。

執(zhí)行時間的可預測性

  • 大多數(shù) DSP 應用都具有硬性實時要求,在每種情況下所有處理工作都必須在指定時間內(nèi)完成。這種實時限制要求程序設(shè)計者確定每個樣本究竟需要多少時間或者在最壞情況下至少用去多少時間。
  • DSPs 執(zhí)行程序的進程對程序員來說是透明的,因此很容易預測處理每項工作的執(zhí)行時間。

具有豐富的外設(shè)

  • DSPs 具有 DMA、串口、Link 口、定時器等外設(shè)。

(2) DSP 芯片的分類
DSP 芯片可以按照下列三種方式進行分類,如下圖所示。


DSP 分類圖


各類型 DSP 芯片的描述

類型

描述

代表性芯片

工作時鐘型

  • 如果在某時鐘頻率范圍內(nèi)的任何時鐘頻率上,DSP 芯片都能正常工作,除計算速度有變化外,沒有性能的下降。
  • 這類 DSP 芯片一般稱為靜態(tài) DSP 芯片。
  • OKI 電氣公司的 DSP 芯片
  • TI 公司的 TMS320C2XX 系列芯片

指令型

  • 如果有兩種或兩種以上的 DSP 芯片,它們的指令集和相應的機器代碼機管腳結(jié)構(gòu)相互兼容。
  • 這類 DSP 芯片稱為一致性 DSP 芯片。
  • TI 公司的 TMS320C54X

定點 DSP 芯片

  • 絕大多數(shù)的 DSP 處理器使用定點算法,數(shù)字表示為整數(shù)或 -1.0 到+1.0 之間的小數(shù)形式。
  • 有些處理器采用浮點算法,數(shù)據(jù)表示成尾數(shù)加指數(shù)的形式:尾數(shù)×2 指數(shù)。
  • TI:TMS320C1X/C2X、TMS320C2XX/C5X、TMS320C54X/C62XX 系列
  • AD:ADSP21XX 系列
  • AT&T:DSP16/16A
  • Motolora:MC56000

浮點 DSP 芯片

  • 浮點算法是一種較復雜的常規(guī)算法,利用浮點數(shù)據(jù)可以實現(xiàn)大的數(shù)據(jù)動態(tài)范圍(這個動態(tài)范圍可以用最大和最小數(shù)的比值來表示)。
  • TI:TMS320C3X/C4X/C8X
  • AD:ADSP21XXX 系列
  • Motolora:MC96002
  • AT&T 公司的 DSP32/32C

通用型

  • 通用型 DSP 芯片適合普通的 DSP 應用
  • TI 公司的一系列 DSP 芯片

專用型

  • 為特定的 DSP 運算而設(shè)計的,更適合特殊的運算

?

?


上表為各類 DSP 的基本描述,關(guān)于 DSP 的類型,補充如下內(nèi)容:


關(guān)于浮點 DSP。


浮點 DSP 在應用中,設(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)點

  1. 大規(guī)模集成性
  2. 穩(wěn)定性好,精度高
  3. 可編程
  4. 高速性能
  5. 可嵌入性
  6. 接口和集成方便

缺點

  1. 成本較高
  2. 高頻時鐘的高頻干擾
  3. 功率消耗較大等

應用

  1. 信號處理
  2. 圖像處理
  3. 儀器
  4. 聲音語言
  5. 控制
  6. 軍事
  7. 通訊
  8. 醫(yī)療
  9. 家用電器
DSP 其它結(jié)構(gòu)


增強型 DSP
以前,DSP 處理器使用復雜的、混合的指令集,使編程者可以把多個操作編碼在一條指令中。傳統(tǒng)上 DSP 處理器在一條指令周期只發(fā)射并執(zhí)行一條指令。這種單流、復雜指令的方法使得 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ā)展有限。典型的產(chǎn)品如:朗訊公司的 DSP16000,ADI 的 ADSP2116x


?VLIW(Very Long Instruction Word,超長指令字)結(jié)構(gòu)
如前所述,傳統(tǒng)上的 DSP 處理器使用復雜的混合指令,并在一條指令循環(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 處理器中也有應用。例如,DSP16000 在其數(shù)據(jù)路中支持有限的 SIMD 風格的操作,而 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)
許多的應用需要以控制為主的軟件和 DSP 軟件的混合。
一個明顯的例子是數(shù)字蜂窩電話,因為其中有監(jiān)控和語音處理的工作。一般地,微處理器在控制上能提供良好的性能而在 DSP 性能上則很糟,專用的 DSP 處理器的特性則剛好相反。因此,有一些微處理器產(chǎn)商開始提供 DSP 增強版本的微處理器。用單處理器完成兩種軟件的任務是很有吸引力的,因為其可以潛在地提供簡化設(shè)計,節(jié)省版面空間,降低總功耗,降低系統(tǒng)成本等。


隨著對 DSP 能力需求的提高,DSP 處理器結(jié)構(gòu)正在進行新的和革新的設(shè)計,DSP、MCU、CPU 的結(jié)構(gòu)優(yōu)點相互借用。


(4) DSP 的應用
DSP 廣泛的應用于通信與信息系統(tǒng)、信號與信息處理、自動控制、雷達、軍事、航空航天、醫(yī)療、家用電器等許多領(lǐng)域。以往是采用通用的微處理器來完成大量數(shù)字信號處理運算,速度較慢,難以滿足實際需要;而同時使用位片式微處理器和快速并聯(lián)乘法器,曾經(jīng)是實現(xiàn)數(shù)字信號處理的有效途徑,但此方法器件較多,邏輯設(shè)計和程序設(shè)計復雜,耗電較大,價格昂貴。


DSP 的出現(xiàn),很好的解決了上述問題。DSP 可以快速的實現(xiàn)對信號的采集、變換、濾波、估值、增強、壓縮、識別等處理,以得到符合人們需要的信號形式。典型的應用如下:

  • 語音處理:語音編碼、語音合成、語音識別、語音增強、語音郵件、語音儲存等。
  • 圖像 / 圖形:二維和三維圖形處理、圖像壓縮與傳輸、圖像識別、動畫、機器人視覺、多媒體、電子地圖、圖像增強等。
  • 軍事;保密通信、雷達處理、聲吶處理、導航、全球定位、跳頻電臺、搜索和反搜索等。
  • 儀器儀表:頻譜分析、函數(shù)發(fā)生、數(shù)據(jù)采集、地震處理等。
  • 自動控制:控制、深空作業(yè)、自動駕駛、機器人控制、磁盤控制等。
  • 醫(yī)療:助聽、超聲設(shè)備、診斷工具、病人監(jiān)護、心電圖等。
  • 家用電器:數(shù)字音響、數(shù)字電視、可視電話、音樂合成、音調(diào)控制、玩具與游戲等。
  • 生物醫(yī)學信號處理舉例:CT,計算機 X 射線斷層攝影裝置。(其中發(fā)明頭顱 CT 英國 EMI 公司的豪斯菲爾德獲諾貝爾獎。)CAT,計算機 X 射線空間重建裝置。出現(xiàn)全身掃描,心臟活動立體圖形,腦腫瘤異物,人體軀干圖像重建。心電圖分析。

(5) DSP 發(fā)展趨勢
DSP 從 20 世紀 70 年代的專用信號處理器開始,發(fā)展到今天的 VLSI 陣列處理器,其應用領(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 應用越來越多,如手機和便攜式音頻播放器等。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)容,請參照:處理器史話匯總

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

1996畢業(yè)于華東理工大學自控系,同年7月進入某大型國企擔任電氣員。2000年轉(zhuǎn)行從事硬件研發(fā)相關(guān)工作;后從事RFID相關(guān)產(chǎn)品的研發(fā)、設(shè)計,曾參與中國自動識別協(xié)會RFID行業(yè)標準的起草;歷任硬件工程師、主管設(shè)計師、項目經(jīng)理、部門經(jīng)理;2012年至今,就職于沈陽工學院,擔任電子信息工程專業(yè)教師,研究方向:自動識別技術(shù)。已經(jīng)出版教材《自動識別技術(shù)概論》,職場故事《51的蛻變 》。