【问题标题】:How many ways-superscalar are modern Intel processors?现代英特尔处理器有多少种超标量方式?
【发布时间】:2020-02-13 12:29:53
【问题描述】:

我刚刚了解了超标量处理器 (https://en.wikipedia.org/wiki/Superscalar_processor)。

我还了解到,随着超标量处理器的宽度/路数增加,事情变得更加复杂,复杂性增加得如此之快,因此最好添加更多内核而不是增加宽度。我的导师说,在 4 路和 8 路超标量之间添加更多方法是不值得的。

这让我想知道:英特尔在哪里停止添加方式并开始添加内核?我的英特尔第 8 代酷睿 i7 的每个核心有多少种方式?

方式的概念甚至适用于这些处理器吗?

【问题讨论】:

    标签: x86 intel cpu-architecture micro-architecture


    【解决方案1】:

    有关此类管道详细信息,请参阅Agner Fog's microarch guidehttps://www.realworldtech.com/haswell-cpu/ 以及带有框图的 Haswell 的 uarch 深入研究。 (以及 David Kanter 关于其他 uarches 的一些文章的链接,例如 SnB 和 Core2,以及 AMD Bulldozer 和 K8。)还有https://stackoverflow.com/tags/x86/info中的其他链接

    是的,现代 x86 内核是超标量乱序执行。自 PPro 以来,基本原理没有改变:将 x86 机器代码解码为可由 ROB + RS 调度的微操作 (uop)。


    (术语:Intel 使用“issue”表示“复制到乱序后端”,“dispatch”表示“从调度程序发送到执行单元”,分配资源并更新 RAT . 在计算机架构领域的其他许多领域,人们使用相反的术语。)

    Intel 因为 Core 2 在问题/重命名/分配阶段是 4 微秒宽的超标量,是最窄的瓶颈。(在此之前,PPro 到 Pentium-M,它是 3 宽。)核心2 在实践中很少能维持这一点,因为有太多其他瓶颈。 Skylake 通常可以在高吞吐量代码中非常接近。

    为了在每个融合域 uop 中进行更多工作,需要将 ALU uop 与其内存源负载进行微融合。和例如的宏观融合cmp/test + jcc 所以比较和分支指令一起解码为一个微指令。 (请参阅 Agner Fog 的微架构指南)。这包括您的 Kaby 或 Coffee Lake CPU。最大未融合域持续吞吐量为每时钟 7 微秒,achievable in practice on Skylake。在突发中,调度程序可以向每个端口发送微指令。

    Ice Lake(Sunny Cove uarch)将发行阶段扩大到 5。

    AMD Zen 的宽度是 6 uop,但只有 5 个 指令 宽度,所以它在运行至少一些 2-uop 指令时只能达到 6 uops/clock。例如256 位 AVX SIMD 指令,将其解码为 2 个 128 位的一半(或更差的车道交叉洗牌)。


    Skylake 将传统解码器扩展至 5 uop/时钟,uop 缓存获取扩展至 6 uop/时钟,高于 Broadwell 的 SnB 中的 4/时钟。这在更多时间隐藏了前端气泡,并在高吞吐量代码中使问题/重命名阶段在更多时间以每时钟 4 uop 的速度提供。 (阶段之间有缓冲区/队列,例如提供问题/重命名阶段的 64 uop IDQ。)

    这包括您的 Kaby 或 Coffee Lake CPU:微架构上,KBL 中的 IA 内核与 SKL 相同,Coffee Lake 是一个非常小的调整(修复了 SKL 在微码更新中必须禁用的循环缓冲区,因为部分-注册合并 uop 错误,又名 CPU 错误)。 KBL 和 CFL 的 GPU 比 SKL 好,但 x86 内核基本相同。


    是的,对于大多数代码来说,超过 3 或 4 宽的回报会递减,但 SMT 让宽核心可以同时在两个(或 4 或 8 个)执行线程中找到 ILP。这使得更宽的内核不会被浪费,但内核的成本比宽度线性扩展更多,因此只有在有时单个线程可以使用大部分宽度时才这样做。否则,您只会构建更多更小的内核。 (至少如果您有更多内核的可扩展互连......)我在电子产品上的Why not make one big CPU core? 上的回答有更多关于权衡和实际工作负载中可用的有限 ILP 的详细信息。

    【讨论】:

    • 这是一个很好的答案。如果您提到 4/5/6 重命名瓶颈是您提到它的地方最窄的瓶颈,我认为提取标题答案会更容易 - 因为这是我认为的标题答案“ 4 宽,因为重命名为 4 宽,它是最窄的瓶颈,等等”。
    猜你喜欢
    • 1970-01-01
    • 2019-03-19
    • 2011-01-08
    • 1970-01-01
    • 1970-01-01
    • 2014-02-08
    • 2013-12-12
    • 2016-01-27
    • 2015-02-02
    相关资源
    最近更新 更多