随着麒麟9000和三星Exynos 1080的发布,Android手机芯脏领域正式进入了5nm时代。惋惜,麒麟9000的CPU架构仍然停留在ARM去年发布的Cortex-A77阶段,而Exynos 1080虽然用上了ARM最新发布的Cortex-A78,但出于定位的缘由它并没能引入AMD在同期发布的最强音Cortex-X1。缓存
若是不出意外,骁龙87五、Exynos 2100和天玑2000这些新一代5nm旗舰级SoC都会采用Cortex-X1超大核+Cortex-A78大核+Cortex-A55小核的组合。换句话说,2021年,只有搭配了Cortex-X1核心的SoC,才有资格被称为“超旗舰”。架构
Cortex-X1之因此有着如此大的号召力,是由于它还有一个外号——自研的终结者。机器学习
自研的魅力性能
在GeekBench等专业测试软件中,苹果iPhone系列手机总能实现对同期旗舰级Android手机的“屠榜”。究其缘由,是苹果从iPhone 5时期开始就展开了A系列处理器的“自研”之旅,凭借强大的研发实力和资金优点,ARM原生的Cortex-A系列核心根本就不是对手。ARM全新Cortex-X1核心IP的出现,给予了Android阵营挑战同期A系列处理器的一线曙光。学习
所谓的“自研”,就是购买ARM最高级的指令集受权,而后根据自身须要开发兼容ARM的架构,但能领先ARM公版的Cortex-A架构多少全看芯片商的技术水平。测试
自研遇阻 魔改当道优化
除了苹果,高通在骁龙600/800时代曾采用过自研的Krait架构,距离最近的骁龙820的核心也隶属于自研的Kyro。只是,高通发现自研架构的能耗比很难领先同期公版Cortex-A7x架构太多,很是不经济。所以,从骁龙835开始就采起了BoC战略,也就是我们常说的“魔改”,基于现有的公版Cortex-A架构进行定制优化。架构设计
华为从麒麟980开始,也采用了相似的思路,其大核也是基于Cortex-A架构进行了“based”,一样是一种魔改。须要注意的是,公版Cortex-A架构能够进行“魔改”的地方并很少,你们基本都是拿缓存部分开刀,因此不管是高通仍是麒麟,其魔改后的内核与公版架构之间的性能差别并不大,关键仍是看主频。设计
三星从Exynos 8890开始也加入到自研大军,并推出了名为猫鼬(Mongoose)的架构核心。3d
可是,通过四代自主研发后,三星在2019年末已经决定放弃自研的Mongoose内核,并解散了位于德州奥斯汀的整个研发团队,将来将全面使用ARM的公版方案。可见,除了苹果,其余芯片商的自研之路可谓一路荆棘,费力不讨好。
好消息是,ARM这次发布的“三剑客”中的Cortex-X1,其实就是一种容许芯片商在其上进行高度定制的IP内核,能够彻底取代辛苦的“自研”之路。
超核降临 排忧解难
若是Cortex-A78的定位是“大核”,那Cortex-X1就至关于“超大核”,它在架构设计上与Cortex-A78一模一样,但几乎在每一个地方都进行了扩展。
好比,Cortex-X1的解码带宽从Cortex-A78的4路提高到5路,增长了25%;NEON浮点从2条128b提高到了4条128b,至关于浮点性能翻倍;缓存方面,Cortex-X1的L1缓存为64KB,L2缓存1MB,L3缓存最高可达8MB,是Cortex-A78的两倍。
根据ARM的官方资料显示,在主频相同时(也就是IPC性能),Cortex-X1的峰值性能较Cortex-A77提升了30%,比最新的Cortex-A78也有着22%的性能优点,机器学习能力则是Cortex-A77和A78的两倍。
按照规划,芯片商将来能够选择1个Cortex-X1“超核”+3个Cortex-A78“大核”+4个Cortex-A55“小核”组成的三丛集DynamIQ集群,以实现性能和功耗的完美平衡。
惟一惋惜的,就是Cortex-X1内核会占用更大的封装面积。
在理论性能方面,4个Cortex-A78核心在搭配4MB L3缓存时,其性能比前代Cortex-A77可提高20%,同时核心面积下降15%;而1个Cortex-X1+3个Cortex-A78核心在搭配8MB L3缓存时,虽然核心面积会增长15%,但峰值性能提高了30%。
看到这里,你们应该知道ARM为何将Cortex-A78的L1指令缓存改成32KB或64KB可选项目了吧?选择32KB L1指令缓存后,节省下来的封装空间能够留给Cortex-X1,后者强大的性能足以弥补Cortex-A78缓存的部分缺失。至于为何Cortex-X1的IPC性能比Cortex-A78增长22%,但1+3+4的组合却只比4+4多提高了10%的性能,是由于Cortex-X1只有单独的1颗应战,被其余3颗Cortex-A78平均了性能。
同属超核 性能不一
须要注意的是,ARM对Cortex-X1的定义是“可定制”移动平台,芯片商能够根据预算和需求向ARM提出要求,而后ARM再根据不一样的应用场景调整Cortex-X1各个模块的规格设计。
所以,哪怕高通骁龙、三星Exynos、联发科天玑的下一代超旗舰SoC都用上了Cortex-X1内核,但它们之间也会因每时钟周期指令解码数量、L0-BTB容量、宏操做缓存容量、乱序窗口数量、每时钟周期指令发射数量和缓存容量等细节参数的不一样,而呈现出不一样的性能。都是Cortex-X1核心,并且主频相同,但在性能层面可能依旧存在必定的差别。
换句话说,舍得花钱,或者能经过SoC结构优化,解决Cortex-X1满载温度和功耗偏高问题的芯片性能确定会更强一些,为了打出Cortex-X1噱头但没有对其进行深度挖掘的芯片性能就会差一些。