ARM Cortex 系列公版CPU是当前安卓手机SoC的首选方案,为了适应手机市场高速迭代的需要,ARM在每年的这个时候都会公开自己最新的架构,随后到了年底或者明年初,就会有采用对应架构的SoC登场。
在今年的Cortex系列更新中,ARM 分别发布了大核心Cortex X2的升级版Cortex X3,中核心Cortex A710的小改版 Cortex A715,以及小核心Cortex A510的第二版Cortex A510 v2。

相比于以往,今年Cortex系列更新的型号比较凌乱,严格来说,只有Cortex X3是全新的核心,而Cortex A715和Cortex A510 v2都是上一代Cortex A710和Cortex A510 v1的一个打磨版。那么,今天就来聊聊这三个架构,看看还能不能从ARM的数据中看到一些猫腻?毕竟上一代Cortex X2/A710/A510v1可以说是十足的大骗子。
大核心 Cortex X3自从ARM在Cortex A77发布后,ARM就再也无法在保持PPA均衡的基础上继续显著的年化性能提升。因此,ARM从那个时候就开辟了一条全新的Cortex X产品线,依靠牺牲一部分成本和功耗,换取性能提升的余地,并朝着苹果的A系列追逐。
作为今年唯一全新的核心,Cortex X3依然仅支持64bit指令集,并且ARM官方宣称其IPC相对于Cortex X2提升11%,综合性能提升22%。如果单从Gen2Gen的比例来看,ARM Cortex X3所宣称的IPC进步幅度是很令人满意的,因为一般的产品都很难维持每年超过10%的IPC提升的。
从微架构层面上面来说,Cortex X3的前端依旧采用解耦设计,这样的话分支预测器的带宽将会比指令或许的带宽要高很多,有助于减少延迟并减少分支预测中的冒泡产生。而在Cortex X3中,这块也有了更大的提升,分支目标缓冲有了更大的提升,L1+L2 BTB部分提升了50%,而L0部分则是提升了整整10倍。
从ARM的官方数据来看,经过了这样的改进改进后,Cortex X3在分支预测的开销部分平均减少了12.2%,并且当出现分支预测失效或者气泡时,总的开销周期也减少了3%。
Cortex X3的另一个主要更新是当分支预测,Cortex X3采用了一个全新的更小的专用分支预测器,减少了大约6.1%的分支预测失败概率。
在指令Fetch方面,Cortex X3也有不小的改变,微指令缓存MOP Cache从X1的3K Entry下降到了1.5K Entry,即只有1/2的容量了,这个数值只和之前的Cortex A77持平。但是,尽管只有一半的容量,ARM声称性能并没有下降,依靠容量下降,这部分的流水线周期从10下降到了9,并且依旧可以每个周期输出8个MOP,效率高了很多。
ARM这么做的动机应该是在调配资源,作为一个复杂的架构,单一部件的容量不一定带来性能提升,甚至在不匹配的情况下可能会有反效果,ARM这个提升效率减少容量的做法,有助于提升能耗比。 对于类似Cache的东西,容量不是100%关键的参数,效率和延迟同样很重要。
此外,Cortex X3的解码带宽也提升到了6个解码器,ROB也到达了320的水平,总体来看,Cortex X这条线的IPC和规模是和Intel的性能核心一直差不多的。
最后的改变是在访存上。Cortex X3最显著的改进是,其整数的load带宽从每周期24B提升到了每周期32B,提升达到25%。
最终,根据ARM官方的测试,Cortex X3相比于上一代Cortex X2的IPC平均提升11%,其中SPECINT06提升的多一些,GB5提升10%,而SPECINT2017测试比较低。如果ARM没有虚标,那么我整体觉得还是很满意的,现如今能每年有10%的IPC提升是很不错的一个数值了。 ARM其实还给了另外一个性能增加25%-34%的对比,但是单个是在非常不公平的前提下进行的,用的满血X3对比市面上现有的成品,不具备参考性,大家别被误导。
中核心Cortex A715去年首个ARMv9.0 的Cortex X2+A710+A510的组合里,根据相关测试,最为拉胯的就是承担绝大部分主力工作的A710核心。 而今年,ARM并没有进行一个大版本的更新,而是只是推出了一个小改版的A715,去除了32bit支持,并一定程度上优化了效率。
首先来快速过一下A715的架构更新部分,在前端部分也是加强了分支预测,太细节的改进我也不和尚念经了,反正我讲不清楚,你们也看不清楚,大家都不是专门搞这个的。
对于A715来说,最显著的更新就是不再支持32bit的指令集,而是一个纯纯的64bit架构。在处理器中,32bit和64bit得使用两套不同的指令集,砍掉32bit的支持可以节省一半的通用指令集的支持,减少复杂度,增加效率。
根据ARM的数据,单纯因为砍了32bit,A715的加码器大小就只有A710的1/4了,极大的提升了效率。A715有了更好的机会去堆解码,解码器宽度提升到了5。
解码部分的另一个重要举措是,比X3砍半MOP还要狠的是,A715这回砍了MOP缓存。 可以看到说,ARM这代的升级中,X3和A715都是加宽了解码器宽度,然后减少了MOP,并优化了其它效率,总体看起来似乎都是在降本增效。反正这个一增一减,整体的解码器效率基本持平,纯粹是为了功耗优化。
自从有了Cortex X系列后,A系列的走向越来越精简了。MOP缓存是A77加上的,或许这也是A77 IPC明显提升的一个因素,但现在又给砍了。据我观察,MOP缓存这东西应该真的挺费电的,你看Intel的Gracemont核心,也是同样的策略,超宽的解码器但不搭配MOP缓存。
在内存子系统部分,A715也有不小的改进,具体看图吧,反正看单一的数据也分析不出来什么。
根据ARM的资料,在同性能下A715减少了20%的功耗,或同功耗提升了5%的性能。这个数值是不是乍看挺高的?但实际上,我觉得ARM今年又玩了文字游戏。
如果在正常的情况下,同性能下减少20%的功耗,换算过来并不会是同功耗提升5%的性能,因为这意味着下降5%的频率,就降低20%的功耗了。如果没意外,这个操作手法应该还是之前ARM惯用的一招,那个20%的功耗下降包含了工艺拐点的变化,参考性不高。
对于消费者,你们关注A715只是同功耗提升5%性能,提升5%能耗比就差不多了。你们看ARM的PPT,A715的最高功耗并没有比A710低,而来开的那个性能也就是5%而已,作图大师。毕竟在ARM的PPT里,A710的能耗比都比A78高不少是吧?
我觉得A715的整体改进里,确实透露着大量用于改进能耗比的东西。A715在前端砍了很多东西,应该是有助于优化能耗比的。如果要解释为什么ISO性能下降20%功耗,但是ISO功耗只提升5%的性能,除了刚刚说的工艺拐点因素外,可能另一个因素就是因为A715的总体规模精简了,所以在不冲击高性能的前提下,是有助于能耗比的,但是一旦冲击高性能,因为砍掉的资源能耗比就不理想了。
不管A715的真实能耗比提升怎么样,用A715都是很尴尬的。安卓市场的32bit APP还没有完全消除,这代A715不支持32bit,那么下一代SoC,要么完全依靠更为弱鸡的A510 V2,要那么加一个A710丛集。无论选择哪个方案,实际的安卓SoC的能耗比提升都不会那么美好,选择弱鸡A510V2没性能,选择A710也会冲淡表现。
所以说白了,A715就是一个64bit特异版的A710,在如今安卓市场下,玩的是左手换右手的把戏~ 它的实际改进幅度,我觉得不如A510 V2,这个至少增加了指令集支持,还提升了能效,并不是左手换右手的游戏。
小核心 Cortex A510 v2不同于Cortex X3和A715,今年的小核心并没有一个全新的名字,而是简简单单的Cortex A510 v2。A510 v2,总结起来就两个改变:1)增加了32bit的支持,2)减少了5%的功耗开销。这在我看来 Cortex A510 v2的改变不比A715少,A715是内部动了但表现不出太多,而A510 v2则是外部表现足够多。
其实你们会看A715的改进就会发现,去除32bit的支持是让A715得以能耗比改进的重要原因,而A510v2确实反其道行之,在增加了32bit支持后还能降低功耗,我觉得这可比A715厉害多了。
ARM这边的核心组合是依赖于相应的总线的,ARM在这代上也做了一定的升级,全新的DSU-110可以支持最高达到12个核心,这可以让SoC的核心组合更加灵活,特别是在为PC设计的芯片中。
评价最后根据已有的Geekbench 5成绩来估计和换算,大致可以估计到的是,Cortex X3的IPC目测正好刚刚超过果子的A12,落后大约4年的时间吧。 Cortex A715暂未披露IPC数据,目前我也只收集到缩水缩成狗的A715的数据,连天玑8100都不如的那种。 ARM官方说A715的性能持平X1,估计这是超级满血+算上频率了吧。
总体来看,ARM这波更新里每一个核心都得到了一定的改善,但是这些改善并不足以解决上一代(X2+A710+A510)的问题。 上一代核心里,最大的问题是有且仅有A710支持32bit,但是却又是能耗比最为糟糕的一个核心。而这一代核心里,A715的能耗比有所提升,但是又不支持64bit了,无论是四丛集设计还是依靠A510v2,这代SoC遇到32bit的老软件时,应该体验都会更糟糕。
总体来看,ARM这波更新里每一个核心都得到了一定的改善,但是这些改善并不足以解决上一代(X2+A710+A510)的问题。 上一代核心里,最大的问题是有且仅有A710支持32bit,但是却又能耗比最为糟糕的一个核心。而这一代核心里,A715的能耗比有所提升,但是又不支持64bit了,无论是四丛集设计还是依靠A510v2,这代SoC遇到32bit的老软件时,应该体验都会更糟糕。
转载请注明来自海坡下载,本文标题:《arma的优化(ARM次世代核心Cortex X3A715A510简评降本增效)》
京公网安备11000000000001号
京ICP备11000001号
还没有评论,来说两句吧...