三星奥斯汀研发中心的定制CPU核心项目已于10月结束

2020-10-13 10:24:03 来源: INeng财经

我们知道,三星奥斯汀研发中心(SARC)的定制CPU核心项目已于2019年10月结束。对于在2016年推出具有Exynos M1功能的Exynos 8890的这种宣传而大受鼓舞的项目,它可悲的结局。SARC为什么要折叠项目?Exynos 990 SoC中包含的Exynos M5自定义内核是在可预见的将来三星设计的最后一个全定制内核,事后看来,很容易看出三星为何放弃自定义内核,因为它们根本没有竞争力。足够。现在知道,Exynos M5内核的功率效率不足为100%反对ARM的Cortex-A77,这说了很多。但是,事实并非如此。Exynos M1和Exynos M2的设计显示了一些希望,而当时的定制CPU核心项目对移动CPU领域的竞争非常重要。尽管IPC大幅增加,但Exynos M3仍然是一个严重的低迷时期,而Exynos M4和Exynos M5未能赶上ARM的现有CPU IP。下一个自定义核心(已取消的Exynos M6)的微体系结构变化是什么?

到目前为止,该问题的答案尚不清楚。但是,现在,SARC CPU开发团队在IEEE会议的国际计算机体系结构研讨会(ISCA)上发表了一篇题为“三星Exynos CPU体系结构的演变”的论文(我们通过AnandTech知道)。它揭示了有关以前的Exynos M系列CPU以及已取消的Exynos M6的体系结构的许多详细信息。

SARC CPU开发团队提交的论文详细介绍了该团队在成立八年中的努力,还揭示了自定义ARM内核的关键细节,这些内核从Exynos M1(猫鼬)到当前的Exynos M5(Lion),甚至是预计在取消之前,未发布的Exynos M6 CPU将在Exynos 990的2021 SoC后续产品中使用。

三星的SARC CPU团队成立于2011年,以开发自定义CPU内核,然后将其应用于三星系统LSI的Exynos SoC。第一个使用定制内核的Exynos SoC是Exynos 8890,该芯片在2016年的三星Galaxy S7中得到了体现。自定义内核一直是Exynos SoC的一部分,直到具有Exynos M5内核的Exynos 990成为Exynos支持的三星Galaxy S20变体中的特色。(即将面世的Exynos 992,可能会在Galaxy Note 20中使用,预计将使用ARM的Cortex-A78而非Exynos M5。)但是,SARC在CPU团队得到解散消息之前就已经完成了Exynos M6架构。解散将于2019年10月生效,解散将于12月生效。

ISCA的论文概述了三星从Exynos M1到Exynos M6的定制CPU内核之间的微体系结构差异。该公司在2016年HotChips大会上的首次M1 CPU架构深入研究中公开了该设计的一些众所周知的特征。在2018年HotChips上,三星对Exynos M3进行了深入研究。Exynos M4和Exynos M5内核以及M6的体系结构也已详细介绍。

AnandTech 指出,多年来三星设计的一个主要特征是它基于与Exynos M1 Mongoose内核相同的蓝图RTL。多年来,三星继续改进内核的功能模块。Exynos M3代表了从第一次迭代以来的一次变化,因为它在几个方面大大扩展了内核,从4宽设计到6宽中核。(另一方面,Apple A11,A12和A13的解码宽度为7宽,而Cortex-A76,A77和A78的解码宽度为4宽。Cortex-X1将解码宽度增加为5 -宽。)

该报告还披露了有关Exynos M5和M6的一些公开信息。对于Exynos M5,三星对内核的缓存层次进行了较大的更改,用新的更大的共享缓存替换了私有L2缓存,并公开了L3结构从3组设计到2组设计的变化。更少的延迟。

就微架构而言,取消的M6核心将是一个更大的飞跃。SARC进行了重大改进,例如将L1指令和数据缓存从64KB翻了一番至128KB – AnandTech 指出,这是迄今为止仅由Apple的A系列内核实现的设计选择,从Apple A12开始。

L2的带宽能力增加了一倍,最高可达64B /周期,而L3的带宽能力将从3MB增加到4MB。Exynos M6本来是8宽解码核心。正如AnandTech所指出的那样 ,这将是目前在解码方面已知的最广泛的商业微体系结构。但是,即使内核宽得多,整数执行单元也看不出太多变化。一个复杂的流水线增加了第二个整数除法功能,而加载/存储流水线与M5相同,只有一个加载单元,一个存储单元和一个加载/存储单元。浮点/ SIMD管道本来可以看到具有FMAC功能的第四个单元。L1 DTLB从48页增加到128页,而主TLB从4K页增加到8K页(32MB覆盖)。

