首页 / 数字电子技术 / zen2的cpu(amd zen 2 性能)

zen2的cpu(amd zen 2 性能)

Time:2024-03-17 17:04:07 Read:396 作者:CEO

过去一个月,AMD 发布了多项公告。 AMD 正准备推出第三代Ryzen 台式处理器。这些处理器将采用AMD最新的微架构Zen 2,并采用台积电领先的7纳米工艺制造。

我们先来看看核心微架构的改进。

zen2的cpu(amd zen 2 性能)

禅2

新芯片的核心是Zen 2。该核心将用于AMD的移动APU、高性能桌面处理器和数据中心芯片。

Zen 2 是继Zen 之后的下一个主要微架构。随着Zen 2的推出,AMD承诺基于Cinebench 1T和Spec2006分别将IPC提升13-15%。为了了解他们如何能够从IPC 中获益,我们需要仔细研究底层微架构的变化。

前端

前端的很大一部分已经重新设计。在没有识别分支的典型情况下,从下一个64B 块的地址开始从第一级高速缓存获取指令。 Zen 最初提供64 KiB L1 缓存。它由4路256组组成。 Zen 2 对L1 进行了重大更改。关联性改为8路64组,缓存大小减半至32 KiB。如果没有AMD 提供更多详细信息,就很难描述其他变化,而且更高的相关性也应该会降低失误率。 AMD指出,通过减少指令缓存的大小并使用该区域添加一些其他组件,特别是BPU和OC,他们能够在单位硅面积上获得更好的性能。顺便说一句,从组织角度来看,Zen 2 现在与英特尔的Skylake 和Sunny Cove 相同。值得注意的是,L1 指令高速缓存翻译后备缓冲区保持不变。它仍然是一个完全关联的64 条目深度缓冲区,能够存储4 KiB、2 MIB 和1 GiB 页面。

高速缓存行保存64 个字节,每个周期可读取32 个字节。在不太常见的缓存未命中情况下,L1 将为包含未命中地址的行生成填充请求。每个周期最多可以从共享L2 向指令高速缓存传输32 个字节。

除了提取生成的填充请求之外,分支预测器和预取器还可以发出其他请求。这很重要,因为预取器能够利用空间局部性来避免停顿。这是AMD花大力气改进的另一个领域。

最好的预测者会获胜吗?

分支预测单元的目标是预测条件分支的下一个地址。换句话说,猜测是否被占用。这里的基本思想是猜测指令流的路径,而不是通过停止管道直到最终知道路径来浪费周期。然而,这必须明智地进行,因为糟糕的预测会直接导致工作的浪费。当分支发生时,将其存储在分支目标缓冲区中,以便可以更容易地识别和采用(或不采用)后续分支。 Zen 等现代微处理器通过在全局历史寄存器(GHR) 中不仅存储最后一个分支的历史记录,还存储最后几个分支的历史记录来实现这一点,以便提取分支之间的相关性(例如,如果是较早的分支,则下一个分支也可以采取),进一步实现这一点。

Zen 上的BTB 是—— 个L3 缓存,每个缓存具有更高的容量,但代价是更长的延迟。 Zen 2 保持结构不变,但第二级和第三级BTB 中的条目数量几乎翻倍,分别从256 和4K 增加到512 和7K。

顺便说一句,在Zen 中,第一级(L0) BTB 中的查找是零延迟查找,而L1 和L2 BTB 中的后续表查找分别会导致一个和四个气泡。目前尚不清楚Zen 2 是否会改变这些成本。

Zen 采用称为哈希感知器的动态预测器。利用围绕人工智能的炒作,营销人员喜欢将其称为神经网络预测器。感知器是最简单的机器学习形式,它本身比其他一些机器学习算法更容易在硬件中实现。它们也往往比gshare 等预测器更准确,但它们的实现确实更复杂。 Zen 的实际实现尚不清楚,但我们至少可以描述一个简单的实现是什么样子。当处理器遇到条件分支时,它的地址用于从感知器表中获取感知器。对于我们来说,感知器只不过是一个权重向量。这些权重代表历史分支结果和预测分支结果之间的相关性。例如,考虑以下三种模式:“TTN”、“NTN”和“NNN”。如果所有三种模式都导致下一个分支不被采用,那么也许我们可以说前两个分支之间不存在相关性,并为它们分配一个较小的权重。先前分支的结果是从全局历史寄存器中获取的。寄存器中的各个位用作输入。输出值是计算出的权重与之前分支历史记录的点积。在这种情况下,负输出可能意味着“不要采取”,而其他值可能会被预测为“采取”。值得一提的是,除了分支历史之外的其他输入也可以用于推理相关性,尽管尚不清楚是否有任何现实世界的实现利用了这个想法。 Zen 的实现可能要复杂得多,也许会采样不同类型的历史。尽管如此,它的工作方式是一样的。

