什么是硬件加速引擎?

beba40ffa2b853a31878060a1035f36b.png

f58b8bbfc5b1a70797143b47d8cda966.gif

什么是硬件加速引擎

429cc8269510b5cba1c88c83fbf8c214.gif

普通计算机用指令运算速度衡量计算性能,而超算则通常用浮点运算速度来衡量其性能。但不管是指令运算还是浮点运算,都脱离不了CPU进行流水线式的指令计算。尽管我们可以通过用先进工艺、采用超标量流水线结构处理器,甚至是多核的阵列来提升CPU的计算性能,但这仍然没有突破“重围”,我们一直在一亩三分地徘徊。

我们在个人电脑上打开过多的应用时,由于CPU数量及性能受限,无法承载过多的应用,电脑会逐渐变得很卡。但单纯提高CPU的性能,空间受限制,且代价很大。除非是超算中心等首先以性能为目标,对能耗比不那么敏感的应用,否则消费类芯片核心竞争力仍以能功耗及性能为王,承载到芯片上就是PPA(Power Performance Area)。

摩尔定律的终结,我们很难再单一的从CPU身上榨出更多的性能。如果我们将某些复杂耗时的计算,采用专用芯片实现,在完成后再将结果返回给CPU,这样我们就实现了专用的加速引擎。典型的以个人电脑为例,采用独立显卡的配置远比仅有集成显卡电脑有着更好的体验感,因为Nvdia/AMD显卡的GPU,专用图形图像加速运算,降低了CPU的负荷,提高了整机处理应用的能力。

至此,我们的主角终于上场了,世界的最后一块拼图,也终于完整了,如下图所示,为CPU计算加速的方法,终点是最新工艺下,集成硬件加速器的多核超标量流水线处理器。

0156ae427134cfb58804f808407441af.png

而我们最后入场的观众,即上图中红色部分,就是硬件加速引擎。正如前文所述,显然从CPU的一亩三分地,已经很难再开出质变的花,但硬件加速引擎的引入,让我们进入了硬件加速的新时代。

我们再梳理一下新提出的概念:硬件加速引擎,也称为硬件加速器,是一种采用专用加速芯片/模块,替代CPU完成复杂耗时的大算力操作,其过程不需要或者仅少量CPU的参与。

典型的以GPU、DSP、ISP、NPU为例,就是专用的硬件加速引擎。硬件加速引擎的出现,一方面提升了SOC的整体计算性能,另一方面也降低了同等应用场景,对CPU的性能需求。举例,apple在2021年WWDC上发布了采用自研SOC的全新Macbook系列产品,使用的就是最新自研的号称地表最强的M1芯片,其规模达到了160亿门晶体管,如下图所示:

5c0644ac364bf4d38fecb50db7744ada.png

M1采用了当时最新的5nm工艺制程,集成8核的CPU,号称在同等功耗下,达到了2倍目前CPU的最快性能。更为重要的是,M1还集成了众多专用的硬件加速引擎,协助CPU完成了很多复杂耗时的运算,统计分析主要如下表所示:

序号

硬件加速引擎

功能/性能详细描述

1

GPU

图像运算单元,集成128个执行单元,可同时执行24576个线程,运算能力高达2.6TFLOPS。

2

Neural Engine

16核神经网络加速引擎(NPU),专用卷积网络推理计算加速,每秒可以进行11亿万次操作。

3

Media Encode & Decode Engine

多媒体视频编解码引擎,硬件加速完成视频的编解码功能,支持AVS、H.264、H.265等制式。

4

Advance Image Signal Processor

先进的图像信号处理引擎(ISP),实现实时的图像采集、Demosaic、3A、2/3D降噪等图像处理功能。

勾勒了一个粗糙的M1的架构图(其实很多多媒体芯片也是类似的),如下所示,我们简单梳理一下相关模块的工作流程。

4e0348973a2b979df2101a4614041b14.png

以一个AI人脸识别的视频拍摄的场景为例,整体计算的流水线如下图所示,当然每一步还需要CPU参与配置调度,以及DDR读写缓存。其中上半部分,采用ISP→NPU→Encode→DDR流水线,实现了实时AI人看脸识别视频的存储;下半部分,实现了实时人脸检测的显示。

