
1.2.1 苹果M1芯片架构
硬件加速引擎的出现,一方面提升了SOC的整体计算性能;另一方面也降低了同等应用场景对CPU的性能需求。例如,苹果公司2011年在WWDC上发布了采用自研SOC的全新MacBook系列产品,使用的就是其自研的M1芯片,其规模达到了160亿门晶体管,苹果M1芯片的组成结构,如图1.12所示(也许本书出版的时候,M2芯片都出来了,但这不影响我们介绍硬件加速引擎的概念)。

图1.12 苹果M1芯片的组成结构
M1芯片采用了当时较新的5nm工艺制程,集成8核的CPU,号称在同等功耗下,达到了2倍目前CPU的性能。更为重要的是,M1芯片还集成了众多专用的硬件加速引擎,协助CPU完成了很多复杂耗时的运算,苹果M1芯片集成的硬件加速引擎,如表1.1所示。
表1.1 苹果M1芯片集成的硬件加速引擎

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

图1.13 苹果M1芯片架构图(示意图)
以人工智能(AI)人脸识别的视频拍摄场景为例,苹果M1芯片AI人脸识别流水线(示意图),如图1.14所示。当然每步还需要CPU参与配置调度,以及DDR读写缓存。其中上半部分,采用ISP→NPU→Encode→DDR流水线,实现了实时AI人脸识别视频的存储;下半部分,实现了实时AI人脸检测的显示。

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

1.15 苹果M1芯片在线游戏运行流水线(示意图)