考虑到Zen 管道的长度和宽度,错误的预测可能会导致超过100 个槽被刷新。这直接导致性能损失。 Zen 2 保留了哈希感知器预测器,但添加了第二层新的TAGE 预测器。该预测器由Andre Seznec 于2006 年首次提出,是对Michaud 的PPM 类预测器的改进。 TAGE预测器在上届分支预测(CBP)竞赛(2006-2016)中包揽了全部四项冠军。 TAGE 背后的想法是程序中的不同分支需要不同长度的历史记录。换句话说,对于某些分支来说,非常小的历史记录效果最好。例如,1 位预测器:如果之前采用过分支,则将再次采用该分支。不同的分支可能依赖于前一个分支,因此需要更长的多位历史记录来完全预测是否会采用它。标记几何历史长度(TAGE) 预测器由多个全局历史表组成,这些表使用不同长度的全局历史寄存器索引,以涵盖所有这些情况。寄存器使用的长度形成几何级数,因此得名。

使用TAGE 预测器的想法是,它试图找出哪个分支具有最多的历史记录,优先考虑最长的历史记录而不是较短的历史记录。

这种多预测器方案类似于分支目标缓冲区的分层。第一级预测器是感知器,用于快速查找(例如,单周期分辨率)。第二级TAGE 预测器是一个复杂的预测器,需要许多epoch 才能完成,因此它必须分层在简单预测器之上。换句话说,L2 预测器速度较慢,但效果更好,因此可用于双重检查较快且不太准确的预测器的结果。如果L2 预测器与L1 预测器不同,则当TAGE 预测器覆盖感知器预测器时会发生小刷新,并且返回提取并使用L2 预测,因为L2 预测器被认为是更准确的预测。

AMD 没有透露更多信息,只是使用了TAGE 预测器。值得指出的是,TAGE 预测器不再被认为是最好的预测器,至少从字面上看是这样。后来,Seznec 对TAGE 预测器进行了改进,添加了统计校正器(TAGE-SC),随后又添加了周期预测器(TAGE-SC-L)。替代方案包括BATAGE 预测器。尽管如此,我们得出的结论是,有更多机会找到更好的分支预测器,这是一个非常活跃的研究领域。

AMD 表示,新的分支预测单元的目标误预测率比以前的感知器低30%。因为现代微处理器的准确度高达90%。与Zen 中的实现相比,错误预测率的大幅降低将直接转化为更高的IPC。事实上,Zen 2 声称的性能提升的很大一部分就归功于如此大的改进。

改变现状

关于这一代AMD 芯片,我们注意到的一件事是现状的变化。从历史上看,英特尔投入了大量资源来设计最先进、性能最高的预测器。另一方面,AMD 往往落后于“足够好”的更为保守的预测指标。随着Zen的成功,Zen 2的情况有所不同。虽然AMD正在抓住所有唾手可得的果实,但他们现在直接瞄准了一直拥有无可争议的领先优势的英特尔。换句话说,AMD 似乎对他们当前的核心设计充满信心,可以释放更多资源来解决小缺陷。

Copyright © 2002-2024 应用电子技术网 版权所有 
备案号: 滇ICP备2023006467号-62

免责声明: 1、本站部分内容系互联网收集或编辑转载,并不代表本网赞同其观点和对其真实性负责。 2、本页面内容里面包含的图片、视频、音频等文件均为外部引用,本站一律不提供存储。 3、如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除或断开链接! 4、本站如遇以版权恶意诈骗,我们必奉陪到底,抵制恶意行为。 ※ 有关作品版权事宜请联系客服邮箱:478923*qq.com(*换成@)