日前,Arm宣布推出2023 全面计算解决方案(TCS23),TCS23提供一整套针对特定工作负载而设计与优化的最新 IP,其中包括最新的CPU IP Cortex-X4、Cortex-A720和Cortex-A520,最新的GPU Immortalis-G720、 Mali-G720和Mali-G620,以及在安全领域的重要更新。
其中处理器IP是Arm IP生态系统中最重要的组成,因此Arm 终端事业部产品管理总监 Saurabh Pradhan、Arm 首席 CPU 架构师兼研究员 Ian Caulfield、Arm 首席 DSU 架构师兼研究员 Alex Waugh分别从Cortex-X4、Cortex-A系以及DSU三个方面,详细解读了TCS23中CPU的提升。总体而言,无论哪类升级,都围绕着TCS的三大支柱——安全性、性能,以及开发者体验。
(资料图片仅供参考)
TCS23 CPU 集群
Cortex-X诞生于一个定制项目,旨在打造具有高性能且一致性的 IPC 内核。除了Cortex-X1基于Armv8架构之外,自X2开始就是基于Armv9 架构。Armv9架构升级了两个重要的技术,分别是MTE以及SVE2。
新一代的Cortex-X4和Cortex-A720以及Cortex-A520除了性能相比TCS22有双位数提升之外,更重要的是三款IP都是基于Armv9.2架构,这是Arm第一次宣布全面转向64位处理器。
DSU-120则是全新的DSU,在可伸缩性、PPA方面有所提升,并集成了一些新功能。在可伸缩性方面,DSU-120最多可以支持14个内核,以及最高32MB的三级缓存。
Cortex-X4已经是Arm连续第四年实现了双位数的性能提升,支持2MB二级缓存,相比Cortex-X3增加了不到10%的面积,但性能提升超20%,且没有造成更长时延。
在前端取指令方面,以前是一个周期取一个指令,但现在可以一个周期实现十个指令提取。使用了先进的最新的分支预测性,可以保证有条件的分支准确率。而如果出现了分支错误预测,也能快速弥补。
整个设计全面提升了带宽,Cortex-X4 作为一种无序核,与 Cortex-X3 比较全面实现了提升的容量,从 320X2 到 384X2。
管线从三个提升到四个,使用了最新的1级时间数据预读器,同时也采取了全新的架构,从而降低 1 级数据库的冲突。1 级数据TLB从 48 增大到 96,同时支持更大的 2 级缓存。
大核 Cortex-A720与Cortex-A715比较的话,同等面积实现 10% 的性能提升。从分支错误预测的恢复来看,Cortex-A715 需要 12 个周期,Cortex-A720 缩短到 11 个。另外对于Cortex-A720而言,我们进行了效率结构的优化,从而对提升这两个跳转分支预测的效率。从矢量到整数数据传输上也实现了加速。而在数据转发方面我们也更好地实现了排队队列的效应。同时二级缓存的延迟更低,预读取也更准,也使得这项技术不止用于Cortex X上。
Cortex-A520则定位于小核,为低密度工作负载提供最优能效,更多应用于成本敏感设备中,因此Cortex-A520面积最小但面积效率最高。因此虽然有部分性能低于Cortex-A510,但总体性能表现以及效率表现大部分仍然高于Cortex-A510,虽然性能相比A510只提升了8%,但是能效提升了22%。
为了降低功耗,A520减少了ALU管线通道,但是在内存等方面进行了调整,并且管线指令也比510取得更多,因此性能下降并不明显。
比DSU-110更好的DSU-120
DSU-120相比DSU-110在微架构方面进行了大量更新,从而具有更低功耗、更好可伸缩性等。
对于典型工作负载而言,DSU-120 与 DSU-110 相比,能够实现动态能耗 7% 的降低,如果针对缓存丢失的问题,可以实现18%的动态能效降低。
DSU-120引入了一些全新的电源模式,比如可以使 CPU 在闲置时减少漏电。当有一个使用场景加载了一个新的网页,这个时候网页的加载已经完成,在进入下一个网页之前可能会在这个网页停留一段时间,在停留的这段时间 CPU 就处于闲置状态。这时可以采取 RAM 保持模式,在保留所有内容的时候所有的 RAM 都被调至低电状态。
另一种则是在A520上运行一些背景任务时,这些片段逻辑可以执行断电模式,但其他 DSU 和 RAM 仍然是通电的状态,这些片段可以被认为是一个内核中分解出不同的片段。
如果 CPU 没有闲置,在运行轻负载时,可以适当调低所需的性能,将3级缓存的一半或者全部断电,从而减少能耗。与之对应的是其他所有片段全部关闭。
总而言之,针对不同的负载状态,可以灵活关闭各种RAM或片段,从而节约多达2/3的DSU漏电。
在微架构方面,DSU最多支持14个超大核、大核或小核,由于采用了双向环状拓扑,在带宽和时延方面都实现了优化。同时它针对于 3 级缓存具有探听过滤器,实现了每一片逻辑的分离,且可配置成1-8 个片段。3级缓存具有24MB和32MB两个配置。
同时,DSU-120还具有MPAM(Memory System Resource Partitioning and Monitoring),可以分区配置资源,从而更好地实现电源和资源分配。
作为核与核之间的“胶水”,DSU越来越精细度和灵活化,可以为开发者释放更多的创造空间。
总之,CPU集群是一个团队作战的任务,对于 Arm 而言需要在包括内核和DSU等方面共同进步,才能提升系统级的性能和效率。
标签: