0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是硬件加速引擎?

rfdqdzdg ? 來(lái)源:數(shù)字芯片設(shè)計(jì)工程師 ? 2023-07-06 10:32 ? 次閱讀

什么是硬件加速引擎

普通計(jì)算機(jī)用指令運(yùn)算速度衡量計(jì)算性能,而超算則通常用浮點(diǎn)運(yùn)算速度來(lái)衡量其性能。但不管是指令運(yùn)算還是浮點(diǎn)運(yùn)算,都脫離不了CPU進(jìn)行流水線式的指令計(jì)算。盡管我們可以通過(guò)用先進(jìn)工藝、采用超標(biāo)量流水線結(jié)構(gòu)處理器,甚至是多核的陣列來(lái)提升CPU的計(jì)算性能,但這仍然沒(méi)有突破“重圍”,我們一直在一畝三分地徘徊。

我們?cè)趥€(gè)人電腦上打開過(guò)多的應(yīng)用時(shí),由于CPU數(shù)量及性能受限,無(wú)法承載過(guò)多的應(yīng)用,電腦會(huì)逐漸變得很卡。但單純提高CPU的性能,空間受限制,且代價(jià)很大。除非是超算中心等首先以性能為目標(biāo),對(duì)能耗比不那么敏感的應(yīng)用,否則消費(fèi)類芯片核心競(jìng)爭(zhēng)力仍以能功耗及性能為王,承載到芯片上就是PPA(Power Performance Area)。

摩爾定律的終結(jié),我們很難再單一的從CPU身上榨出更多的性能。如果我們將某些復(fù)雜耗時(shí)的計(jì)算,采用專用芯片實(shí)現(xiàn),在完成后再將結(jié)果返回給CPU,這樣我們就實(shí)現(xiàn)了專用的加速引擎。典型的以個(gè)人電腦為例,采用獨(dú)立顯卡的配置遠(yuǎn)比僅有集成顯卡電腦有著更好的體驗(yàn)感,因?yàn)镹vdia/AMD顯卡的GPU,專用圖形圖像加速運(yùn)算,降低了CPU的負(fù)荷,提高了整機(jī)處理應(yīng)用的能力。

至此,我們的主角終于上場(chǎng)了,世界的最后一塊拼圖,也終于完整了,如下圖所示,為CPU計(jì)算加速的方法,終點(diǎn)是最新工藝下,集成硬件加速器的多核超標(biāo)量流水線處理器。

2d547ad6-1b22-11ee-962d-dac502259ad0.png

而我們最后入場(chǎng)的觀眾,即上圖中紅色部分,就是硬件加速引擎。正如前文所述,顯然從CPU的一畝三分地,已經(jīng)很難再開出質(zhì)變的花,但硬件加速引擎的引入,讓我們進(jìn)入了硬件加速的新時(shí)代。

我們?cè)偈崂硪幌滦绿岢龅母拍睿河布铀僖?,也稱為硬件加速器,是一種采用專用加速芯片/模塊,替代CPU完成復(fù)雜耗時(shí)的大算力操作,其過(guò)程不需要或者僅少量CPU的參與。

典型的以GPU、DSP、ISP、NPU為例,就是專用的硬件加速引擎。硬件加速引擎的出現(xiàn),一方面提升了SOC的整體計(jì)算性能,另一方面也降低了同等應(yīng)用場(chǎng)景,對(duì)CPU的性能需求。舉例,apple在2021年WWDC上發(fā)布了采用自研SOC的全新Macbook系列產(chǎn)品,使用的就是最新自研的號(hào)稱地表最強(qiáng)的M1芯片,其規(guī)模達(dá)到了160億門晶體管,如下圖所示:

M1采用了當(dāng)時(shí)最新的5nm工藝制程,集成8核的CPU,號(hào)稱在同等功耗下,達(dá)到了2倍目前CPU的最快性能。更為重要的是,M1還集成了眾多專用的硬件加速引擎,協(xié)助CPU完成了很多復(fù)雜耗時(shí)的運(yùn)算,統(tǒng)計(jì)分析主要如下表所示:

