爱思助手

认识苹果A11仿生芯片里5个新的定制引擎

  苹果 A11 仿生芯片内置一系列为特定任务设计的处理核心和强大的控制器。对于这个处理器我们目前了解的不多,而随着新 iPhone 的上市今天我们终于可以对它的 GPU、神经引擎、6 核 CPU、NVMe SSD 控制器和新的定制视频编码器进行更深入的了解。


认识苹果A11仿生芯片里5个新的定制引擎


  新的 3 核 GPU

  这是苹果首次在旗下 A 系列芯片中整合自主定制的 GPU,相比 iPhone 7 中本就是智能手机图形架构佼佼者的 Imagination GPU,前者的速度提升了 30%。


认识苹果A11仿生芯片里5个新的定制引擎


  苹果的新款 GPU 不仅速度更快了,能效也更高了,相同的工作量下它的能耗只是 A10 Fusion 处理器的一半。

  当初行业开发 GPU 是为了给图形加速,可多年来它也开始承担其他具有相似重复性质的数学运算任务,所以也被称为“通用 GPU(General Purpose GPU)”。苹果当初开发 OpenCL 作为 API 去执行 GPGPU,不过后来他们已经将 GPGPU 计算整合到 Metal API 中,后者专为 iOS 和Mac 设备中的 GPU 优化。在今年 6 月份的 WWDC 上,Metal API 已经更新到 Metal 2 版本。


  现在苹果同时自主设计图形芯片及管理它的芯片,那我们可以期待 GPU 和 GPGPU 的发展会更快。另外苹果也同时在研究机器学习,这是GPU最擅长的任务之一。机器学习只在一系列已知的东西)上建立模型,然后利用这个“知识”模型去寻找识别出匹配的东西。比如已知的东西是各种花的照片,那它就可以利用模型在新的照片或者相机取景器中寻找可能是花朵的东西。

  苹果仅表示新 GPU 有 3 个核心,并没有提供其他关于新 GPU 设计的详细技术信息。不同的 GPU 设计需为特定任务和战略优化,这些设计也让核心的定义有极大的差别,所以无法直接将苹果的 GPU 和英特尔、英伟达、AMD、高通、ARM Mali 以及其他厂商的 GPU 作有意义的对比。

  TBDR

  值得指出的是,苹果表示A11仿生芯片GPU图形架构基于区块延迟渲染(Tile Based Deferred Rendering)。TBDR渲染技术是专为资源有限的移动设备设计的。它能够有效地仅渲染3D场景中人眼可见的场景。桌面PC GPU(以及高通Adreno和ARM Mali 移动GPU)的IMR立即渲染模式IMR实行的是无差别对待,那些遮蔽处理的部分依然会被渲染处理器,这也导致无意义的读写操作更多,浪费了大量性能和带宽,移动GPU一般无法接受这种简单粗暴的方式。

  TBDR 则跳过用户看不到的东西,将场景分成不同的区块,分析哪些区块需要渲染,节省了性能和宽带,区块内存速度更快、延迟率低。这种处理流程能让它异步执行顶点和片段,有利于更好地利用整个 GPU。苹果指出:执行顶点通常需要大量使用固定功能硬件,而执行片段时需要使用数学运算和带宽。完全重叠能让设备同时利用 GPU 上的所有硬件区块。

  TBDR 作为一项技术,和 Imagination 的 PowerVR 有着紧密的联系。后者选择了比较与众不同的方式,与桌面 GPU 并行开发,在第一代 iPhone 问世时崭露头角,是专为移动平台优化的完美 GPU 架构,它的能效有着 PC GPU 无法企及的优势。

  不过虽然今年春天 Imagination说了,苹果还没有证明他们没有侵犯 Imagination 知识产品,但是现在 Imagination 好像已经不再絮絮叨叨地称苹果新GPU使用了任何未获得授权的PowerVR 技术,相反 Imagination 现在已是自身难保,在没有了苹果的订单之后情况急转直下,最近有消息称他们已经把自己卖出去了。

  另外虽然目前成功的 GPU 架构不多(很多尝试最终都以失败告终),可 TBDR 也不是 Imagination 完全独有的。这就跟 CPU 行业一样,虽有很多竞争者都尝试打破现状,但是目前移动设备 CPU 还是 ARM 架构主导,PC 和服务器还是英特尔的 x86 架构主导。

  苹果的 Metal 2 向开发者提供了 TBDR 的细节,以便开发者优化内存使用,提供更细粒度的同步让 GPU 可以完成更多工作。苹果还表示新 GPU 有一些特性能够极大强化 TBDR,能让第三方应用和游戏的性能和功能达到一个新的层次。

  四核 ISP 神经引擎

  开发全新的 GPU 架构“还不是那么具有创造性”,所以 A11 仿生芯片的图形信号处理器 ISP 中还有全新的神经引擎,它能够解决各种特定任务,比如匹配、分析和计算摄像头传感器图像数据中的数千个参照点。

  这些任务其实可以由 GPU 来完成,但是网络引擎已特别针对矩阵乘法和浮点处理进行逻辑优化,所以它特别擅长处理这些任务。

  网络引擎本身有两个平行核心,用于处理实时就算,每秒能够执行 6000 亿次运算。也就是说除了能够像上一代 ISP 一样,在照片上使用复杂的效果之外,它也能够对实时视频使用效果。除了使用各种效果,它也能够让相机系统识别场景中的物体及结构构成,以追踪和聚焦用户当前拍摄的物体。

  网络引擎也是 A11 仿生芯片的名字来源。“仿生”通常是指人获得电机、电子装置增强生物功能,即因为这些增强而有了超人能力。而对于 A11 仿生芯片,你可以反过来理解它。它其实是机器获得类人类功能增强。你还可以这样理解:对于使用这块芯片的人而言,它就是仿生学增强,能让用户完成一般机器人无法完成的任务。

  6 个新的 CPU 核心、第二代性能控制器

  A11 仿生芯片的第三个重点是苹果自助设计的 ARM 架构 CPU 核心。苹果自 2010 年开始推出定制 A4 SoC,在随后几年迅速完善其设计。2013 年推出首款 64 位 ARM A7 芯片,行业竞争对手一时之间都傻眼了。

