苹果A12处理器怎么样,A12规格介绍( 三 )


正如之前所提到的,苹果在A12的缓存结构和内存子系统上投入了大量的工作 。回到线性延迟图上,我们看到以下针对大核和小核的完全随机延迟的行为:

苹果A12处理器怎么样,A12规格介绍


大核心方面,与A11的Monsoon核心相比,A12的Vortex核心仅有5%频率提升,但L2缓存的绝对延迟从约11.5ns降至约8.8ns,降幅高达29%,这意味着Vortex核心的L2缓存可以在更短的时间内完成读写访问 。
小核心方面,A12的Tempest核心与A11的Mistral核心延迟表现相似,但A12在L2分区和电源管理方面又有了很大的变化,允许访问更大的L2物理区块 。
这里只进行了64MB队列深度的测试,显然延迟曲线在这个数据集中并没有变得平缓,但可以看出内存延迟已经有所改善 。当小核心处于活动状态时,内存控制器DVFS的最大频率会提高,这也是Tempest核心的内存访问存在较大的差异的原因:当大核心上有高负载时,它们的性能会更好 。
A12的共享缓存也发生了巨大的变化,虽然缓存带宽相比A11有所降低,但访问延迟得到了很大改善 。
指令吞吐量和延迟
苹果A12处理器怎么样,A12规格介绍


由于苹果并没有像Arm和三星一样公布其架构设计,为了比较Vortex核心的后端特性,我们测试了A12的指令吞吐量,其中后端的性能由其执行单元的数量决定,延迟由其设计质量决定 。
Vortex核心与Monsoon核心看起来非常相似,整数除法和浮点除法的执行延迟都减少了2个周期,浮点吞吐量则是翻了一倍 。
从架构的中端和后端来看,Monsoon核心是一次重要的更新 。此前A10处理器的大核心代号为“Hurricane(飓风)”,其解码宽度为6,而Monsoon核心解码宽度增加至7,同时后端的整数ALU单元也从4个增加到了6个 。
Monsoon核心和Vortex核心均有6个整数执行单元(包括2个复杂单元)、2个加载/存储单元、2个分支端口和3个浮点/矢量流水线,这样宽裕的后端执行单元规模远远超过三星M3和Arm即将推出的Cortex A76 。
事实上,如果没有非典型的共享端口情况的话,完全可以说苹果的微架构在后端单元方面远远超过其他任何处理器架构,包括桌面CPU 。
CPU性能2倍于安卓旗舰
SPEC2006是一个重要的基准测试软件,它与其他测试软件的区别在于所处理的数据集更大更复杂 。虽然GeekBench 4已经成为行业中的热门,但它的测试项目较小,工作负载也较轻 。因此使用SPEC2006作为基准测试更有代表性,它可以充分展示微架构的更多细节,特别是在内存子系统性能方面 。
性能测试在一个散热良好的环境中进行,可以保证在1~2小时内完整运行测试套件不会出现问题 。
在左侧轴上,条形图表示给定工作负载下的电能消耗情况,越长的条形意味着消耗的电能越多 。条形上的文字标注显示的是消耗电能的具体数值(单位为焦),以及测试期间的平均功耗(单位为瓦) 。
苹果A12处理器怎么样,A12规格介绍


在大多数工作负载下,A12的大核心频率比A11高5%,但实际上频率并不是锁死的,因而在SPECint2006中,A12的表现平均比A11好24% 。
其中增幅最小的是456.hmmer和464.h264ref这两项测试,这也是SPECint2006套件中成为瓶颈最多的测试 。由于A12架构方面似乎没有真正的重大变化,小幅增长主要归功于更高的频率以及缓存结构的改进 。
而在445.gobmk测试项上A12的改进则非常大,相比A11增幅为27% 。这项测试的负载特征是存储地址事件中的瓶颈以及分支错误预测 。
429.mcf、471.omnetpp、473.Astar、483.xalancbmk以及部分403.gcc测试项对内存子系统很敏感,A12在这几项上取得了30%~42%不等的性能提升,显然新的缓存结构和内存子系统在这方面取得了很大的成效 。

推荐阅读