dfd639e417f58e49080a1a0af7385ab1.png

再以体验一个在线游戏为例,采用下图的流水线,实现了游戏的实时解码,图形图像的加速运算,以及实时显示功能。这个过程同样每个模块需要DDR参与读写,此外,除了少量CPU的配置及调度,CPU很少参与计算,主要由专用硬件加速引擎完成实时的运算。因此专业的事情,专用的模块做,CPU可以用来做更为复杂的操作,比如文件管理,资源优化等。

884ff5c41cf235c2ad592987cd332923.png

上述例子,CPU与硬件加速引擎协同工作,一起打造了一款号称地表最强的SOC。这里我们再举一个例子,以采用硬件加速引擎的方式,降低了产品对CPU的性能要求,从而采用低成本的ARM,在提升性的前提下进一步降低成本。如下图所示,为海思Hi3516A监控芯片的硬件架构框图。

312faa8ac503a68029f0a2fc91f60fd8.png

该芯片采用单核A7内核作为处理器,主频运行在600MHz,框图左侧为SoC的高速模块,右下角为SoC的低速模块,中下部分AES/DES/3DES为加解密模块,右上角的CVBS/BT1120为显示接口,MIPI/LVDS/Hispi图像采集接口,以上这些组成了SoC的Boot最小系统,以及基本输入输出单元。

但这是一款IPC监控芯片,主要用以实现视频图像采集,编码传输等功能,为了减小CPU的开销,协同完成一些复杂的视频运算,Hi3516A集成了几个重要的硬件加速引擎,使得其在低码率,高图像质量,低功耗方面持续引领行业水平。如下表所示,为Hi3516A芯片继承的硬件加速引擎,主要如下:

序号

硬件加速引擎

功能/性能详细描述

1

TDE

Two Dimensional Engine,硬件加速实现图形的绘制,大大减少对CPU的占用,同时又提高了DDR的利用率。

2

IVS

Intelligent Video Engine,模块提供了常用的一些智能分析算法中的一些CV算子,采用硬件实现方式替代CPU进行OpenCV图像运算。

3

VPSS+VGS

Video Processing Sub-System/Video Graph System,硬件加速实现图像显示后处理功能,包括降噪、缩放、裁剪、叠加、旋转等功能。

5

ISP

图像信号处理引擎(ISP),实现实时的图像采集、Demosaic、3A、2/3D降噪等图像处理功能。。

6

Video Subsystem

视频编码引擎,支持H.264、H.265等制式以及ROI编码,最大支持5M Pixel分辨率。

IPC芯片可以用规格较低的Cortex A9系列CPU,得益于芯片集成了如上表中专用的硬件加速引擎。采用专用计算模块完成了图像处理、视频编码、显示后处理等功能,使得CPU只需要参与配置及调度,同时才有了资源去处理复杂的操作系统任务。

我们总是不断在追求更快,所以我们穷尽一切办法去达成目标。硬件加速引擎在传统CPU无法实现质变的基础上,实现了计算能力的突破。硬件加速引擎虽然有其专用的局限性,但协同CPU处理,可以以更低的成本及功耗,实现更高的性能,这是当前也是未来计算芯片的大势所趋。

803d4c6ea0e574b257320b4e51dc16f5.png

1.2022年第3期《单片机与嵌入式系统应用》电子刊新鲜出炉!

2.国内有哪些厂商推出了RISC-V内核的MCU?

3.全球芯片竞赛已提速!“太湖之芯”创业大赛打造竞速平台

4.一颗小小的MCU,有必要支持AI功能吗?

5.采用24V供电的MCU电源电路及BOM表分析

6.不同的电平信号怎么进行“沟通”?

85854f344b9b84e22b0ab61816cb1ae1.gif

免责声明:本文系网络转载,版权归原作者所有。如涉及作品版权问题,请与我们联系,我们将根据您提供的版权证明材料确认版权并支付稿酬或者删除内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值