嵌入式 CPU 幾乎無處不在,因為它們提供了靈活性以及相當(dāng)好的性能和低功耗,而且通常成本更低。與需要將單獨的微處理器或微控制器耦合到您的定制硬件的解決方案相比,切換到基于嵌入式 CPU 的設(shè)計是輕而易舉的事。但是任何類型的 CPU 都有限制。即使我們可以將我們的算法轉(zhuǎn)移到軟件中,算法的潛在復(fù)雜性是無限的。我們可以編寫程序并且它們會運行,但不一定在可接受的時間或合理的功率預(yù)算內(nèi)。
這就是為什么微處理器制造商很快提出了硬件加速器的概念——硬件功能可以執(zhí)行通常需要的任務(wù),例如浮點運算,比在 CPU 上運行的軟件要快得多。這個想法很快就流行起來,其他加速器開始出現(xiàn),對于密碼學(xué)、正則表達(dá)式處理和圖形功能只是幾個例子。
所有這些都非常有效,但犧牲了基于軟件的解決方案的一個重要優(yōu)勢:因為實現(xiàn)大多是硬編碼的,所以很難修改。加速器可能允許通過寄存器控制進(jìn)行一些有限級別的調(diào)整,但是如果您需要修復(fù)錯誤或更改算法,則必須重新設(shè)計硬件。響應(yīng)現(xiàn)場故障和不斷變化的市場需求變得更加昂貴。
您真正想要的是兩全其美——一種在加速算法的同時仍然能夠在軟件中定義這些算法的方法。當(dāng)然,所有可能算法的范圍是無限的,因此不可能對所有情況都有一個解決方案。但是對于大量非常常用的功能,DSP 正好可以提供這種解決方案。
考慮幾乎所有必須處理流數(shù)據(jù)的操作。在音頻處理中可以找到明顯的例子,從濾波到 PDM-PCM 轉(zhuǎn)換再到聲學(xué)回聲消除。或者考慮基于流的密碼,例如 SNOW 和 ZUC(用于 LTE)。在信號處理環(huán)境中,考慮基站和手機(jī)之間的信道估計。這旨在優(yōu)化當(dāng)前條件下的傳輸以獲得最大的可靠性,并且需要對接收到的信號進(jìn)行復(fù)雜的矩陣計算。更一般地說,考慮任何可以從非常廣泛的并行性中受益的應(yīng)用程序,例如 AES 加密。
流計算、復(fù)雜數(shù)學(xué)(矩陣、浮點)和/或高級并行性都是 DSP 大放異彩的領(lǐng)域,應(yīng)該認(rèn)真考慮作為硬件加速器的替代品。在許多情況下,實現(xiàn)也將小于硬編碼加速器,從而降低產(chǎn)品的單位成本。至于功耗,也許加速器會比 DSP 實現(xiàn)略低,但 DSP 功耗仍將遠(yuǎn)低于基于 CPU 的同等產(chǎn)品。更好的是,如果這些加速不需要同時運行,您可以將多個加速功能整合到一個 DSP 上,從而消除對多個加速器的需求。為了獲得更大的處理能力,您可以使用多核 DSP,就像您可以使用多核 CPU 一樣。
最重要的是,DSP 實現(xiàn)是可編程的,用 C 語言編寫,就像您的 CPU 內(nèi)核一樣。您需要做一些稍微不同的事情——例如優(yōu)化并行性——但是一個好的 DSP 編譯器和建模模擬器應(yīng)該會讓這相對容易。因此,您無需更改底層硬件即可獲得錯誤修復(fù)和產(chǎn)品升級的所有優(yōu)勢。提高客戶滿意度并改善收入來源。不錯。
還有另一個優(yōu)勢:作為處理器,它可以支持多種功能。考慮一下全球定位標(biāo)準(zhǔn) GNSS,以及從基于 DSP 的計算中顯著受益的功能。這當(dāng)然是移動設(shè)備中的一個很好的功能,但現(xiàn)在固定設(shè)備的 GNSS 也出現(xiàn)了繁榮,以簡化配置、更新和維護(hù)。如果您的設(shè)備已經(jīng)啟用了 DSP,則 GNSS 可能是某些供應(yīng)商的軟件插件,并且可以在其他功能處于休眠狀態(tài)時在安靜時期運行。如果您已經(jīng)擁有基于硬件的 GNSS 或計劃添加一個,您可以節(jié)省空間和電力。
我并不是說 DSP 實現(xiàn)一定可以取代你所有的硬件加速器。某些加速器功能可能不適合 DSP 的優(yōu)勢。有些可能適合某個范圍,但不能超出該范圍;例如,對于非常大的過濾器,您唯一的選擇可能仍然是硬連線實現(xiàn)。但這留下了許多功能,其中 DSP 在性能和功率上接近等效的硬件加速器,實際上可能在成本上更好,并且比硬件版本具有無限更多的靈活性。值得考慮。
本博客是系列文章中的第二篇,該系列以“為什么 DSP 突然無處不在”開始,并以第三篇博客結(jié)尾:“決策,決策:硬件加速器還是 DSP?”。
審核編輯 黃昊宇
-
dsp
+關(guān)注
關(guān)注
555文章
8080瀏覽量
352274 -
硬件加速器
+關(guān)注
關(guān)注
0文章
42瀏覽量
12900
發(fā)布評論請先 登錄
相關(guān)推薦
數(shù)據(jù)中心中的FPGA硬件加速器


基于Xilinx XCKU115的半高PCIe x8 硬件加速卡

基于 DSP5509 進(jìn)行數(shù)字圖像處理中 Sobel 算子邊緣檢測的硬件連接電路圖
TDA4VM上的硬件加速運動恢復(fù)結(jié)構(gòu)算法

AM62A SoC通過硬件加速視覺處理改進(jìn)條形碼讀取器

適用于數(shù)據(jù)中心應(yīng)用中的硬件加速器的直流/直流轉(zhuǎn)換器解決方案

圖形圖像硬件加速器卡設(shè)計原理圖:270-VC709E 基于FMC接口的Virtex7 XC7VX690T PCIeX8 接口卡

什么是神經(jīng)網(wǎng)絡(luò)加速器?它有哪些特點?
西門子推出Catapult AI NN軟件,賦能神經(jīng)網(wǎng)絡(luò)加速器設(shè)計
PSoC 6 MCUBoot和mbedTLS是否支持加密硬件加速?
新思科技硬件加速解決方案技術(shù)日在成都和西安站成功舉辦
Elektrobit利用其首創(chuàng)的硬件加速軟件優(yōu)化汽車通信網(wǎng)絡(luò)的性能
用DE1-SOC進(jìn)行硬件加速的2D N-Body重力模擬器設(shè)計

評論