从2016年的Cortex-A73到2020年的“ Hercules”设计,ARM承诺将计算性能提高2.5倍。通过Cortex-A76的重大微体系结构转变,更高的现代时钟速度以及从16到10的转变,以及现在的7nm制造和随后的5nm制造,可以完成这一巨大的计划。到去年,已经实现了路线图约1.8倍的增长,而Cortex-A77的IPC提升了约20%。尽管功率和热量预算有限的移动设备并不期望获得所有这些收益,但这使我们顺利达到了Arm的2.5倍目标。
相比之下,去年的Cortex-A76比Cortex-A75提升了约30-35%。今年,我们希望看到A77和A76之间的IPC增长更为柔和,但仍然非常重要。这是个好消息,因为它意味着在保持与以前相似的散热和功率约束的同时,还具有更高的性能。权衡是A77比A76大约17%,因此就硅面积而言将花费更多。如果您想与台式机领导者进行比较,AMD在Zen2和Zen 之间实现了15%的IPC提升,而英特尔的IPC多年来几乎保持不变。当然,我们在这里讨论的是不同的细分市场,但这证明了Arm的CPU设计团队在最近几代人中取得了令人瞩目的成就。
Cortex-A77的SoC提供20%的性能提升
这里的要点是,A76标志着微体系结构的一次重大转变,带来了巨大的性能提升,而我们又回到了A77的优化水平改进上。有了这些,我们就可以深入研究Arm Cortex-A77的新功能。
Cortex-A77建立在A76微架构上
理解Cortex-A77和A76之间区别的关键是要掌握“更广泛”的内核设计的含义。本质上,我们正在谈论在每个时钟周期执行更多指令的能力,这将增加内核的吞吐量。要做到这一点,有两个重要的部分-增加执行处理的执行单元的数量,并确保这些单元保持良好的数据供给。让我们从后一部分开始,并专注于SoC的调度,缓存和分支预测器部分。
Cortex-A77的调度宽度提高了50%,每个周期从A76的四个指令增加到六个指令。这意味着在每个时钟周期有更多的指令前往执行内核,从而具有更大的性能潜力。结果,乱序执行窗口也更大,增加到160个条目以显示更多的并行性。有一个熟悉的64K指令缓存,而保存分支预测变量地址的分支目标缓冲区(BTB)比以前处理并行指令增长时大33%。这里没什么不寻常的,它本质上是去年设计的更广泛的版本。
更具吸引力的前端添加是全新的1.5K MOP缓存,该缓存存储从解码单元反馈回来的宏操作(MOP)。Arm的CPU体系结构将来自用户应用程序的指令解码为较小的宏操作,然后进一步细分为执行核心可以理解的微操作。您可以在上面的图的“解码”部分中看到它。MOP缓存用于减少丢失的分支和刷新的成本,因为您保留了宏操作而不是再次对其进行解码,从而提高了内核的整体吞吐量。从MOP而不是i-cache进行的取回绕过了解码阶段,从而节省了一个周期。Arm指出,MOP缓存在一系列工作负载中的命中率可达到85%或更高,这使其成为标准i缓存的非常有用的补充。
移至CPU的执行核心部分,请注意添加了第四个ALU和第二个Branch单元。第四个ALU将处理器的通用数字处理带宽提高了50%。该附加的ALU能够执行基本的单周期指令(例如ADD和SUB)以及两周期的整数运算(例如乘法)。其他两个ALU只能处理基本的单周期指令,而最后一个单元则负责更高级的数学运算,例如除法,乘法累加等。执行内核中的第二个分支单元使同时分支跳转的次数加倍。内核可以处理,这在六个调度指令中有两个是分支跳转的情况下很有用。这听起来有些奇怪,但是Arm的内部测试表明,采用第二个组件可以提高性能。
Cortex-A77改进的并行性/预取缓存
对CPU内核的其他调整包括添加第二个AES加密管道。数据存储管道现在具有专用的发布端口,以使内存发布带宽增加一倍。这些端口以前与ALU共享,有时可能会成为瓶颈。还有一个下一代数据优化器,可以提高电源效率,同时增加系统DRAM的带宽。
Cortex-A77中该系统的一部分还具有全新的“ 系统意识”预取系统。这将基于广泛的CPU内核计数,高速缓存容量和延迟以及最终设备内部的内存子系统配置来提高内存性能。作为DynamIQ CPU集群的一部分与动态调度单元(DSU)进行通信的专用硬件,该集群监视共享L3缓存的使用情况。该内核具有动态距离和主动性级别,可在L3带宽受其他CPU内核限制的情况下降低缓存利用率。诸如Cortex-A77之类的高性能内核更可能使DSU对内存的访问饱和,而诸如A55之类的低功耗内核则不太可能。
Summary
Cortex-A77进行了许多小的改动,这些改动与之前的版本相比有一些实质性的区别。简而言之,A77 的新MOP缓存与更宽和更长的指令窗口相结合,有助于使功能强大的ALU,分支和存储器单元忙于要做的事情。强大的Cortex-A76设计已经扩展,可以通过A77进一步提高吞吐量,而无需依赖更高的时钟速度。
Cortex-A77的最大性能提升是以整数和浮点数学形式出现的。Arm的内部基准确认了这一点,该基准显示SPEC整数基准和浮点基准分别将性能提高20%至35%。内存带宽的改善介于15%到20%之间,再次强调最大的收益来自数字紧缩。总体而言,这些改进使A77平均比上一代提升了20%。
就智能手机而言,Cortex-A77供电的SoC将用于高性能旗舰产品。Arm完全希望看到动力室设计采用4 4 bit.LITTLE核心布置。鉴于A77的吞吐量提高和面积略有增加,我们很可能会看到SoC设计人员继续沿1 3 4或2 2 4趋势发展。具有一个或两个功能强大的大型内核,具有更大的缓存和更高的时钟,并由2个或3个A77内核(具有更小的缓存大小和更低的时钟)进行备份,以节省功耗和面积。