序號(hào) 硬件加速引擎 功能/性能詳細(xì)描述
1 GPU 圖像運(yùn)算單元,集成128個(gè)執(zhí)行單元,可同時(shí)執(zhí)行24576個(gè)線程,運(yùn)算能力高達(dá)2.6TFLOPS。
2 Neural Engine 16核神經(jīng)網(wǎng)絡(luò)加速引擎(NPU),專用卷積網(wǎng)絡(luò)推理計(jì)算加速,每秒可以進(jìn)行11億萬(wàn)次操作。
3 Media Encode & Decode Engine 多媒體視頻編解碼引擎,硬件加速完成視頻的編解碼功能,支持AVS、H.264、H.265等制式。
4 Advance Image Signal Processor 先進(jìn)的圖像信號(hào)處理引擎(ISP),實(shí)現(xiàn)實(shí)時(shí)的圖像采集、Demosaic、3A、2/3D降噪等圖像處理功能。

勾勒了一個(gè)粗糙的M1的架構(gòu)圖(其實(shí)很多多媒體芯片也是類似的),如下所示,我們簡(jiǎn)單梳理一下相關(guān)模塊的工作流程。

2da5524e-1b22-11ee-962d-dac502259ad0.png

以一個(gè)AI人臉識(shí)別的視頻拍攝的場(chǎng)景為例,整體計(jì)算的流水線如下圖所示,當(dāng)然每一步還需要CPU參與配置調(diào)度,以及DDR讀寫緩存。其中上半部分,采用ISP→NPU→Encode→DDR流水線,實(shí)現(xiàn)了實(shí)時(shí)AI人看臉識(shí)別視頻的存儲(chǔ);下半部分,實(shí)現(xiàn)了實(shí)時(shí)人臉檢測(cè)的顯示。

2dccd300-1b22-11ee-962d-dac502259ad0.png

再以體驗(yàn)一個(gè)在線游戲?yàn)槔?,采用下圖的流水線,實(shí)現(xiàn)了游戲的實(shí)時(shí)解碼,圖形圖像的加速運(yùn)算,以及實(shí)時(shí)顯示功能。這個(gè)過(guò)程同樣每個(gè)模塊需要DDR參與讀寫,此外,除了少量CPU的配置及調(diào)度,CPU很少參與計(jì)算,主要由專用硬件加速引擎完成實(shí)時(shí)的運(yùn)算。因此專業(yè)的事情,專用的模塊做,CPU可以用來(lái)做更為復(fù)雜的操作,比如文件管理,資源優(yōu)化等。

2df15ebe-1b22-11ee-962d-dac502259ad0.png

上述例子,CPU與硬件加速引擎協(xié)同工作,一起打造了一款號(hào)稱地表最強(qiáng)的SOC。這里我們?cè)倥e一個(gè)例子,以采用硬件加速引擎的方式,降低了產(chǎn)品對(duì)CPU的性能要求,從而采用低成本的ARM,在提升性的前提下進(jìn)一步降低成本。如下圖所示,為海思Hi3516A監(jiān)控芯片的硬件架構(gòu)框圖。

2e04f816-1b22-11ee-962d-dac502259ad0.png

該芯片采用單核A7內(nèi)核作為處理器,主頻運(yùn)行在600MHz,框圖左側(cè)為SoC的高速模塊,右下角為SoC的低速模塊,中下部分AES/DES/3DES為加解密模塊,右上角的CVBS/BT1120為顯示接口,MIPI/LVDS/Hispi圖像采集接口,以上這些組成了SoC的Boot最小系統(tǒng),以及基本輸入輸出單元。

但這是一款I(lǐng)PC監(jiān)控芯片,主要用以實(shí)現(xiàn)視頻圖像采集,編碼傳輸?shù)裙δ?,為了減小CPU的開銷,協(xié)同完成一些復(fù)雜的視頻運(yùn)算,Hi3516A集成了幾個(gè)重要的硬件加速引擎,使得其在低碼率,高圖像質(zhì)量,低功耗方面持續(xù)引領(lǐng)行業(yè)水平。如下表所示,為Hi3516A芯片繼承的硬件加速引擎,主要如下:

序號(hào) 硬件加速引擎 功能/性能詳細(xì)描述
1 TDE Two Dimensional Engine,硬件加速實(shí)現(xiàn)圖形的繪制,大大減少對(duì)CPU的占用,同時(shí)又提高了DDR的利用率。
2 IVS Intelligent Video Engine,模塊提供了常用的一些智能分析算法中的一些CV算子,采用硬件實(shí)現(xiàn)方式替代CPU進(jìn)行OpenCV圖像運(yùn)算。
3 VPSS+VGS Video Processing Sub-System/Video Graph System,硬件加速實(shí)現(xiàn)圖像顯示后處理功能,包括降噪、縮放、裁剪、疊加、旋轉(zhuǎn)等功能。
5 ISP 圖像信號(hào)處理引擎(ISP),實(shí)現(xiàn)實(shí)時(shí)的圖像采集、Demosaic、3A、2/3D降噪等圖像處理功能。。
6 Video Subsystem 視頻編碼引擎,支持H.264、H.265等制式以及ROI編碼,最大支持5M Pixel分辨率。

IPC芯片可以用規(guī)格較低的Cortex A9系列CPU,得益于芯片集成了如上表中專用的硬件加速引擎。采用專用計(jì)算模塊完成了圖像處理、視頻編碼、顯示后處理等功能,使得CPU只需要參與配置及調(diào)度,同時(shí)才有了資源去處理復(fù)雜的操作系統(tǒng)任務(wù)。

我們總是不斷在追求更快,所以我們窮盡一切辦法去達(dá)成目標(biāo)。硬件加速引擎在傳統(tǒng)CPU無(wú)法實(shí)現(xiàn)質(zhì)變的基礎(chǔ)上,實(shí)現(xiàn)了計(jì)算能力的突破。硬件加速引擎雖然有其專用的局限性,但協(xié)同CPU處理,可以以更低的成本及功耗,實(shí)現(xiàn)更高的性能,這是當(dāng)前也是未來(lái)計(jì)算芯片的大勢(shì)所趨。

至此,相信你已經(jīng)理解了硬件加速引擎的非凡意義,我們也可終于可以提出我們的主題——圖像加速引擎。Hi3516A中的硬件加速引擎都是圖像相關(guān)的,本書也將介紹一些基于圖像算法方面的加速,就是我寫本書的初衷。

本書將從傳統(tǒng)圖像加速算法入手,從原理到實(shí)現(xiàn),介紹圖像算法的理論及設(shè)計(jì),并且基于MatlabFPGA開發(fā),講解如何進(jìn)行硬件加速實(shí)現(xiàn)的流程方法。本書適合從事軟件圖像開發(fā)的朋友,可以提升你對(duì)圖像算法硬件加速的認(rèn)知;本書同樣也事業(yè)FPGA開發(fā)的朋友,可以讓你全流程了解如何采用FPGA加速實(shí)現(xiàn)一個(gè)圖像算法。