认识苹果A11仿生芯片里5个新的定制引擎


  去年的A10 Fusion之名源于一个新的架构,它实际上由 2 个高性能核心和 2 个高能效核心组成,两组不同性能的 CPU 内核设计就可以很好的解决,每一组内核所起到的作用明显不同,更多是为了在性能和效能之间非常平衡。简单的说,通过内藏于 A10 内部定制的硬件级别的管理器,可以让芯片更好地管理、组织、协调和分配设备上的各项任务,根据最大处理能力或者节能任务要求,决定如何分配 CPU 内核的使用。

  今年苹果指出,他们的第二代性能控制器能够在更低能耗的核心上执行任务,或者在更快的高性能核心上加快流程,甚至能够让整个 6 核 CPU 火力全开。使用不对称多任务处理设计,A11 仿生芯片就能够根据需要处理的任务,按比例单独激活任意数量的内核。

  在多个核心上处理多个任务需要的不仅仅是 SoC 上的多个核心,应用和 OS 特性也需要有针对性设计,以充分利用这些核心。而其实早在 iPhone 问世之前多年,苹果在操作系统层面就有这样的针对性设计,苹果第三方开发者也是如此。

  苹果已经详细介绍过他们的软件操作系统战略:关闭不必要的处理器单元,对进程进行有效定序,这样它们的调度运行就能在最大程度实现快速、高效。如今芯片硬件中也采用相似的战略。其他移动设备厂商,比如三星和 LG 等则永远不要开发自己的 PC OS 平台。

  谷歌从一开始就是往便携移动平台的方向对 Android 进行调整,并不适合那些对性能有要求的用户。谷歌并没有真正意义上的平板电脑或桌面计算业务,手机平台也是针对平均售价低于 300 美元的手机——Android One 价格是 100 美元,可以说很有竞争力了。Android 买家其实是广告的受众,而不是对UI、应用性能或多任务处理支持等复杂特性要求比较高的用。Android 应用还是为了便于广告投放而优化。

  A11 两个性能优化的通用 CPU 相比去年 A10 的,速度有了 25% 的提升,能效核心则有更大的提高,A11 能效核心增加到 4 个,速度提升了 70%。

认识苹果A11仿生芯片里5个新的定制引擎


  Geekbench 跑分中,同等配置的 iPhone 7 和 iPhone 8 在有着明显的差异,单核速度后者比前者快 25%,多核快 80%。

  这值得特别提出来,因为苹果的这款芯片还有新的神经引擎、GPU、相机 ISP 以及其他功能,超出了一般处理器跑分测试有效测试的范围。

  多年来三星也在营销他们的八核处理器,然而三星处理器和苹果的对比实在太鲜明,三星单核其实很慢,操作系统没有优化,无法有效利用多核性能。谷歌甚至还宣称 Nexus 7 有 16 核(CPU 和 GPU 核心总和),然并卵,营销始终只是营销,设备并不会因此变得更快一点。其实设备不仅一点都没有变快,随着使用时间越来越长,设备的性能不断减弱。

  相比各种吹嘘营销,苹果则突出产品在实际应用中的表现,比如 A11 仿生芯片为 3D 游戏和 AR 体验进行了优化。

  除了 CPU,苹果在 A7 中还设计了 Secure Enclave 来存储敏感数据。苹果表示 A11 仿生芯片在这方面有了提升,不过没有详细介绍。

  SSD、安全存储

  A11 仿生芯片中还有其他特别的特性比如超快 SSD 存储控制器集成了定制 ECC 算法。这不仅仅是为了提升速度。苹果硬件技术高级副总裁强尼·斯洛基(Johny Srouji)表示:“用户购买设备,存储的耐用性和性能应该与设备保持一致。”

  也就是说设备上存储的数据(文件、应用和照片)能得到更好的保护,尽量避免错误或者存储失败等问题,降低丢失内存和文件的风险,也避免设备使用一段时间之后莫名其妙变慢的问题。这是很多 Android 设备的通病。

  苹果在 2015 年 MacBook 上首推定制 NVMe SSD 存储控制器,在硬件层面优化 SSD 读写。然后在 A9 芯片中将这项技术引入 iOS 设备中。当初开发NVMe 是为了企业市场,而不是消费者电子产品。因为没有适合的解决方案可将 NVMe 控制器添加到手机上,有比较便宜的、现成的(有一定年代的)协议可访问 SSD 存储。苹果就自己开发了。

  A11 使用的是苹果第三代 iOS 存储控制器,不过需要介绍的东西实在太多,苹果在发布会上也没有对它进行介绍。


