首页 » 通讯 » 亚马逊最新Arm做事器芯片详解_存放器_指令

亚马逊最新Arm做事器芯片详解_存放器_指令

雨夜梧桐 2024-11-11 22:38:00 0

扫一扫用手机浏览

文章目录 [+]

来源:内容由半导体行业不雅观察(ID:icbank)编译自chipsandcheese,感激。

专注不雅观察环球半导体最新资讯、技能前沿、发展趋势。
欢迎订阅摩尔精英旗下"大众年夜众号:摩尔精英MooreElite、半导体芯闻、摩尔芯球。
\"大众 data-from=\"大众0\"大众>

亚马逊最新Arm做事器芯片详解_存放器_指令 亚马逊最新Arm做事器芯片详解_存放器_指令 通讯

2022 年 5 月下旬,AWS 向公众年夜众发布了 Graviton 3。
Graviton 3 是第一个将 SVE 指令集引入可广泛访问的做事器 CPU 的 ARM CPU。
在 Graviton 3 全面上市之前,Neoverse N1 主导了 ARM 做事器领域。
AWS 之前的旗舰产品 Graviton 2 在 2.5 GHz 下实现了 64 个 Neoverse N1 内核。
微软的 Azure 和甲骨文的 OCI 都利用 Ampere Altra,它将 80 个 Neoverse N1 内核放在网格上,并以 3 GHz 的频率为它们供应时钟。
因此,我们将在 Graviton 3 和 Neoverse N1 之间进行比较。
我们将用 AMD 的 Zen 3 和英特尔的 Ice Lake SP (Sunny Cove) 的数据来补充这一点。
截至 2022 年中期,这些是云环境中利用的最新广泛支配的 x86 芯片,因此将成为 Graviton 3 最直接的竞争对手。
TheNextPlatform提出了一个令人信服的论点,即 Graviton 3 基于修正后的 Neoverse V1 核心。

分支预测:向前迈出的一大步

亚马逊最新Arm做事器芯片详解_存放器_指令 亚马逊最新Arm做事器芯片详解_存放器_指令 通讯
(图片来自网络侵删)

与 N1 比较,ARM 显著改进了分支预测器,并在速率和准确性方面取得了长足的进步。
快速浏览一下 Graviton 3 的模式识别功能,可以清楚地看出它与 N1 完备不同。

在云市场,Graviton 3 的紧张 x86 竞争对手将是英特尔的 Ice Lake SP 和 AMD 的 Zen 3 Milan。
Zen 3 彷佛利用了一个具有令人难以置信的能力但略慢的二级预测器,而 Ice Lake 采取与 Graviton 3 非常相似的方法。
英特尔和 ARM 彷佛都利用可以识别很长模式的单级预测器,只管不是与 AMD 的程度相同。

当有很多分支在起浸染时,Ice Lake 比 Graviton 3 有一点上风。
Graviton 3 可以识别长达 16 长(long)的模式和 512 个分支,而 Ice Lake 可以在相同的分支数下处理两倍长的模式。
同样,AMD 彷佛拥有大量的分支历史存储,由于它能够处理多达 96 个模式和 512 个分支。

Graviton 3 还具有令人印象深刻的快速 BTB(分支目标缓冲区)设置,使其能够以非常小的代价处理已提取的分支。
微型 BTB 许可核心在每个周期处理两个采取的分支,这是迄今为止我们仅在 Golden Cove 和 Rocket Lake 上看到的功能。
但是 Graviton 3 的 micro-BTB 容量比那些 Intel CPU 上的容量要大。
Golden Cove 只能跟踪 32 个分支,每个周期处理两个分支,而 Rocket Lake 可以处理八个。
ARM 还为 Graviton 3 配备了一个可能有 4K 条款标非常大的主 BTB,以及一个可能有多达 10K 条款标 L2 BTB。
主 BTB 供应超过 Zen 3 的零冒泡分支能力。
纵然达到 L2 BTB 也不是很昂贵,每个分支只有一两个pipeline 气泡,有 10K 分支在运行。
到目前为止,我们只看到 Golden Cove 履行了更大的 BTB。
总而言之,Graviton 3 的分支预测器可与 Intel 和 AMD 的最佳预测器相媲美。
每个 CPU 制造商做出不同的权衡,每个分支预测器都有其独特的上风,但 Graviton 3 的预测器显示了 ARM 与最好竞争对手竞争的决心。
这与 Neoverse N1 中的平庸实现相去甚远,并且对付充分利用 Graviton 3 增加的重新排序能力该当有很长的路要走。

