A78和X1:巨核第一步
回顾历史,移动端的大小核CPU发展分为这些阶段:
首先是big.LITTLE下的大小核。在 big.LITTLE 下,我们可以将相同的最多4个CPU组成一个集群,共享同一片二级缓存,再将这些集群互联。但是在big.LITTLE下,我们不可以使用太多的集群,比如说联发科的3丛簇。
可以说联发科的三丛簇,是做兼顾单核性能下,提高多核心的性能密度的一种很有效的实行方式。但是显然big.LITTLE下就比较困难了。
于是,很自然的,我们就迎来了dynamiQ。DynamiQ之后,一个集群里可以配置8个CPU核心,这些CPU可以架构不同,可以时钟频率不同。如果你想要,你可以在DynamiQ集群中配置8个完全不同的核心。
DynamiQ可以说提供是移动SoC的CPU配置空间。在这以内,我们终于可以可行的配置类似于三丛簇的结构,尽管实质上是单丛簇。
DynamiQ中,每个CPU都拥有独立的二级缓存,并且共享三级缓存。第一个贯彻这一点的就是高通骁龙855,他的Prime核心,拥有最完整的A76规格,剩余的3个A76核心缩小了二级缓存的规模,以实现更高的性能密度。
但是,纵使拥有DynamiQ,对于性能密度和单核性能追求的程度,也就仅限于二级缓存规模的调整。
这也就是ARM这一代推出cortex X1和A78的原因。
ARM提供的ip授权并不是只有高端的处理器采用的,也就是说无论如何A系列的大核心都不可能抛下性价比的属性。ARM不可能去弄一个同时代最大的CPU架构出来,因为这对于他绝大部分客户来说就是,大大增加了芯片的成本,但是回报的性能收益又那么一点点。
这使得ARM的大核心架构,必须是中庸的。要论纯粹的性能,那比不过同代操着巨核心得苹果,同样的,这也限制了同代的旗舰定位的产品,受限于ARM的架构,他们撑死了也只能拿出来这个水平的东西。
而这次推出的X1,cortex X1会拥有更大的寄存器缓冲队列窗口等等,二级缓存的大小也相对于过去进行了翻倍达到了最大可配置到1MB。这些规模的增加使X1的性能将会突破过去的约束达到更高的水平,但是自然也会以更大的面积作为代价。
也就是我所说的,抛开过去的约束,开始走向巨核化。
相比之下A78,在这些部分普遍保持了与上一代A77相同甚至还有些缩水的程度,同时优化的设计也能够提高起密度,说到底就是,寄存器啊这些东西,缩小规模也不会对性能有多大损失,但是却能实实在在的缩小面积,提高性能密度。包括一级缓存也不再是过去的仅可配置64KiB,而是可以缩小配置到32KiB。这相对于过去的产品甚至是缩水的。
抛开上面提到的部分,剩余的部分当然都是有提升的。
A77开始ARM的大核后端就能执行两个分支指令,但是前端分支预测只能一次处理一个。所以很多时候那当然是喂不饱后端的两个分支执行器。这一次A78和X1的分支预测器都能处理两个分支,也算是一个补全。
A78和X1依旧保持了A77的4个整数执行器,但是相对于A77只有一个执行器能执行乘法,这一次A78和X1都增加了一个,提高到了两个。这也就是说乘法吞吐量实质上使翻了个倍。
在内存子系统的后端中,原本拥有两个Load/Store单元和AGU。A78和X1又增加了一个仅可Load的单元和AGU,这使得Load吞吐量增加了50%。
另外,Load/store队列到一级数据缓存的带宽也从16bit每周期增加到32bit每周期,翻了个倍。
X1相对于A78,解码器宽度从4个指令增加到了5个。这是为了匹配,X1相对于A78翻了个倍的neon管线的规模。Neon的吞吐量也达到了桌面级的规模,尽管还是有些差别。
X1依旧保留了仅可配置64KiB的一级缓存的传统艺能。Mops缓存的带宽从6个Mops每周期增加到8个。其余还是A78一样。
三级缓存可以配置到最大8MB。
就实际的疗效而言。A78配合5nm工艺将会比上一代A77的面积小5%,同时在1W下性能比A77高20%,同性能下节省50%的能量。
当然我更推荐配合这张图看比较合适。可以看到在这张图上的A77峰值性能下,A78的功率将会降低36%。
X1/A78和A77的对比中,A78相对于A77的整数性能会提升7%,X1提升30%。但是这里需要注意,A78的展示中,已经是将一级数据缓存砍了一半缩水到了32KiB之后的了。也就是说完整规格的A78一定会比这更强。实际上,ARM在这里有点故意缩水A78的表现,拉大X1和A78的差距的嫌疑。
这里就要说回这一代还做的不够好的地方,可以看到,基本的整数和load/store执行器以及流水线,X1和A78都是一样的。也就是说,A78和X1的极限频率都是一样的,实际的性能发挥也不会有实质性多大的差距。或者说既然X1要抛开限制做巨核,他还需要在后端和A系列拉开实质性的差距,并且延长流水线让他能够跑上更高的频率。这是这一代X1还没做到的。这也使得X1和A78实际上更像是巨核方向上,更加深度定制分化的结果。从以前只能分化二级缓存更加深入一步。
X1和A78使得,在下一代移动SoC中,将会推出拥有X1巨核的旗舰产品,X1将会替代过去A76/A77的超大核心得定位,而中高端或许会选择完整配置的A78替代以控制成本。
X1可以说是ARM得巨核化第一步,但是这一步还没走的彻底,我们应该可以去期待之后这个系列的进化。