认识苹果A11仿生芯片里5个新的定制引擎


  新的苹果视频编码器

  两年前,苹果 A9 带来了基于硬件的HEVC解码器,支持设备播放 H.265 / High Efficiency视频内容。去年 A10 中引入硬件编码器,支持 iPhone 7以那个格式创建和保存内容。

  iOS 11 也支持这些新特性,并在相机设置中添加了相应的“高效视频捕捉”选项。打开这个选项,照片就会使用HEIF 格式,视频使用 HEVC 格式压缩。
 
  这些 High Efficiency 格式的优点在于能够极大减小高像素照片和视频占据的空间。

  苹果表示,HEVC 格式下 1 分钟的 4K 30fps 视频大小为 170MB, H.264 格式的话同样的视频大小为 350MB,后者是前者的2倍。

  要播放这些 HEVC 视频内容自然需要能够解码它们的设备。A9 之前的 iOS 设备可以软解,可是相比硬解,软件需要的时间更长,而且非常耗电。

  HEIF视频可以转换成 H.264 视频,或者用户可以默认“大部分兼容”,从而继续以 JPG 格式保存图片,以 H.264 格式来保存视频。但这也就意味着禁用 4K 60fp(以及 24fps 电影设置)来录制视频。

  苹果为 A11 开发专属视频编码器,还公开了这一点,着实有趣啊!以前在iPod和其他设备中,苹果会直接使用行业中已有的标准,整合支持各种音频和视频编解码器,包括微软的 WMA、WMV 和 VC-1 等。苹果没有激活这个动能,而是选择使用 MPEG LA 合作伙伴开发的行业标准。

  我们不知道微软是否获得 Windows Media IP 对苹果所购买芯片的授权,可还有一个更大的问题就是苹果需要问他们不想使用的东西付钱。如今苹果自己开发视频编码器,他们就只需要针对支持的格式优化,而不是芯片供应商选择的所有编解码器。

  谷歌的 YouTube 起初是与苹果合作为 iOS 用户提供 H.264 视频内容。不过谷歌有意完善他们从 On2 收购来的 VP8 和 VP9 编解码器。虽然 YouTube 还是继续为 iOS 用户提供 H.264 视频,可是 YouTube 视频没有 H.264 格式或者更新的 H.265/HEVC 格式,所以 Safari 用户无法在网页上查看 4K YouTube 视频。

  所以你会看到 Apple TV 4K 也无法播放 YouTube 4K 内容,这其实还是因为谷歌不提供 Apple TV 4K 可以解码的内容。现在还不知道苹果和谷歌会如何解决这个问题,谷歌是不是继续拒绝对 iOS 设备提供 4K 支持。

  iPhone 7、iPhone 8 和 iPhone X 中整合了高效、专门优化的 HEVC 编码器后,用户存储更多照片和视频需要的空间却更少。可以想到的是,这也能够降低 SSD 存储磨损,因为有大约一半东西会被写出、移动然后突然抹去。

  HEVC 还支持录制更高帧率的内容。iPhone 8 和 iPhone X 支持录制 4K 60fps 视频。iPhone 7录制的 4K 视频虽然也很清晰,但是如果录制过程中摄像头或拍摄对象的移动速度过快,画面就会出现抖动。支持 60fps 帧率的话,视频看起来就会更好。

  不过帧率越好,如果没有先进的压缩技术,一分钟的视频可能会占据800MB空间。使用 HEVC,4K 60fps 视频相比 4K 30fps 视频占据的空间也没有增加很多。在这里要提醒用户,HEVC 60fps 视频需要强大的处理能力或者专门的硬件解码器才能播放。旧款 Mac 播放 iPhone 7 录制的 4K 视频已经非常吃力了。

  虽然我们介绍了这么多关于 A11 仿生芯片的内容,但是这块芯片里还有很多未被公开的秘密。