前端:熟习的模式,有技巧

Graviton 2 和 3 都具有四宽解码器,但差异到此为止。
在解码器后面,ARM 实现了一个具有 3K 条款标大型微操作缓存。
因此,Graviton 3 的前端与 Intel 和 AMD 的前端非常相似。
与 Neoverse N1 比较,Graviton 3 的解码器功能要强大得多。
它们能够领悟各种指令对。
这包括 x86 风格的跳转领悟,个中标志设置指令和相邻的条件跳转可以领悟到单个微操作中。
Graviton 3 还实现了 CNS 式的 NOP 领悟。
成对的 NOP 可以领悟到前真个单个微操作中。
由于 Graviton 3 具有能够缓存领悟微操作的微操作缓存,以是每个周期将实行 12 个 NOP。
Graviton 3 的 NOP 领悟打破了基本的指令获取带宽测试,微操作缓存的结果很有趣但不切实际。
为理解决这个问题,我们用大略地将寄存器设置为零的指令添补了测试数组。
这些不能以与 NOP 相同的办法领悟,但可以以每个周期 6 次通过重命名器并在那里被肃清。
在取指令带宽方面,Graviton 3 表现出与 Zen 3 相似的特点。
两者都有超大的 micro-op 缓存,都可以支持 6 个 IPC。
除了 L2 之外,Zen 3 具有很大的上风,由于 AMD 的架构优先考虑 L3 性能,而不是试图在芯片上创建单个统一缓存。
与云场景中的前身 Neoverse N1 比较,Graviton 3 凭借其微操作缓存享有更高的指令带宽。
从 L1D 获取带宽彷佛是相等的,由于两种架构(实际上是这个比较中的所有架构)都利用 4 宽解码器。
但在缓存层次构造的更下方,Graviton 3 享有更好的指令带宽。
ARM 可能给 Graviton 3 供应了更深的获取行列步队,让内核利用其大型 BTB 来积极地预取指令。
Graviton 3 出色的 L3 实现对此进行了补充,与 Ampere Altra 和 Graviton 2 比较,它供应了更低的延迟。
非常大的指令占用空间的获取带宽仍旧无法与 Intel 的 Ice Lake SP 或 AMD 的 Milan 比较,但 ARM 肯定在进步。
我们还看到各种来源表明 ,Neoverse V1 有一个 5 宽的指令解码器。
如果 Graviton 3 基于 V1,解码器彷佛已被缩减为 4 宽。
一旦我们离开 3K 条款微操作缓存,纵然测试循环适宜 64 KB L1 指令缓存,我们每个周期也不会看到超过 4 条指令。
当从微操作缓存运行时,相同的测试指令可以超过每周期 4 个吞吐量,这表明获取和解码带宽吞吐量限定,而不是进一步的流水线瓶颈。

Graviton 3 的Renamer:新兴能力

Graviton 3 的renamer彷佛是 6 宽,让核心在整体宽度上与 Zen 3 相匹配。
在renamer优化方面,Graviton 3 对 Neoverse N1 进行了改进。
但是作为 CPU 制造商很难,由于你的竞争对手也总是在进步。
AMD 在 Zen 中引入了极其强大的移动肃清功能,而英特尔在 Sunny Cove 中也做了同样的事情。
这两个 x86 CPU 都可以以匹配重命名器宽度的速率肃清寄存器到寄存器移动指令。

Graviton 3 无法做到这一点。
MOV 显然没有被淘汰,由于吞吐量彷佛受到 ALU 端口数的限定。
与 Neoverse N1 一样,Graviton 3 有时可以冲破寄存器到寄存器 MOV 之间的依赖关系,但在该领域的功能非常有限。
rename阶段还可以冲破依赖关系和/或肃清将寄存器设置为零的指令,而不管其先前的值如何。
据我们所知,只有将零移动到寄存器指令完备肃清,并实现了即是renamer宽度的吞吐量。
Graviton 3 在这方面比 Ice Lake 有上风,由于英特尔的renamer可以在检测到归零惯用语时冲破依赖关系,但不能肃清它们。
Zen 3 具有同等的能力——它可以识别常见的 x86 归零惯用语并肃清它们。

乱序构造尺寸

