ARM是一家小公司,但它是整个ARM处理器营地的核心。除了能直接开发ARM兼容体系结构的苹果、高通等极少数公司外,联发和海思等大多数公司都直接使用ARM的公版Cortex-A体系结构认证。
64位时代以来,ARM已经发布了Cortex-A57/A53一大一小两种架构,但只有A53遍地开花,高性能的A57核心在手机市场只有三星、高通在用,面临着难产的尴尬。为此,ARM公司今年2月份推出了A57的继任者——Cortex-A72架构,号称性能是A15的3.5倍,功耗则降低了75%。
当时我们对ARM的Cortex-A72核心了解并不多,只知道A72核心会使用新一代的FinFET工艺生产,包括三星/Globalfoundries的14nm及TSMC的16nm,得益于先进的工艺,A72核心频率更高,可以达到2.5GHz,更高的频率有助于A72增强服务器市场的存在感,这也是它的目标市场之一。
ARM日前公布了Coretx-A72核心的详细架构,Anandtech网站也做了一番解析,我们来看下A72架构到底有哪些改进,毕竟A72核心很可能成为明年的旗舰手机/平板的标配。
值得一提的是,原先首先解释了A72核心的命名由来,为什么不选择Cortex-A59这样的命名呢?ARM解释说这纯粹是方便市场宣传而已,如果跟A57的命名很相近,那么大家就不容易看出这两种核心之间的区别——大家都只会看数字辩好坏吗?
A72核心的性能达到了A15的3.5倍
功耗降低了75%
ARM之前宣传A72核心性能是前代的3.5倍,功耗降低了75%,但大家也得清楚这只是宣传而已,ARM并没有直接对比A57与A72的差别,如果只看这两者,A72核心在同样的14/16nm工艺下只比A57提升了34%(2.6x到3.5x,还得考虑到频率上的差异),而在同样的28nm工艺下,其功耗也不过减少了20%左右。
还要注意到,A72核心可以运行在更高的频率下,这不是简单地最高频率。此前A57由于太强,因此它只能在最高频率下维持很短时间就要降频,而ARM提供的数据表明,A72核心在16nm FinFET工艺下,2.5GHz频率运行时功耗只有750mW。
除了功耗之外,ARM还在A72架构上做了很多优化,如上图所示,整数、浮点、内存等性能皆有不同程度的提升,虽然还缺少一些细节,不过IPC性能上提升16-30%还是有的。
由A57升级而来的A72架构
ARM似乎在性能、功耗及核心面积这三个方面都做了全面的改善,这也是半导体设计的三个重要指标。这个成绩是ARM重新优化了几乎所有A57逻辑区块之后才得来的,其中CPU架构做了相当大的改进,包括新的分支预测单元,改善了解码器管线设计等。
在指令预取这一块,我们可以看到ARM重新设计了分支预测单元,可以支持更复杂的算法,提高了性能,降低了功耗、误预测率及投机率(speculation),具体来说就是相比A57降低了50%的误预测,25%的投机率。多余的分支预测单元则被禁止了。——实际工作中,如果分支预测单元不能有效工作,那就会被绕过去。
此外,通过更好地耦合不同的IP模块,ARM还优化了RAM组织。
再来看A72的管线设计,解码/重命名性能也提升了。解码器自身是3指令发射的解码器,但ARM在提升性能、降低功耗方面花了很大精力。为了提高要性能,提升了有效的解码带宽,而解码器也获得了一些AArch64指令融合增强。此外,功耗也通过多种方法降低了,包括直接的解码等。
看起来指令分派/收回(Dispatch/Retire)单元是提升性能而做的改进中变化最大的。解码器可以融合指令,ARM的指令分派单元可以将ops操作打乱成更小的微操作(micro-ops)输送给执行单元,这样可以在指令派发单元将3发射变成等效5发射。这将提高解码器的吞吐量,同时也提高了每个周期内指令派发单元创建的微操作数。
A72架构,ARM表示平均每个指令有1.08个微操作,这将缓解57架构中实际受限的指令派发单元的性能。
另一方面执行单元也有新的设计,包括新一代的FP浮点/高级SIMD单元,由于FP浮点管线从9降低到了6,因此延迟更低。
FMUL(浮点乘法)的延迟也从5周期降低了3周期,FADD(浮点加法)从4降到3,FMAC(浮点累积乘)从9降低到6,CVT单元从4降到2。FP浮点单元的渲染管线长度从19降低到了16。
整数单元也做了改进,Radix-16除法器的带宽加倍,CRC单元延迟降低到了1周期,相比A57架构其带宽达到了3倍。
另一个重大的性能改进是L/S载入存储单元,ARM表示L/S单元的带宽提升了30%,这是因为引入了新的预取器。
A72架构纸面上的改进让人印象深刻,它是A57架构的革新升级,不论是性能还是功耗,或者核心面积,A72都有改进。
A57架构是去年Q3季度进入市场的,但现在才有三星、高通的A57架构处理器量产上市,所以A72核心真正进入市场还需要至少1年时间。