Exynos M6自从M3以来首次增加了内核的无序窗口,这将是其前代产品的另一个重大变化。将会有更大的整数和浮点物理寄存器文件,并且ROB(重排序缓冲区)将从228增加到 256。AnandTech 注意,自定义Exynos内核的一个重要弱点仍然存在于M5上,并且在M6上也会存在。它将是更深层次的流水线阶段,这将导致昂贵的16周期错误预测损失,这比具有11周期错误预测损失的ARM CPU内核要高。SARC论文更深入地介绍了分支预测器设计,展示了CPU内核基于Scaled Hashed Perceptron的设计。在过去的几年和实施中,该设计将不断得到改进,从而提高分支的准确性,并不断减少每公斤指令的错误预测(MPKI)。SARC提供了一个表,该表显示了分支预测变量在前端内所占用的存储结构量。该论文还详细介绍了内核的预取技术,

SARC在本文中还详细介绍了在自定义Exynos内核中改善内存延迟的工作。在Exynos M4中,SARC团队采用了负载-负载级联机制,将后续负载的有效L1周期等待时间从四个周期减少到三个。M4内核还引入了路径旁路,并带有一个新接口,该路径从CPU核心直接到内存控制器,避免了通过互连的流量。根据AnandTech的说法 ,这解释了该出版物可以使用Exynos 9820进行测量的更大的延迟改进。Exynos M5引入了推测性缓存查找旁路,该旁路同时向互连和缓存标签发出了请求。在正在进行内存请求时,如果发生高速缓存未命中,这可能会节省延迟。从M1上的14.9个周期到M6上的8.3个周期,平均负载等待时间也不断提高。

尽管上述微体系结构特性在技术上是相当专业的,但CPU爱好者会熟悉术语“每时钟指令(IPC)”,这表示单线程CPU性能中的每MHz性能(这是决定单线程CPU性能的主要主要因素,另一个因素是核心的时钟速度)。整数IPC和浮点IPC都是IPC的决定因素。从M1到M6,SARC团队平均每年获得20%的改进。尤其是M3,尽管受到其他因素的影响,但在IPC方面却代表了很大的提高。Exynos M5的IPC改善了15-17%,而未发布的Exynos M6的IPC改善平均为2.71,而M1为1.06,比M5改善了20%。

该论文的主持人布莱恩·格雷森(Brian Grayson)在问答环节中回答了有关该程序取消的问题。他说,团队始终如一地按时完成目标,并在每一代提高性能和效率。(这是否意味着目标首先还不够高?)。另一方面,团队最大的困难在于对未来的设计更改要非常谨慎,因为团队没有从头开始或完全重写块的资源。事后看来,团队过去在某些设计方向上会做出不同的选择。与之形成鲜明对比的是,ARM拥有多个CPU团队,它们在实际上彼此竞争的不同位置工作。这样就可以进行“地面重新设计”,例如Cortex-A76。的Cortex-A77和Cortex-A78是A76的直接后继产品。

SARC团队对改进即将推出的内核(例如假想的Exynos M7)有想法。但是,据说是三星的一个非常高尚的人决定取消自定义核心程序。正如 AnandTech 指出的那样,与任何特定一代的ARM CPU相比,定制内核在功率效率,性能和面积使用(PPA)方面都没有竞争力。上个月,ARM宣布了采用新Cortex-X1的Cortex-X Custom程序,是面向2021年移动设备的下一代核心。它的设计理念是打破Cortex-A PPA的界限,而是追求绝对的性能。因此,Exynos M6很难与它竞争。即便如此,三星似乎也不会采用Cortex-X1,而只能在Exynos 992中使用Cortex-A78 + Cortex-A55组合产品-但它可能会在明年的Galaxy S旗舰产品中采用。

SARC团队目前仍在为Samsung Systems LSI设计定制的互连和存储器控制器。该公司还致力于定制GPU架构,但三星系统LSI与AMD签署了一项协议,将从2021年开始在未来的Exynos GPU中使用AMD的下一代(Next图形架构)RDNA GPU架构。

总体而言,定制CPU核心项目为移动芯片供应商提供了关于可能出问题的启发性课程。SARC CPU团队具有与苹果竞争的雄心壮志,后者是移动CPU领域无可争议的领导者。不幸的是,它未能与ARM竞争,更不用说苹果了。这些问题本来可以解决,但是年复一年,SARC的努力落后了一两步,并且在诸如三星Galaxy S9的Exynos 9810变体等产品中不利地反映出来。现在,所有主要的Android移动芯片供应商将从2021年开始使用ARM的库存CPU IP,其中包括高通,三星,联发科和海思。苹果将​​采用诸如Cortex-X1之类的内核,而不是从头开始设计的定制ARM内核。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。