我们仍在忙于拆解 AWS 的新云 CPU。
在这个预览中,我们将展示一些原始测试结果和合理的阐明,由于结果并不总是刀切斧砍的。
让我们从重新排序缓冲区大小开始。
这个构造的大小对应于 CPU 的实行引擎可以跟踪多少微操作。
常日我们会用 NOP 进行测试,但 Graviton 3 的 NOP 领悟能力使结果阐明变得繁芜。
对 NOP 的测试表明,Graviton 3 的 ROB 有 512 个条款。
但是 ROB 的实际容量可能是 256 个条款,如果每个条款都存储一个代表两个 NOP 的领悟微操作。
因此,我们运行了一个在整数和 FP 指令之间交替进行的额外测试。
该测试的重排序容量超过 256 个条款,这表明 Graviton 3 确实有 512 个 ROB 条款,并且领悟的 NOP 在通过renamer后未领悟。
如果这个阐明是精确的,ARM 已经给 Graviton 3 一个比 Zen 3 和 Ice Lake 更大的乱序窗口。
当我们连续逆向工程寄存器文件大小时,另一个情形涌现了。
Graviton 3 彷佛有 125 个 256 位宽的向量寄存器,但可以利用单个向量寄存器来跟踪两个标量 FP 寄存器。
奇怪的是,它彷佛无法利用单个 256 位 SVE 寄存器来跟踪两个 128 位 NEON 寄存器。
另一个奇怪的征象是,如果我们打消内核对标量浮点寄存器的巨大renaming能力,Graviton 3 的寄存器文件的大小更适宜 256 条款标 ROB。
Graviton 3 的加载行列步队容量也很突出。
其他构造尺寸仍旧适中,大致与我们在 Zen 2 和 Zen 3 上看到的同等。

调度程序布局

试图弄清楚调度程序的大小须要太多的测试
对分布式调度程序布局进行逆向工程非常困难、耗时且随意马虎出错。
这便是为什么这是一个预览而不是一个适当的深入研究。
我们不会测试大量指令类型和组合以得出一个最合理的调度程序布局,而是供应一些指令类型的近似丈量调度程序容量。

Graviton 3 有很多调度程序条款可供常见操作利用。
虽然我们仍旧不愿定调度程序的确切布局,但很明显,Graviton 3 比 Neoverse N1 有了很大的飞跃。
乍一看,它彷佛与 Zen 3 和 Ice Lake 大致相称,至少在可用于常见操作的调度程序条款方面。
这是 Graviton 3 调度程序的一种合理布局:

实行单位

Graviton 3 的实行单元相称强大,符合我们对高性能内核的期望。
与 Neoverse N1 的三个比较,有四个整数 ALU,三个内存pipeline( Neoverse N1 只有两个)。
Graviton 3 的浮点和向量实行端得到了最大的升级,觉得就像是 Neoverse N1 的向量/FP 实行资源加了一个大的统一调度器的两倍。
256 位 SVE 浮点加法和乘法每个时钟最多可以实行两次,从而使 Graviton 3 的浮点吞吐量与支持 AVX 的 x86 内核相称。
Graviton 3 还继续了 Neoverse N1 的向量和浮点实行延迟,只是略微降落了整数乘法延迟。

循环中某些操作的延迟。
无论向量宽度如何,延迟彷佛都是相同的,只管我们尚未测试 SVE FMA 案例
两个周期浮点加法延迟非常可不雅观,与英特尔的 Golden Cove 相匹配。
当然,这对付 ARM 来说要随意马虎得多,由于 Graviton 3 运行在非常低的时钟上。
FP 乘法延迟与其他做事器 CPU 的延迟大致相称,并没有什么特殊突出的。
向量整数实行延迟也很好,如果比 Zen 3 高一点,并且可能高于 Graviton 3 的低时钟速率。
就实行吞吐量而言,Graviton 3 可能有 4 个 128 位向量/FP pipeline ,由于它能够为我们测试的所有操作(FP 加法、FP 乘法、整数加法)在每个周期实行一条以上的 SVE 指令。
从理论上讲,这将使 Graviton 3 为 NEON 和标量 FP 操作实现令人印象深刻的吞吐量,但对付 NEON FP 加法/乘法和整数加法,我们无法超过每周期三条指令的吞吐量。
这可以通过寄存器文件带脱期制来阐明,即每个周期所需的输入。

高速缓存和内存访问

潜伏

