1.2 什么是硬件加速引擎
普通计算机用指令运算速度衡量计算性能,而超算则通常用浮点运算速度来衡量计算性能。但不管是指令运算还是浮点运算,都脱离不了CPU进行流水线式的指令计算。尽管我们可以通过用先进工艺、采用超级标量流水线处理器,甚至是多核的阵列来提升CPU的计算性能,但这仍然没有突破“重围”,我们一直在CPU的一亩三分地徘徊。
在个人计算机上打开过多的应用时,由于CPU的数量及性能受限,无法承载过多的应用,计算机会逐渐变得很卡。但单纯地提高CPU的性能,会使空间受限制,且代价很大。除非是首先以性能为目标,对能耗比不那么敏感的超算中心等,否则消费类芯片的核心竞争力仍然以能耗及性能为主,承载到芯片上就是PPA。
摩尔定律的终结,使我们很难再单一地从CPU上榨出更多的性能。如果将某些复杂耗时的计算,采用专用芯片实现,完成计算后,将结果返回给CPU,这样就实现了专用的加速引擎。典型的以个人计算机为例,采用独立显卡配置的计算机远比仅有集成显卡的计算机有更好的体验感,如Nvidia/AMD显卡的GPU,专门用作图形、图像的加速运算,降低了CPU的负荷,提高了整机处理应用的能力。
至此,“主角”终于上场了,世界的最后一块拼图,也终于完整了,图1.11所示为CPU计算加速的发展路线,终点是最新工艺下,超级标量流水线多核阵列硬件加速引擎。
而最后入场的“观众”,即图1.11所示的深色方框,硬件加速引擎。正如前文所述,虽然从CPU的一亩三分地,已经很难再开出质变的花,但硬件加速引擎的出现,使CPU进入了硬件加速的新时代。
图1.11 CPU计算加速的发展路线
我们再梳理一下新提出的概念:硬件加速引擎也称为硬件加速器,其原理是采用专用的加速芯片/模块,替代CPU完成复杂耗时的大算力操作,其过程不需要或者仅少量需要CPU的参与。
典型的硬件加速引擎有GPU、DSP、ISP、NPU。