在接下來(lái)的篇幅,我將從格式轉(zhuǎn)換、濾波、增強(qiáng)、二值化、銳化、縮放等傳統(tǒng)基礎(chǔ)圖算法入手,從原理到Matlab設(shè)計(jì)、FPGA加速實(shí)現(xiàn)進(jìn)行由淺入深的詳細(xì)介紹。接著,以深度學(xué)習(xí)LeNet為例,介紹如何在FPGA實(shí)現(xiàn)最簡(jiǎn)單的硬件加速卷積神經(jīng)網(wǎng)絡(luò)。最后,作為畫龍點(diǎn)睛之筆,我們站上更高的層次,介紹一下傳統(tǒng)ISP和新興的AISP的基本理論概念,以及未來(lái)圖像硬件加速的發(fā)展走向。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    551

    文章

    7824

    瀏覽量

    346833
  • 芯片
    +關(guān)注

    關(guān)注

    450

    文章

    49636

    瀏覽量

    417178
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    27

    文章

    4591

    瀏覽量

    128144
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7174

    瀏覽量

    87158
  • 硬件
    +關(guān)注

    關(guān)注

    11

    文章

    3113

    瀏覽量

    65849

原文標(biāo)題:什么是硬件加速引擎?

文章出處:【微信號(hào):數(shù)字芯片設(shè)計(jì)工程師,微信公眾號(hào):數(shù)字芯片設(shè)計(jì)工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【N32L40XCL-STB 開發(fā)板評(píng)測(cè)】安全加密算法評(píng)測(cè)

    本章主要以AES和SHA算法為例,介紹算法使用,同時(shí)對(duì)比基于硬件加速引擎和純軟件算法運(yùn)算速度的差異。
    的頭像 發(fā)表于 08-10 16:45 ?1135次閱讀
    【N32L40XCL-STB 開發(fā)板評(píng)測(cè)】安全加密算法評(píng)測(cè)

    MPU6050簡(jiǎn)介

    : Digital Motion Processor)硬件加速引擎,通過(guò)主 IIC 接口,且含有一個(gè)第二 IIC 接口,可用于連接外部磁力傳感器,通過(guò)主 IIC 接口,向應(yīng)用端輸出完整的 9 軸融合...
    發(fā)表于 08-04 07:27

    CAN通信總線接口和XFMC內(nèi)存擴(kuò)展接口

    ,144KB SRAM,多個(gè)U(S)ART、I2C、SPI、QSPI、USB、CAN通信總線接口和XFMC內(nèi)存擴(kuò)展接口,集成12bit ADC、DAC等模擬接口 ,內(nèi)置密碼算法硬件加速引擎 關(guān)鍵特性
    發(fā)表于 08-20 07:37

    MPU6050相關(guān)資料分享

    Motion Processor)硬件加速引擎,通過(guò)主 IIC 接口,向應(yīng)用端輸出完整的 9 軸融合演算數(shù)據(jù)。有了 DMP,我們可以使用 InvenSense 公司提供的運(yùn)動(dòng)處理資料庫(kù),非常方便的實(shí)現(xiàn)姿態(tài)解算,降低了運(yùn)動(dòng)處理運(yùn)算對(duì)操作系統(tǒng)的負(fù)荷,同時(shí)大大降低了開發(fā)難度。
    發(fā)表于 02-10 06:17

    N32G4FR系列芯片用戶手冊(cè)

    N32G4FR 系列采用 32 bit ARM Cortex-M4 內(nèi)核,最高工作主頻 144MHz,支持浮點(diǎn)運(yùn)算及 DSP 指令,內(nèi)置密碼算法硬件加速引擎,集成高達(dá) 512KB 加密 Flash
    發(fā)表于 10-31 14:39

    N32G457系列芯片用戶手冊(cè)

    個(gè) 12bit 5Msps ADC,4 路獨(dú)立軌到軌運(yùn)算放大器,7 個(gè)高速比較器,2 個(gè) 1Msps 12bit DAC,集成多路 U(S)ART、I2C、SPI、QSPI、USB、CAN、SDIO 通信接口,10/100M 以太以網(wǎng)及數(shù)字?jǐn)z像頭接口,內(nèi)置密碼算法硬件加速引擎
    發(fā)表于 11-01 07:58

    N32G452系列芯片用戶手冊(cè)

    ,多個(gè) U(S)ART、I2C、SPI、QSPI、USB、CAN 通信總線接口,集成 12bit ADC、DAC 等模擬接口 ,內(nèi)置密碼算法硬件加速引擎
    發(fā)表于 11-01 06:13

    N32L40x系列芯片產(chǎn)品手冊(cè)

    豐富的高性能模擬器件,內(nèi)置 1 個(gè) 12bit 4.5Msps ADC,2 路獨(dú)立軌到軌運(yùn)算放大器,2 個(gè)高速比較器,1 個(gè) 1Msps 12bit DAC,集成 U(S)ART、LPUART、I2C、SPI、USB、CAN 等數(shù)字通信接口,Segment LCD 驅(qū)動(dòng)接口, 內(nèi)置多種密碼算法硬件加速
    發(fā)表于 11-01 07:58

    N32G032系列芯片產(chǎn)品手冊(cè)

    ,1xOPAMP,3xCOMP,集成多路 U(S)ART、I2C、SPI、CAN 通信接口,內(nèi)置密碼算法硬件加速引擎
    發(fā)表于 11-01 07:01

    N32G4FR系列芯片數(shù)據(jù)手冊(cè)

    SRAM,2x12bit 5Msps ADC,2x1Msps 12bitDAC,集成多路U(S)ART、I2C、SPI、QSPI、USB、CAN通信接口,1xSDIO接口,數(shù)字?jǐn)z像頭(DVP)接口,支持主流的半導(dǎo)體指紋及光學(xué)傳指紋感器,內(nèi)置密碼算法硬件加速引擎
    發(fā)表于 11-01 07:02

    N32G452系列芯片數(shù)據(jù)手冊(cè)

    5Msps ADC,2x1Msps 12bit DAC,集成多路U(S)ART、I2C、SPI、QSPI、USB、CAN通信接口,1xSDIO接口,內(nèi)置密碼算法硬件加速引擎
    發(fā)表于 11-01 07:30

    基于MPU-3000?系列運(yùn)動(dòng)處理組件的三軸陀螺

      Invensense推出MPU-3000?系列產(chǎn)品運(yùn)動(dòng)處理組件,為業(yè)界第一個(gè)內(nèi)建數(shù)字運(yùn)動(dòng)處理(DMP?: Digital Motion Processor?)硬件加速引擎的三軸
    發(fā)表于 12-23 08:53 ?870次閱讀

    基于VxWorks的硬件加速技術(shù)探討

    簡(jiǎn)述了愛(ài)普生S1D13A05芯片的架構(gòu)特征,并且介紹了其中的2D硬件加速引擎的工作模式和相關(guān)的寄存器設(shè)置,最后以VxWorks操作系統(tǒng)作為開發(fā)環(huán)境,基于風(fēng)河公司W(wǎng)indML圖形開發(fā)包,對(duì)S1D13A0
    發(fā)表于 09-01 14:07 ?1043次閱讀
    基于VxWorks的<b class='flag-5'>硬件加速</b>技術(shù)探討

    圖像處理硬件加速引擎是什么 如何提高CPU芯片性能

    軟件在CPU上執(zhí)行,首先是從控制器從存儲(chǔ)器取指(Fetch),接著控制器進(jìn)行譯碼(Decode),然后由算數(shù)邏輯單元(ALU)執(zhí)行指令(Execute),這就是指令周期,如下圖所示。
    的頭像 發(fā)表于 06-30 15:34 ?3553次閱讀
    圖像處理<b class='flag-5'>硬件加速</b><b class='flag-5'>引擎</b>是什么 如何提高CPU芯片性能

    上海航芯打造32位MCU芯片的新突破與挑戰(zhàn)

    航芯致力于開發(fā)以M0/M33為內(nèi)核的32位MCU,該系列集成了國(guó)密算法硬件加速引擎,兼具通用MCU的靈活易用性和安全性。
    發(fā)表于 04-07 14:51 ?897次閱讀