Graviton 3 保留了 4 个循环,64 KB L1D。
但是,ARM 改进了全体缓存层次构造的延迟。
L2 容量保持不变,而延迟低落了两个周期。
L3 延迟在 Ampere Altra 上非常糟糕,谢天谢地,Graviton 3 的延迟要好得多。
Graviton 2 和 Ampere Altra 利用相同的内核和相同的 L2 实现。
这两种设计紧张在 L3 中有所不同,个中 Graviton 2 实现的延迟稍小一些,这可能要归功于更小的网格。
如果我们实时绘制延迟,Graviton 3 降落的周期计数在某种程度上被 Ampere Altra 的更高时钟抵消了。
在内存方面,与 Ampere Altra 和 Graviton 2 比较,Graviton 3 的延迟明显低落。
这可能是由于 DDR5 的延迟特性比 DDR4 更差。
Graviton 3 还将内存掌握器放置在单独的 IO 小芯片上。
这可能会加剧 DDR5 的延迟问题。
Ice Lake 和 Graviton 3 采取大致并行的缓存策略。
两者都实现了芯片范围内的统一 L3。
并且两者都为它们的内核供应了大型私有 L2 缓存,以使它们免受 L3 延迟的影响。
AMD 采纳了不同的方法,放弃了芯片级缓存,转而为每个核心集群供应非常快的 L3。
x86 竞争对手也利用多用场架构。
Sunny Cove(在 Ice Lake 中利用)和 Zen 3 在客户端平台中供应双重任务,它们可以达到远远超过 4 GHz 的时钟速率,以最大限度地提高线程受限的性能。
这种设计特色也涌如今云中,Milan的 Epyc 和 Ice Lake Xeons 的时钟明显高于 Graviton 3。
因此,在查看实际韶光而不是时钟周期时,我们看到了巨大的差异。
Xeon 运行在 3.5 GHz,而 Epyc 运行在 3.23 GHz,基于寄存器到寄存器的附加延迟
Zen 3 和 Ice Lake 都有更小、更快的 L1 缓存。
在 L2,模式重复。
Ice Lake 较高的周期计数延迟完备被其较高的时钟所逆转,使其超越了 Graviton 3。
英特尔和 ARM 的基于网格的 L3 大致相称,详细取决于您在延迟图中查看的位置。
同样,AMD 选择了速率非常快的非统一 L3。
当我们查看更大的测试规模时,DDR5 的延迟回归再次涌现。
英特尔在单片芯片上利用 DDR4 掌握器,为做事器芯片实现了极低的内存延迟。
AMD 的 Epyc 利用小芯片,因此是与 Graviton 3 的一个非常有趣的比较。
只管两者都会产生跨小芯片的丢失,但 AMD 的内存访问延迟比 Graviton 3 低大约 10 ns。
我将这种差异归结为 DDR5。
带宽

在核心数量匹配的情形下,Graviton 3 的缓存供应了合理的性能,与 Ampere Altra 比较,供应了全面的带宽改进。
如果 SVE 发挥浸染,Graviton 3 的 L1 和 L2 缓存带宽将比 Neoverse N1 赶过不少。
借助广泛支持的 NEON 指令,Ampere Altra 因其更高的时钟而保持靠近,但如果利用 SVE,Graviton 3 可能会失落控
但与其 x86 竞争对手比较,它并没有那么令人印象深刻。
由于高时钟和同样宽的矢量宽度,Zen 3 的缓存远远领先于 Graviton。
Ice Lake 以更高的时钟频率和两倍的矢量宽度更进一步,使其具有无与伦比的每核 L1D 带宽。
英特尔的做事器架构还具有到 L2 的宽 64 字节/周期路径。
利用 256 位 SVE 加载指令可以轻微缩小差距,但无法绕过低时钟。
DDR5 在我们的内存延迟测试中表现不佳,但它的上风在带宽测试中确实表示出来了。
Graviton 3 的内存带宽领先于其 x86 竞争对手。
我们没有太多关于全体做事器芯片的数据,紧张是由于我们不是一个可以轻松得到做事器东西的大型技能网站。
但这是与我们拥有的数据的比较:
正如预期的那样,Graviton 3 比 Neoverse N1 具有巨大的上风。
与带有 V-Cache 的 Epyc 比较,它在 L1、L2 和内存带宽方面领先。
然而,AMD 巨大、快速的 L3 仍旧使其在某些测试规模上处于领先地位。

最初的想法

SVE 支持

