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称这是最近几代性能飞跃最显著的一次。
说到匀倀ECint 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。