ARM虽然是个小公司,但是他们是整个ARM处理器阵营的核心。除了苹果、高通等少数能够自行开发ARM兼容架构的公司外,联发科、海思立信等大部分公司都会直接使用ARM官方的Cortex-A架构进行授权。从64位时代开始,ARM就发布了Cortex-A57/A53架构,但只有A53遍地开花,高性能的A57核心在手机市场只有三星和高通在用,面临难产的尴尬。因此,在今年2月,ARM推出了A57的继任者,——Cortex-A72架构,声称其性能是A15的3.5倍,功耗降低了75%。
当时我们对ARM的Cortex-A72内核了解不多。我们只知道A72核心将采用新一代FinFET工艺生产,包括来自三星/Globalfoundries的14纳米和来自TSMC的16纳米。得益于先进的频率,A72 core拥有更高的频率,可以达到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的区别。如果只看两者,在同样的14/1开发者_JAVA百科6nm工艺下(2.6x到3.5x,必须考虑频差),A72芯只比A57高34%,而在同样的28nm工艺下,A72芯只比A57高34%。
还需要注意的是,A72内核可以在更高的频率下工作,而不是简单的最高频率。之前因为A57太强,只能短时间维持在最高频率,频率降低。但ARM提供的数据显示,在16nm FinFET工艺下,A72内核在2.5GHz工作时功耗仅为750mW。
除了功耗,ARM在A72架构上也做了很多优化。如上图所示,整数、浮点和内存的性能都有不同程度的提升。虽然仍然缺少一些细节,但IPC性能仍有16-30%的提升。
由A57升级而来的A72架构
看来ARM在性能、功耗、核心面积三个方面做了全面的提升,这也是半导体设计的三个重要指标。这一成果是在ARM重新优化了几乎所有A57逻辑块后实现的,其中CPU架构做了相当大的改进,包括新的分支预测单元和改进的解码器流水线设计。
在指令预取方面,我们可以看到ARM重新设计了分支预测单元,可以支持更复杂的算法,提高性能,降低功耗、误预测率和推测,具体来说,与A57相比,其误预测率降低了50%,推测率降低了25%。禁止冗余分支预测单元。实际上,如果分支预测单元不能有效工作,它将被绕过。
此外,通过更好地耦合不同的IP模块,ARM还优化了RAM组织。
再看A72的流水线设计,解码/重命名性能也有所提升。解码器本身是一个3指令传输的解码器,但ARM正在提升性能。已经做出了很大努力来降低功耗。为了提高性能,增加了有效解码带宽,解码器也获得了一些AArch64指令融合增强。此外,通过各种方法降低功耗,包括直接解码。
在为提高性能所做的改进中,调度/退役单元似乎是最大的变化。解码器可以融合指令,ARM的指令调度单元可以将ops操作加扰成更小的微操作并传递给执行单元,这样在指令调度单元中3-launch就可以变成等价的5-launch。这将提高解码器的吞吐量,同时增加指令调度单元在每个周期中创建的微操作的数量。
在A72架构中,ARM意味着平均每条指令有1.08个微操作,这将缓解实际上被限制在57架构中的指令调度单元的性能。
另一方面,执行单元也有新的设计,包括新一代浮点/高级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倍。
另一个显著的性能改进是装载/存储单元。ARM表示L/S单元的带宽增加了30%,这是由于引入了新的预取器。
A72架构的纸面改进令人印象深刻。是对A57架构的创新和升级。A72在性能、功耗和核心面积方面都有所提升。A57架构是去年Q3进入市场的,但是现在三星和高通的A57架构处理器已经量产上市,所以A72核心真正进入市场至少需要一年的时间。
精彩评论