Graviton 3 之以是引人瞩目,是由于它是第一个支持 SVE 的通用 64 位 ARM 做事器 CPU。
富士通的 A64FX 最先涌现,但那是专为超级打算机设计的芯片,而非通用用场。
我们还在一些最近发布的高端手机上看到了 SVE2 支持,但在其他做事器芯片上却没有。
在不久的将来,这可能是一个有限的上风。
险些没有支持 SVE 的软件。
GCC 将完备谢绝发出 SVE 指令(至少在我们有限的履历中),纵然您利用汇编,以是我们利用 Clang 来汇编我们的测试代码。
在接下来的几年里,接管可能会很缓慢。
SVE 的市场渗透率远不及 AVX(2),这让 SVE 的情形让人想起 2017 年 Skylake-X 面世时的 AVX-512。
以是 Graviton 3 将不得不等待几年才能判断 SVE 是否给它带来了显著的上风。
但这也有问题。
SVE2 已经推出,如果软件利用 SVE2 中不存在的指令,那么 Graviton 3 将被抛在后面。
对抗竞争

AWS 的 Graviton 3 利用比 Neoverse N1 更强大的核心架构。
N1 是当前 ARM 做事器产品的国度栋梁,这意味着 Graviton 3 是云中性能最高、广泛可用的 ARM CPU。
在接下来的几年里,它很可能会留在那个位置。
在 x86 的竞争中,Graviton 3 的单核性能可能比N1更靠近 Zen 3 和 Ice Lake 。
在分支预测、重新排序能力、实行资源和内核宽度方面,ARM 的 V1 微架构(假设这是 Graviton 3 的根本)与英特尔和 AMD 当前的做事器产品处于同一水平。
但我不指望 Graviton 3 能与 AMD 和 Intel 匹敌。
Graviton 3 与其 x86 竞争对手之间存在巨大的时钟速率差异,而且 V1 并不是更大更强大。
从亚马逊的角度来看
该设计彷佛非常狭隘地针对最大化云中的打算密度。
为此,AWS 选择了非常守旧的核心时钟。
在 2.6 GHz 时,Graviton 3 的时钟频率仅比其前身 Graviton 2 高 100 MHz,而没有增加每个芯片的核心数量。
因此,Graviton 3 险些所有的性能上风都来自每时钟性能的提升。
亚马逊因此选择利用台积电最前辈的 5 纳米工艺来降落功耗。
台积电的 7 nm 工艺已经为低功耗设计创造了奇迹,而 5 nm 将进一步发展。
虽然 Graviton 3 的核心比 N1 更强大,但它远不如英特尔的 Golden Cove 年夜志勃勃,仍应被视为中等设计。
这样一个在 5 nm 上以 2.6 GHz 运行的内核绝对可以降落功耗。
这反过来又让 AWS 将个中三个芯片打包到一个节点中,从而提高了打算密度。
终极的结果是一种芯片可以让 AWS 以更低的价格发卖每个 Graviton 3 内核,同时仍旧比之前的 Graviton 2 芯片供应显著的性能提升。

★ 点击文末【阅读原文】,可查看本文原文链接!

与30万半导体精英一起,订阅您的私家芯闻秘书!
欢迎订阅摩尔精英旗下更多"大众年夜众号:摩尔精英、半导体行业不雅观察、摩尔App\公众 data-from=\"大众0\"大众>

免责声明:本文由作者原创。
文章内容系作者个人不雅观点,半导体行业不雅观察转载仅为了传达一种不同的不雅观点,不代表半导体行业不雅观察对该不雅观点赞许或支持,如果有任何异议,欢迎联系半导体行业不雅观察。

本日是《半导体行业不雅观察》为您分享的第3055内容,欢迎关注。

晶圆|集成电路|设备|汽车芯片|存储|台积电|AI|封装

原文链接!

相关文章

易语言,编程新星的崛起与影响

随着科技的发展,编程已成为现代社会不可或缺的一部分。在众多编程语言中,易语言以其独特的魅力和优势,逐渐崭露头角,成为编程新星。本文...

通讯 2025-01-03 阅读0 评论0

易语言ARP,介绍网络安全的守护神

随着互联网的飞速发展,网络安全问题日益凸显,我国政府高度重视网络安全,不断加强网络安全防护。在众多网络安全技术中,易语言ARP技术...

通讯 2025-01-03 阅读0 评论0

易语言CNN,开启人工智能新时代

随着信息时代的到来,人工智能(AI)逐渐成为各个行业发展的关键驱动力。在众多AI技术中,卷积神经网络(CNN)因其强大的图像识别能...

通讯 2025-01-03 阅读0 评论0