再次打败安卓 苹果A12为何是迄今最强手机芯片?
上个月,苹果正式推出新一代 iPhone,包括 iPhone XS、iPhone XS Max 及 iPhone XR。按照苹果的宣传,iPhone XS 系列是自家迄今为止最先进的新一代 iPhone,实现了智能手机面向未来的一次巨大跨越。不过,三款新品都搭载了强大的 A12 仿生芯片。对于这枚芯片苹果声称,A12 仿生是 iPhone 迄今最智能、最强大的芯片,采用开创性的 7 纳米芯片,具有更节能的设计,提供出众的性能表现。
具体到 A12 仿生芯片内部和性能,苹果没有非常详细的讲解,只是简单的表示 A12 仿生采用六核心融合架构,与 A11 仿生相比,两个性能核心的速度提升最高可达 15%,四个能效核心的节能最高可达 50%,同时苹果自主设计的新四核心图形处理器,其图形性能提升最高可达 50%。
那么,究竟苹果口中所说的 A12 仿生芯片与上一代相比达到宣传的性能提升吗?CPU 和 GPU 实际性能如何呢?只是 iPhone 迄今为止最强大而已吗?与安卓阵营的 SoC 芯片相比又如何呢?近日,权威评测站 AnandTech 对 A12 进行了相当详细的评测,并认为 A12 是当前移动领域最强的芯片,我们来看看这份评测报告中讲述了些什么。
第一枚商用的 7 纳米芯片结构分析
AnandTech 表示,在过去的几年里,苹果的芯片设计团队始终引领行业架构设计和制造工艺。Apple A12 是苹果又一次飞跃,因为它是全球第一枚商用的 7nm 芯片。
当谈及工艺制程,一般来说,数字越小,晶体管就越小。尽管近些年更先进的工艺节点已不等于实际更小的物理尺寸,或者说两者无必要关联的意义,但依然可以代表密度的提升。因此,在更先进工艺的芯片内,总是能装入更多的晶体管。
此前,另一专注芯片结构解析的 TechInsights 公布了关于苹果 A12 的内部图片,因此 AnandTech 据此发布了一篇简要分析。
AnandTech 称,12 仍遵循此前苹果 SoC 芯片的布局结构,在右边可以看到 GPU 集群,内有四个 GPU 核心和共享逻辑。而在下边则是 CPU 的复杂结构,2 个大 CPU 核心靠中间偏左,在其靠右一旁是更大的 L2 缓存,然后紧挨着 4 个小 CPU 核心以及为其配置的 L2 缓存。
芯片中间是 4 大块 SRAM,作为系统缓存的一部分,位于内存控制器及内部系统互连和块储存器子系统之间,主要当做 SoC 范围缓存层的作用。苹果利用这块充分实现节能功能,因为 DRAM 内存交换在能耗使用方面一点不小,直接在芯片内缓存内容可以减少大量的能耗,还能增强性能。
苹果 A12 芯片的系统缓存发生了自 A7 推出以来最大的变化,布局上的巨大变化也相当于这块功能上的巨大变化,现在可以清楚地看到这一部被分离成明显的四块。在之前苹果的 SoC 芯片如 A11 或 A10 上,系统缓存看起来更像一个逻辑块,似乎是两块,如今块数增加可能意味着这部分的性能发生了非常大的变化。
最后,A12 芯片最重要的变化之一是 NPU 神经网络引擎的一次重大改造。针对这部分,苹果官方声称已经从 A11 的双核设计转变为全新的八核设计。去年据一些传闻了解,苹果的 NPU 设计似乎来自 CEVA IP,不过这点从未得到完全的确认,因为苹果也不希望这其中的细节被人所知,而且官方的营销材料多次提到“Apple-designed”,强调这是苹果内部自主 IP。
A12 采用了 8 核设计,其实际的理论性能提升接近 8 倍,从 A11 的 600GigaOPs 增加到 A12 的 5TeraOPs。通过对比 A11 到 A12 大小的变化,可看到台积电新 7nm 制程节点带来的好处。需要注意的是,芯片内几乎所有的 IP 块都发生了变化,所以用很难做有效的对比,尤其是确定新支撑对密度提高是多少。
尽管如此,如果将单个 GPU 核心作为对比的参考,不难发现,A12 与 A11 相比,其尺寸减少了 37%。很明显,新的工艺制程的确帮助苹果在 A12 内塞进了更多的 GPU 核心,而且 GPU 内核在 A12 中真的非常小。
CPU 部分更大了
在 CPU 综合体部分,参见来自 TechInsights 和 ChipRebel Apple A11 的图(下图,前者是 A12,后者是 A1)。A12 新的 CPU 核心变得更大了,而且这应该是苹果几代 A 系列芯片以来 CPU 布局上变化最大的一次。同时,新“Vortex CPU”核心中 L1 缓存翻了一倍,从 64KB 增加到 128KB。同时,SRAM 这块也是之前的双倍大小,其主要归因于 L1 指令缓存,因为现在已经加到到了 128KB。
在大内核方面,全新 A12 的 L1 从 64KB 跃升到了 128KB,这里的增长是毫无疑问的。然而,转到 L2 缓存,AnandTech 认为这就有点奇怪了,特别是关于延迟方面。很明显,在 3MB 范围内,延迟会增加,现在直接到了 6MB 左右。需要注意的是,只有在完全随机模式下访问时,才会出现较慢的每秒 3MB 的行为。
AnandTech 不打算深入讨论这个问题,而是深入系统缓存服务的 6MB 以上区域。他们表示,一开始很难弄清楚这一点,因为整体延迟较低会造成偏移,但总的来说,延迟曲线在达到大多数 DRAM 延迟之前会进一步扩展到 4MB 左右。这与之前在芯片内部实际看到的情况是一致的,即新系统缓存块不仅加了一倍,而且容量也从 4MB 到 8MB 完全增加了一倍。
继续看小内核,之前 A11 小内核的 L2 被限制在 512KB 以内,而 A12 则高达 1.5MB,然而 AnandTech 认为他们被高速缓存的电源管理策略迷惑了,因为看看 A11 Mistral 核心延迟,可以看到他们在 768KB 和 1MB 之间明显跳跃,但在 2MB 的 A12 内核中也可以看到了类似的跳跃。
AnandTech 表示,大核心的 L2 缓存在 A11 和 A12 之间没有看到任何结构上的变化,两者都有 128 个 SRAM 宏实例,被分成两个块。如果 L2 确实只有 6MB,那么这意味着每个 SRAM 块为 48KB。在小内核中使用了相同的 SRAM 宏,A12 小内核 L2 已从 16 个增加到 32 个,看似增加一倍。然而,L2 实测延迟深度至少增加了三倍。总之,在 A12 上“Tempest 核心”似乎只有 512KB 可用,而 A12 实际物理系统缓存可能达到了 8MB。
引入无损内存压缩技术的 GPU 更强了
在 GPU 综合体部分,AnandTech 称对 A12 有很高的期望,不仅在性能方面,而且还包括在架构方面。去年有一份来自 Imagination 的官方新闻稿称,苹果已经通知他们未来在 15 至 24 个月内不再在新产品中使用其 IP,事实的确如此。这最终导致了 Imagination 股票价格暴跌,随后公司被出售给一家公司,而苹果则拥有了自主 GPU 设计。
苹果宣布 A11 GPU 自主设计时,其内部看上去仍然非常很像 Imagination 的衍生设计,因为其块设计非常类似于之前 Rogue 那一代,仍然是 TBDR(基于平铺的延期渲染器)设计,而这方面 IMG 拥有诸多专利。最重要的事实是,苹果仍然公开支持其专有格式 PVRTC (PowerVR 纹理压缩),这意味着其 GPU 仍然可能与 IMG 的 IP 有明显关联。在这里,AnandTech 认为这不是通常所说的“干净”设计。
至于 A12 GPU,参见来自 TechInsights 和 ChipRebel Apple A11 的图(下图,前者是 A12,后者是 A1),其型号为 G11P,仍看到了一些非常明显的类似于去年 A11 GPU 的设计,各个功能块在很大程度上似乎位于相同的位置,并以类似的方式构造。
AnandTech 认为,苹果在 A12 GPU 上最大的进步是现在支持了无损内存压缩技术。他们表示,当初在发布会上听到这个消息时,非常惊讶,因为这将意味着两件事:首先之前苹果 SoC 及 GPU 显然没有内存压缩技术,再者现在增加该技术支持本身就足以显著提升新 GPU 的性能。
内存压缩,主要是指从 GPU 到主内存的帧缓冲区压缩。在桌面领域,像 Nvidia 和 AMD 这样的显卡提供这一功能已有很多年了,即使在内存带宽没有增加的情况下,它也能提高 GPU 的性能。智能手机 GPU 同样需要内存压缩,这不只是因为移动 SoC 上的带宽有限,而更重要的是由于高带宽要求时可降低相关功耗。ARM 的 AFBC 帧缓存压缩技术一直是移动领域公开的机制,而且高通和 Imagination 等其他厂商也有自己一套的压缩内存相关技术。
苹果只在 A12 上介绍了这一功能,看起来似乎太晚了,但意义却很重大。因为这意味着 A12 相比前一代能够在效率和性能上获得异于寻常的巨大提升。考虑到苹果在发布会上也表示新 GPU 性能提升显著,所以引入内存压缩技术此举意义重大。
A12 CPU 内核频率
在过去的几代芯片中,苹果一直在稳步提高芯片大内核的频率,同时也提高微架构的 IPC 性能。AnandTech 对 A12 和 A11 的频率特性做了快速测试,得出了下面对比的表格:
大内核方面,从 A11 到 A12,实际上最大的提升就是拉高了最大频率,A11 的 Monsoon 大核心为 2380MHz,A12 的新 Vortex 大核心则提高到 2500MHz,不过在 ST 应用中这只是 5% 的频率提升。到第二大线程的频率,A11 和 A12 的频率分别为 2325 和 2380MHz。至于第三线程的测试,A11 和 A12 的频率调度有所不同,A11 已经下降到了 2083MHz,A12 则保持同样的 2380,直到达到散热极限才最终减速。
小内核方面,相较于 A11 的 Mistral 内核,A12 新的 Tempest 核心实际上更加保守。当 A11 只有一个小内核运行时,其最高频率可以达到 1694MHz。而在新的 A12 芯片上,小内核最高频率限制为最高 1587MHz。同时,当 4 个小内盒完全满载时,频率也进一步从 1587MHz 轻微降低到了 1538MHz。
内存延迟大大改善
正如前述,苹果显然在 A12 缓存层次结构和储存器子系统中投入了大量的工作。通过 AnandTech 提供的线性延迟测试图,可以看到对于大核和小核的完全随机延迟改善明显,具体如下:
与 A11 的 Monsoon 大内核相比,A12 的 Vortex 核心虽然只高了 5%,但是 L2 内存延迟从 11.5ns 降到了到 8.8ns,这是 29% 的提升。这意味着现在新 Vortex 核心的 L2 高速缓存可以在更少的周期内完成操作。在 Tempest 小核心方面,L2 周期延迟似乎保持不变,但在 L2 分区和电源管理方面又发生了很大的变化,允许访问更大的 L2 物理块。
AnandTech 只在 64MB 进行了测试深度测试,显然在这个数据集中,延迟曲线并没有变得平缓,但是可以看到 DRAM 的延迟已经有所改进。当小内核处于活动状态时,内存控制器 DVFS 的最大频率会提高,这可以解释为什么 Tempest 小内核的 DRAM 访问存在较大差异,而当大内核有大线程运行时性能会更好。
A12 的系统缓存在其行为设计上发生了一些重大的变化。不可否认,带宽是缓存层次结构的一部分,虽然 A12 相比 A11 有所减少,但延迟却得到了很大改善。这里主要可以归因于 L2 预取器,或者系统缓存端的预取器,包括延迟性能和流预取器数量都已经增加。
指令吞吐量和延迟时间
为了比较 Vortex 大内核的后端特性,AnandTech 测试了指令吞吐量。后端性能由执行单元的数量决定,延迟由设计质量决定。AnandTech 表示,A12 具有 6 个整数执行管道,其中 2 个是复杂的单元,还有 2 个加载/存储单元,2 个分支端口和 3 个 FP/矢量管道,这就等于是 13 个执行端口,远超过 ARM 即将推出的 Cortex- A76,也比三星的 M3 也更宽。事实上,苹果的微架构在通道宽度方面似乎远远超过了其他任何阵营,包括桌面 CPU。
A12 CPU 性能:达到桌面级水平
关于 CPU 性能的测试,AnandTech 选择的是编译的 SPEC 2006 这个软件。在他们来看,SPEC 这个测试软件权威性更足,并称其为一个重要的行业标准化的 CPU 测试基准套件,这与一般测试 CPU 负载性能不同,所处理器的数据要大的多,也更复杂,重点测试系统的处理器,内存子系统和编译器等多个不同的基准测试。
AnandTech 表示,虽然 GeekBench 4 已经成为当前非常受欢迎的行业基准软件,但他们希望可以有一个完整的跨平台的基准测试套件,而且不只是测试峰值性能。因此,SPE C2006 被选为更具有代表性的高性能的跨硬件的基准测试软件,它能充分展示微体系结构的更多细节,特别是在内存子系统性能方面。
不过,AnandTech 也指出,由于他们编译的 SPEC 2006 基准测试套件没有得到 SPEC 官方验证,因此接下来的测试的数据仅用于参考,而且性能测试是在可控的环境下进行的,并准备了帮助手机散热的风扇,目的是保证 1 到 2 小时内的热量不会影响测试。
关于测试之后制作的图表,AnandTech 称右侧的数据越大表示 SoC/CPU 的性能越好,数字代表分数。而左侧轴上,表示给定工作负载的能耗使用情况,左边出来越长意味着需要更多的能耗,越短表示越节能,每瓦的平均功率指标相当重要,这里用到了瓦和焦耳作单位。而在数据对比方面,选择了之前做个测试的 A11、高通骁龙 845、骁龙 835、三星 Exynos 9810、Exynos 8895 等。
第一个测试从 SPECint 2006 工作负载开始:
从上图可以看到,在大部分工作负载下,A12 的时钟频率比 A11 高了 5%。AnandTech 称,考虑到无法真正锁定 iOS 设备上的频率,所以这只是基准测试期间运行时频率的假设而已,在 SPECint 2006 测试中,A12 的平均表现比 A11 好约 24%。
在 456.hmmer 和 464.h264ref 这两项测试中 A12 芯片的提升最小。AnandTech 表示,这两个是整个套件中瓶颈最多的测试项目,然而 A12 在这些方面似乎并没有什么大的提升,分数只有很小的涨幅,这主要还是得益于更高的频率以及缓存层次结构的改进。
在 445.gobmk 测试项 A12 的改进就相当大了,提升达到 27%。AnandTech 称他们测出 A12 在高速缓存行的存储处理方式上确实有一些重大变化,而在分支预测精度上没有显著变化。不过,在 403.gcc、429.mcf、471.omnetpp、473.Astar 和 483.xalancbmk 这几项对内存子系统性能测试方面,A12 性能提升就非常大了,提升幅度从 30% 到 42% 不等。很明显,缓存层次结构和内存子系统的改进再次得到回报,AnandTech 称这是最近几代性能飞跃最显著的一次。
说到SPECint 2006 测试中的能效方面,总的来说 A12 相比 A11 在能效上提升了 12%,但这只是在最高性能下减少了 12% 的能耗,AnandTech 表示若比较 A11 和 A12 两代芯片在性能/功耗曲线上的变化,的确体现出了平均 24% 的性能提升,但在性能提升幅度最大的测试项中(也就是前面有关内存工作负载的测试),A12 的功耗其实是显著上升的,所以尽管 7nm 工艺本身能效更高,但 A12 依然比新工艺节点更耗电。在整个 SPECint 2006 测试期间,此前 A11 的平均功率为 3.36W,而 A12 增加到了 3.64W。
再看上面第二个 SPECfp 2006 测试图,AnandTech 还进行了有很多内存密集型的测试。在 SPECfp 2006 测试中,A12 相比 A11 的性能提升平均达到了 28%。在 433.milc 测试项性能上获得了 75% 的显著提升。同样的情况还出现在 450.soplex 项目,AnandTech 表示,A12 出色的缓存层次结构和内存存储性能的组合使其性能大大提升了 40%。
470.lbm 这项测试充分展示了苹果 A 系芯片与 ARM 或三星内核相比有多方面性能优势,完全就是碾压级别,A12 指令执行吞吐量的优势为性能做出了重要贡献。比较奇怪的是,高通以前的骁龙 820 芯片表现都还由于最近两年的 SoC 芯片。
而关于能效方面,AnandTech 表示,A12 在 SPECfp 2006 测试中的表现与上面的 SPECint 2006 类似,性能跃升同功耗也有所增加,其中 433.milc 测试项的功耗从 A11 的 2.7W 提高到了 4.2W,这是 75% 的功耗增加。就 SPECfp 2006 测试整体功耗而言,A11 是 3.65W,A12 增加到了 4.27W。除了 482.sphinx3 测试项之外,上图中所有项目的功耗都有所增加,最大值达到 5.35W。
测完 SPECfp 2006 和 SPECint 2006,AnandTech 放出了从 A9 到 A12 并包含最新 Android 阵营 SoC 芯片的综合性能横向对比,如下图:
AnandTech 表示,就总体而言,新 Vortex 内核和 SoC 内存子系统的架构改进,使得苹果 A12 芯片比苹果营销所宣传的性能优势大得多,即便是与 Android 阵营最好的 SoC 相比,无论是性能上还是能效上的优势都非常明显。可以说,苹果 SoC 比所有 Android 阵营的 SoC 芯片都具有更高能效,并且还能提供近两倍的性能优势。如果将 SoC 所用的功耗统一标准化,那么苹果 A12 的表现将领先 Android 阵营 SoC 三倍,无需对此感到惊讶。
做完两项测试小结,AnandTech 还谈到了竞争对手面对苹果 A 系芯片时的境况如何。例如说,三星 Exynos 9810 芯片能耗是去年苹果 A11 芯片的两倍,但性能差距仍达到了 55%。有意思的是,AnandTech 声称,虽然不清楚 A12 的性能与台式机 CPU 差距有多接近,但根据之前一些测试数据对比发现,A12 在单线程性能方面已经优于某些英特尔中档 Skylake CPU。
当然了,AnandTech 也没有说得很绝对,他们称很多测试要考虑到测试工具在各平台编译问题,以及 CPU 的频率因素。但就当下的测试条件下,他们直言苹果的移动 SoC 在 ST 应用某些方面性能优于桌面 CPU。
A12 小核 Tempest CPU 测试
苹果公从 A10 芯片开始配备“能效”核心,也就是通常所说的小核心,从某种意义来说,这也是 A 系列芯片首次引入异构多核结构,这也验证了 ARM 最初的设计方向,也就是通过单独的低功耗物理内核有效地降低 SoC 的整体功耗。A12 的小内核 Tempest CPU 已经是第三代了,依然是完全异构独立于大内核的设计。
AnandTech 表示,A12 的 Tempest CPU 架构与 A6 芯片的 Swift 微架构相似,苹果应该是基于此设计将其移植到 64 位系统,并将其当做低功耗的 CPU 核心。Tempest CPU 的最高频率可以达到 1587MHz,相比 A11 的 Mistal 小内核的 1694MHz 更低,所以在下面 SPEC 测试中,后者比前者快 6.7%,造成这样的差距就是频率的问题。
从整个测试来看,其实 A12 的小内核性能与去年 A11 的非常相近,而得益于 7 纳米的工艺制程,在 SPEC 2016 测试的过程中,Tempest CPU 能效相比 Mistal CPU 提升了 35%。不过,AnandTech 指出,其实 7 纳米工艺并不是提高 Tempest CPU 能效的关键,主要还是频率更低的原因,如果在同频的情况下可能功耗会更高,当前 Tempest CPU 与更高频的 Mistal CPU 的性能测试得分差不多,主要得益于内存缓存层次结构和内存子系统的改进。
在 FP 基准测试中,虽然 A12 的 Tempest CPU 比 A11 的 Mistal CPU 性能确实更优,但效率仅高出了 17%。与自家的大核相比,小内核仅提供了三分之一到四分之一的性能,只不过功耗功耗使用不到还不到一半。其实将这 A11 和 A12 的小内核与其他基于 ARM 设计的芯片相比,也没有太多惊喜之处。
AnandTech 称,最让人惊喜之处应该是在 SPECint 测试中,A12 小内核的性能几乎与 ARM 两年前的高性能内核水平相当。更具体来说,在 SPEC 的整数测试中,Tempest CPU 相当于 2.1GHz 主频的 Cortex-A73 内核。但在 SPECfp 测试中 A12 的小内核并不具优势,因为没有专门服务于浮点运算的资源,只是能效很高而已。
在这部分测试的最后,AnandTech 表示苹果设计的 CPU 小内核性能比想象中好得多了,因为在 ARM Cortex-A55 上完成 SPEC 测试要花很长时间,根据不同的测试项目,两者的性能差异是 2 – 3 倍。AnandTech 强调称,其实 ARM 的小内核性能在很多工作负载着性能已经不足,这就是为什么会有三丛集 CPU 架构的原因。就目前而言,小内核的最大性能与大内核的最低性能,都在朝着一个相同的方向发展,所以未来会怎样还未知。
A12 神经网络引擎“理论”性能
新 A12 芯片最重要另一个改进就是神经网络引擎,苹果宣称这是内部自主设计的。正如在开头部分看到的,当前神经网络引擎在整个芯片中已经占据相当大一部分,其所占面积与两个 Vortex CPU 大内核接近。有意思的是,AnandTech 没有太好的测试神经网络引擎的工具,所以目前只能选用国产测试工具鲁大师,只是因为其 AI 性能测试支持跨平台。
首先是 Inception V3 项目测试:
再者是 ResNet34 项目测试:
最后是 VGG16 项目测试:
总的来说,苹果官方所述的 8 倍性能提升在上述称成绩中并没有得到体现,分数显示的是 4 倍到 6.5 倍提升。这里有一个问题是,iPhone X 的 A11 性能与 iPhone 7 的 A10 非常接近,主要是因为苹果在 GPU 上执行 CoreML,也许是因为 A11 的 NPU 未开放 API,所以测试工具无法真正执行测试。
华为麒麟 970 的 AI 人工智能性能落后 A12 大约 2.5 倍,预计本月中旬华为新发布的麒麟 980 芯片应该能够明显缩小与 A12 的差距。高通的骁龙 845 处理器表现也不差,基本上与华为麒麟 970 的水平相当。另外,鲁大师的 AI 性能测试使用的是 SNPE 框架进行理论加速,目前还不支持 NNAPI,所以谷歌 Pixel 2 和三星 Galaxy Note 9 在测试中成绩差得可怕,因为只能回到 CPU 内核进行加速处理。
在 AI 性能测试的功耗方面,A12 在测试过程中功耗达到 5.5W。AnandTech 称不清楚为何会有那么高的功率,这高过了之前性能测试的平均功耗,例如 GPU 的功耗在 2.3W 到 5W 之间。不过苹果愿意将功率提到 5.5W,说明苹果愿意在 AI 性能上挑战极限,追求最高的突发性能。
综合系统性能
虽然综合性能测试比较重要,AnandTech 称他们也希望很好地利用各种规范,但是 iOS 平台系统性能测试套件相比 Android 又少又糟糕,所以能做对比的也就网络浏览器测试。
首先是 Speedometer 2.0 测试,这是最新行业标准的 JavaScript 基准测试,可测试最常见和最新的 JS 框架性能。在 Speedometer 2.0 测试中,A12 与 A11 相比性能大幅跃升了 31%。对此 AnandTech 表示,苹果自己营销的性能数据其实远低于新芯片的实测数据。当然了,安装了 iOS 12 系统的设备相比之前也有小福提升,这不仅得益于 iOS 调度处理负载方式的改变,还得益于苹果所使用的 JS 引擎已进一步改进。
接着是 WebXPRT 3 测试,这也是一个浏览器测试工具,但工作负载情况更加广泛和多样化,包含了大量的处理测试。在 WebXPRT 3 这项测试中,iPhone XS 比 iPhone X 强 11%。同时,iOS 12 系统也让老设备在性能上得到了提升,其中 iPhone X 的得分从 134 分上升到了 147 分,即 10% 的提升,iPhone 7 也提升了 33%。
iOS 12 CPU 调度加载机制分析
苹果所指的 iOS 12 系统将让设备性能有显著提升,这主要归功于的新调度机制,充分考虑了各个任务的负载方式。AnandTech 称,iOS 系统的内核调度程序,通过跟踪线程的执行时间,并将其归纳为某种利用率指标或度量,然后交给 DVFS 机制来调度。决定负载如何计算或负载如何随时间变化的算法,通常只需一些简单的软件决策即可,苹果可以将其调整和设计到他们认为合适的方式。
由于 iOS 系统的内核是完全封闭的,所以很难剖析 iOS 12 与 iOS 11 相比究竟改变了什么,为此 AnandTech 采用实际测量的方式来查看调度机制的改变,其中相对简单的测量方法,就是跟踪负载从空闲到峰值性能的频率,特别是 iOS 12 系统升级前后的对比。下面开始从搭载 A8 芯片的 iPhone 6 一直测量到 A12 芯片 iPhone XS。
首先从 A8 芯的 iPhone 6 开始,在 iOS 11上测量出了很奇怪的结果,因为从空闲到满载性能的调度行为非常不寻常,重复了几次结果还是一样。A8 CPU 空闲时为 400MHz,并在此频率停留了 110ms,接着跃至 600MHz,然后经过 10ms 再次提升到 1400MHz 的峰值频率。不过,在 iOS 12 系统上调度行为呈现一种更为阶ti 的形式,更早提前升频,并且在 90ms 后达到峰值性能。
iPhone 6S 在 iOS 11 上的调度行为与 iPhone 6 明显不同,A9 芯片的 DVFS 调度机制升频非常慢。CPU 过了 435ms 才达到其最大频率。不过,随着 iOS 12 的更新,生频到峰值频率的时间已经被大幅削减到了 80ms,大大提高了短时交互下的性能。
iPhone 7 系的 A10 调度在 iOS 11 上与 A9 有相似的缺点,充分发挥峰值性能的时间需超过 400ms。不过在 iOS 12 系统中,iPhone 7 将这个时间减半,约为 210ms。看起来 A10 与 A9 相比更为保守,但这可能与小内核有关。毕竟看图不难发现,Zephyr 小核心频率最高峰值是 1100MHz,而曲线图频率突然下降到 758MHz,是因为此时小核心换到大核心,才会继续升频率,最后才是大核心的峰值性能。
在 iPhone 8 系和 X 的 A11 调度极致上,iOS 11 与 iOS 12 没有太大的变化,两个版本系统 A11 都能在 105ms 的范围内升至全频。请注意,在 A11 之后,苹果 A 系芯片迅速升到峰值频率的时间比之前几代都要短得多了。
最后是 iPhone XS 系的 A12 芯片,必然无法测量更新前的变化,因为出厂预装 iOS 12 系统。不过可以看到,只需 108ms 的时间 A12 就能达到了峰值性能,从 Tempest 小核心转移到 Vortex 大核心的时间也极短。
AnandTech 测完调度机制之后表示,iOS 12 在旧款 iPhone 上的性能调度与 iOS 存在明显差异,至少测量就能非常直观地发现 CPU 升频曲线的变化。对于 iPhone XS,日用性能上绝对没有任何问题,速度已足够快。AnandTech 还提到,他们日常使用的是 Android 手机,而且会完全关闭动画效果,因为他们认为不关会影响设备的速度,或者或严重掩盖设备的真实性能。然而,虽然 iOS 没有办法完全关闭动画,但是 iPhone XS 依然能快速运行,毫无顾虑。
GPU 性能测试
GPU 的性能提升是 A12 的最大亮点之一,按照苹果的说法,相比 A11 的 GPU 性能提高了 50%。AnandTech 表示,苹果只是“简单”额外添加了 1 个 GPU 核心(A11 有 3 个核心),并在 GPU 中引入无损内存压缩技术,就能实现了性能大提升。其中,内存压缩技术被 AnandTech 认为是现最助于提高 GPU 微架构性能的因素,声称引入内存压缩绝对是一次巨大的转变,但不可否认,苹果花了很长时间才实现这点。
在进行性能测试之前,AnandTech 称他们最大的疑问是 A12 最新 GPU 的峰值性能和峰值功耗如何。因为之前苹果长期都会执行一些所谓“骚操作”,也就是在运行一段时间后,持续性能直接变为性能下降。
首先跑 3DMark Sling 3.1 物理测试,既考察 CPU 更强调 GPU 使用时的平台整体功耗极限。在这一测试中,A12 相比 A11 有很大的进步,过去这项测试对苹果 A 系芯片都不太理想,但是 A12 整体能效提升,性能也得到了一定提高,因此终于可以匹敌 ARM 阵营了。
再者是 3DMark 针对 GPU 图形性能的测试部分,iPhone XS 相比去年的 iPhone X 的持续性能提升了 41%。
GFXBench 测试
最近 Kishonti 发布了最新 GFXBench 5 Aztec Ruins 测试工具,因此 AnandTech 将此测试套件作为选择,新套件针更现代、更新,测试更复杂,同时新增的 Aztec 场景测试提供了更加复杂的效果,更强调 GPU 的运算性能,包括填充率、纹理、着色器效果和带宽性能等。GFXBench 5 测试子项大概如下:
普通模式下的 Aztec Ruins 场景是一个要求不那么高的新测试场景,所以苹果 A12 芯片充分展示了其极高的峰值性能。在 Aztec Ruins 场景普通模式中,A12 相比去年的 A11 提升了 51%。不过,就持续性能表现而言,峰值性能在几分钟后就迅速下降了,并逐步稳定下来,不过在持续性能方面,iPhone XS 的性能相比 iPhone X 仍提升了 61%。并且 A12 也能够在持续性能表现上以 45% 的优势击败 Android 阵营的旗舰芯片高通骁龙 845。
高级模式下的 Aztec Ruins 场景要求就高得多,而且更复杂。不过,这份性能排名中 A12 的性能依然惊人,iPhone XS 的峰值性能仍非常出色,而且持续性能的跑分也不低。在 Aztec Ruins 场景高级模式下,iPhone XS 持续性能同样比 iPhone X 提升了 61%,而领先骁龙 845 的性能差缩减到了 31%,相比普通模式略低了一些,可能在某些方面碰到瓶颈,但依然最强。
在Manhattan 3.1 场景中,iPhone XS 的 GPU 性能相比 iPhone X 提升巨大,达到 75%。AnandTech 表示,A12 取得这样的成绩不仅是因为 GPU 微架构的改进,还要加上 1 个额外的核心,以及全新的工艺节点,但重点还要归功于新的内存压缩技术 。
最后是 T-Rex 场景,A12 再次展示了 GPU 性能的巨大提升。在 T-Rex 场景中,iPhone XS 持续性能相比 iPhone X 提升了 61%,并且傲视群雄。
GPU 功耗
由于新的 Aztec Ruins 场景很多设备还有相关数据,所以这一次 依然依赖于 Manhattan 3.1 场景和 T-Rex 场景测得的数据。A12 的 GPU 由于引入了内存压缩技术,进一步降低了外部 DRAM 的功耗,相当于在高带宽 3D 图形负载下减少了 20%-30% 的功耗,而节省下来的功耗同样可以转换为更高的性能。
GFXBench Manhattan 3.1 场景下测试的功耗,下面数字显示的是设备整机功耗减去空闲功耗(包括屏幕功耗),在设备保持 22 度以下的温度时,峰值状态下 A12 的 GPU 非常耗电,平均功率达到了近 6W,不过这仍不是 GPU 最高功耗,前面 3DMark 测试中(崩溃前)曾经达到 7.5W 左右。
AnandTech 表示,即便 A12 的 GPU 平均功耗不低,但其效率仍超过了所有 SoC 芯片,每瓦功率能够提供的帧率达到前所未有的水平。不过,苹果依然有所谓“骚操作”,仅 3 分钟或者进行三次测试之后,GPU 性能就会因为节流降频下降 25%。所以在下面的功耗表中,提供了“Warm”发热状态下的平均功耗,具体为 3.79W,但可以看出其每瓦能够提供的性能仍然超过了所有 SoC。
在 T-Rex 场景测得功耗数据与上面在 Manhattan 3.1 场景下看到的情况差不多,保持设备凉快也就是 22 度以下的温度时,A12 的 GPU 峰值平均功率达到 6W 多一点。而在在运行 3 次之后,发热的设备再次将功率降低到 4W 以下。虽然性能也下降了 28%,但每瓦性能依然出色。
测完功耗之后 AnandTech 表示,A12 发热时的功耗并不是是持续性能时的功耗,大多数设备的在持续性能发挥时,功耗一般都控制在 3W-3.5W 的范围内。A12 的 GPU 峰值性能和持续性能存在那么明显的差异,与苹果为 GPU 设计的日常应对的场景,以及苹果针对 A12 的 3D 图形处理如何调度 GPU 负载有关。
苹果针对 A12 的 GPU 设计了大量使用场景,例如在大多数应用中都会使用到 GPU 硬件加速进行相机图像处理,在这种用例中,GPU 的持续性能并不重要,因为只是短暂的负载工作,很快就处理完毕。对于节流降频,AnandTech 认为苹果需要做一些优化,毕竟在使用 iPhone XS 玩游戏过程中不会喜欢发热,应该通过某种必要的方式,来保证对持续性能有需求的游戏或应用也能充分利用更高的持续性能。
最后,AnandTech 表示,其实除了发热不久后降频,以及无法持续太久峰值性能之外,苹果最新的 A12 的 GPU 依然展示了行业最领先的性能和能效,至少可以说 iPhone XS 和 XS Max 目前是全球最好的游戏移动设备。
续航水平
测完了 A12,可能大家还想看看 A12 设备的电池续航水平,AnandTech 也对此进行了测试。iPhone XS 配备了2658 mAh/10.13Wh 电池,iPhone XS MAX 的容量则为 3174 mAh/12.08Wh。可以看出,尽管这两款手机都是大尺寸形状的设备,但在同尺寸设备的竞争中,苹果为它门配备的电池容量仍落后于竞争对手。
不可否认,屏幕最大的 iPhone XS Max 配备的电池已经是 iPhone 有史以来容量最大的一块,但与其他手机厂商在同一规格下使用的 3500 – 4000mAh 相比,仍然相形见绌。正如前面在 A12 的 SPEC 测试中 AnandTech 所说的那样,苹果的 SoC 优势之一就是在能效方面遥遥领先,所以这很大程度上弥补了电池容量不足的缺口。
AnandTech 测试续航的方面就是直接在 WiFi 下进行 web 网页浏览测试,不过设定的是一种从混合到繁重的负载测试,让设备浏览多遍他们在服务器上托管的一组网页。测试中,针对一个 web 页面会执行加载、暂停、滚动、暂停等操作,然后再继续到另一个网页,当完成一组页面测试后再重复所有操作,测试中屏幕亮度是固定在 200 cd/m²。
在测试中,iPhone XS 的续航时间与 iPhone X 相比略有下降,减少了 19 分钟。尽管这 19 分钟并不是天大的差距,但令人疑惑的问题还是来了:苹果无论在发布会上承诺 iPhone XS 续航相比 iPhone X 有所改善,尤其使用时间 iPhone XS 比 iPhone X 最长增加 30 分钟,可为何没有得到体现?不过,查看苹果官方页面上网页浏览续航,两者确实同为 12 小时,这里 AnandTech 的测试要复杂和严苛一些,所以续航缩减到了 10 小时内,只是 20 分钟的差距真的有点明显了。
iPhone XS Max 玩也续航测试最后的结果是 10 小时 3 分钟。虽然这样的成绩不错了,但却比 iPhone 8 Plus 的 11.83 小时下降明显。当然了,这里的差异合理化会更容易解释一些,尽管 AnandTech 测试的网页是多样性的,很多暗色或深色页面,但不管怎样,XS Max 采用的 OLED 屏幕在浏览白背景页面时必然更耗电,而且机子屏幕面积也比 iPhone 8 Plus 更大,所以增加的电池容量不足以抵消面板耗电的增加。
AnandTech 比较纠结为什么 iPhone XS 相比 iPhone X 续航时间下降了 20 分钟。为了进一步证实,他们还给 iPhone X 升级了 iOS 12 重新测试,确保测试条件统一而不影响结果。有趣的是,升级 iOS 12 之后 iPhone X 得到的成绩比 1 月份测试时还少了 10 分钟,不过这 10 分钟的差异可以忽略不计,可以肯定 iOS 版本不是影响续航的主要因素。
AnandTech 称他们在对 A12 测试时已经明确,该芯片在工作负载方面缺少更高效了,即使带来了更高的性能,这也应该是相对安全的耗电水平。不过,峰值和空闲之外各个阶段的性能耗电量无法知晓,也就无法验证是否是中等性能状态下功耗更大,毕竟中等性能也是 CPU 执行大量运算阶段。
另外,AnandTech 还进行了另一种假设,认为非常有可能是连接性因素所致,虽然不清楚全新来自博通的 Broadcom BCM4377 WiFi 组合芯片能效如何,但关键是 iPhone XS 使用的不再是高通基带,反而是来自英特尔的 XMM 7560 基带,这可能是影响续航的关键因素之一。
为什么这么说呢?AnandTech 解释称,几年前,由于移动运营商的基带基站没有启用 CDRX,所以遇到了一些严重的配置错误问题,因此他们基本上放弃了 LTE 续航测试,毕竟这导致测试华为设备时续航下降了近 20-30%。事实上,手机续航测试比想象中要困难得多,如果没有受控的环境,就不要轻易执行这项测试。
总的来说,iPhone XS 和 XS Max 电池续航水平还是是不错的,只是并没有达到苹果所宣传的改进,但这其中涉及的不确定性太多了。
小结
最后在评测的小结阶段,AnandTech 表示,苹果 A12 芯片是 SoC 中的怪兽。尽管 A11 已经在性能和能效方面击败了竞争对手,但 A12 在这方面却加倍努力,这要归功于苹果世界级的设计团队,他们能够从 CPU 微架构中挤出更多的提升空间。
A12 Vortex CPU 的内存子系统获得了巨大的提升,这使得 A12 在很多工作负载下获得了显著的性能提升。苹果的营销部门实际上低估了 CPU 方面的改进,只报了 15% 提升。AnandTech 估计,A12 的 CPU 在很多负载测试下的性能会提高 40% 左右,在某些情况下甚至会有更大的提升。苹果的 CPU 现在已经有了非常高的性能,所以更期待未来几年的会如何发展,以及这对于苹果的非移动产品将意味着什么。
在 GPU 方面,苹果官宣的提升确实在承诺的数字之内,但在持续性能表现方面超过了承诺的数字。新 GPU 看似去年的迭代升级,但是添加了第四个核心,并新增了无损内存压缩技术,这一重要的改进将 GPU 性能提升到了新的水平。GPU 方面 AnandTech 认为苹果真的要改进节流降频机制,不是完全不节流,而是应该更少节流,因为直接开放性能上限会非常耗电,并且在游戏的最初几分钟就会给手机带来很大的发热量。
在电池续航方面,iPhone XS 在网页浏览测试中相比 iPhone X 并没有提升,在一定程度上令人惊讶。这不确定这是否与 A12 某种隐性的低能效有关,或者可能与新的 WiFi 芯片或蜂窝调制解调器有关。对于英特尔基带,AnandTech 称他们将会花些时间讨论这个话题,并重新验证续航时间。
对于 iPhone XS Max,电池续航时间低于 iPhone 8 Plus 其实不足为奇,毕竟 OLED 屏幕的能效低于去年 iPhone 配备的 LCD 显示屏,而电池容量的增加并不足以抵消这一点。对于那些认为 iPhone XS Max 大尺寸大电池续航就更好的用户而言,这是需要注意的地方。总之,综合来看,iPhone XS 和 XS Max 是苹果迄今为止发布过的最好的手机。