X86 Skylake和更新的环形巴士

X86 Skylake和更新的环形巴士,x86,intel,cpu-architecture,cpu-cache,X86,Intel,Cpu Architecture,Cpu Cache,在Intel Skylake及更新版本中,每个核心的内存子系统能否直接参与环总线通信?政府似乎也这么认为 如果是,子系统的哪个部分被连接 L2? 行填充缓冲区以方便NT存储? 您提到的框图是针对Skylake客户端处理器的,它包含2或4个物理内核。在Skylake上的维基百科中,这包括所有主流桌面处理器、所有移动处理器和所有Xeon E3 v5处理器。它们都使用环形互连。尽管客户端级Skylake处理器最多只包含4个物理核,但新一代(如)处理器可能包含6个物理核,并使用环形拓扑。在Skylake

在Intel Skylake及更新版本中,每个核心的内存子系统能否直接参与环总线通信?政府似乎也这么认为

如果是,子系统的哪个部分被连接

L2? 行填充缓冲区以方便NT存储?
您提到的框图是针对Skylake客户端处理器的,它包含2或4个物理内核。在Skylake上的维基百科中,这包括所有主流桌面处理器、所有移动处理器和所有Xeon E3 v5处理器。它们都使用环形互连。尽管客户端级Skylake处理器最多只包含4个物理核,但新一代(如)处理器可能包含6个物理核,并使用环形拓扑。在Skylake处理器和服务器处理器的情况下,使用网状互连。这将是第一款使用网状互连的英特尔高端多核处理器。英特尔对此有一个明确的定义,它实际上详细介绍了它是如何工作的,以及什么与什么相连接

无论互连的拓扑如何,每个核心连接到互连的方式都是相似的。L1填充缓冲器和L2未直接连接到互连。将有一些组件扮演互连代理的角色,它们知道如何通过互连创建、发送和接收消息到一个或多个节点。尽管您所引用的页面中可能没有明确提到这一点,但Skylake server processors上的页面中也提到了这一点,而Skylake server processors似乎在解释这一点方面做得更好。至少,那里的数字比专利中的数字要好

每个磁芯都连接到一个公共的网状止动块CMS1,该止动块是所有磁芯外部但在芯片上的开孔材料的一部分。CMS知道互连上所有节点的标识符,包括其自己的节点。当它接收到一条不适用于其节点的消息时,它会将其转发到计划路由上的下一个节点。如果消息是针对节点的,则将其传输到作为核心一部分的组件,称为缓存和归属代理CHA2。根据专利,CHA将核心的L2连接到节点上的L3片和CMS,CMS本质上是节点和互连之间的网关。在客户级Skylake处理器中,没有CHA,只有CA,我提出这个术语只是为了讨论它。我将更详细地讨论这个问题

互连看起来像这样:

                        |
                        |
                  vertical ring
                        |
                        |
                      -----                        -----
 |node A| -- bus --   |CMS|  -- horizontal ring -- |CMS| -- bus -- |node B|
                      -----                        -----
                        |
                        |
                  vertical ring
                        |
                        |
-----            -----                                -----
|CMS|  -- bus -- |CHA| -- intra-node interconnect --  |L3 |
-----            -----                                -----
                   |
                   |
         -----------------------
         | (we are now in core)|
         |    L2 controller    |
         -----------------------
                   |
                   |
           the rest of the core
每个节点的外观如下所示:

                        |
                        |
                  vertical ring
                        |
                        |
                      -----                        -----
 |node A| -- bus --   |CMS|  -- horizontal ring -- |CMS| -- bus -- |node B|
                      -----                        -----
                        |
                        |
                  vertical ring
                        |
                        |
-----            -----                                -----
|CMS|  -- bus -- |CHA| -- intra-node interconnect --  |L3 |
-----            -----                                -----
                   |
                   |
         -----------------------
         | (we are now in core)|
         |    L2 controller    |
         -----------------------
                   |
                   |
           the rest of the core
茶是干什么的?它叫缓存和主代理。什么归属代理在节点上?请注意,归属代理负责将物理内存地址转换为内存通道地址,这些地址通过互连传递到目标内存通道的目标内存控制器。在服务器级Skylake处理器中,主代理实际上分布在节点上。CHA的缓存部分意味着CHA还负责确定哪个LLC片包含映射到给定地址的缓存线,并相应地将内存请求路由到目标LLC片控制器。CHA还通过向其他节点MESIF或其一个变体提供缓存线的修改副本,以及在节点上嗅探过滤器的帮助下响应一致性请求,来实现一致性协议。非时态请求也会通过CHA。此外,CHA通过将I/O请求发送到可处理PCIe节点请求的目标节点来处理I/O请求

家庭代理仅分布在服务器级Skylake处理器中。在客户端处理器中,主代理和内存控制器存在于系统代理中,请参阅Wikichip文章中的图。另一方面,在服务器处理器中,每个内存控制器都是网格NUMA上的一个节点

网状拓扑和分布式家庭代理显著提高了服务器处理器在物理核心数量方面的可伸缩性。Intel专利讨论了在多个节点之间共享一个CMS以创建混合拓扑,这对于大量内核非常有用。不过,我不认为任何Skylake处理器会使用它

Wikichip的文章称之为聚合网格站。我不知道这个词的由来。Intel将其称为公共网格停止、共享网格停止或网格站。我将使用英特尔术语


2 Wikichip文章称之为缓存和主代理,但Intel称之为缓存和主代理或缓存主代理。

您提到的框图适用于Skylake客户端处理器,它包含2或4个物理内核。在Skylake上的维基百科中,这包括所有主流桌面处理器、所有移动处理器和所有Xeon E3 v5处理器。它们都使用环形互连。尽管客户端级Skylake处理器最多只包含4个物理内核,但新一代(如6个)处理器可能包含6个物理内核 物理核心,也使用环形拓扑。在Skylake处理器和服务器处理器的情况下,使用网状互连。这将是第一款使用网状互连的英特尔高端多核处理器。英特尔对此有一个明确的定义,它实际上详细介绍了它是如何工作的,以及什么与什么相连接

无论互连的拓扑如何,每个核心连接到互连的方式都是相似的。L1填充缓冲器和L2未直接连接到互连。将有一些组件扮演互连代理的角色,它们知道如何通过互连创建、发送和接收消息到一个或多个节点。尽管您所引用的页面中可能没有明确提到这一点,但Skylake server processors上的页面中也提到了这一点,而Skylake server processors似乎在解释这一点方面做得更好。至少,那里的数字比专利中的数字要好

每个磁芯都连接到一个公共的网状止动块CMS1,该止动块是所有磁芯外部但在芯片上的开孔材料的一部分。CMS知道互连上所有节点的标识符,包括其自己的节点。当它接收到一条不适用于其节点的消息时,它会将其转发到计划路由上的下一个节点。如果消息是针对节点的,则将其传输到作为核心一部分的组件,称为缓存和归属代理CHA2。根据专利,CHA将核心的L2连接到节点上的L3片和CMS,CMS本质上是节点和互连之间的网关。在客户级Skylake处理器中,没有CHA,只有CA,我提出这个术语只是为了讨论它。我将更详细地讨论这个问题

互连看起来像这样:

                        |
                        |
                  vertical ring
                        |
                        |
                      -----                        -----
 |node A| -- bus --   |CMS|  -- horizontal ring -- |CMS| -- bus -- |node B|
                      -----                        -----
                        |
                        |
                  vertical ring
                        |
                        |
-----            -----                                -----
|CMS|  -- bus -- |CHA| -- intra-node interconnect --  |L3 |
-----            -----                                -----
                   |
                   |
         -----------------------
         | (we are now in core)|
         |    L2 controller    |
         -----------------------
                   |
                   |
           the rest of the core
每个节点的外观如下所示:

                        |
                        |
                  vertical ring
                        |
                        |
                      -----                        -----
 |node A| -- bus --   |CMS|  -- horizontal ring -- |CMS| -- bus -- |node B|
                      -----                        -----
                        |
                        |
                  vertical ring
                        |
                        |
-----            -----                                -----
|CMS|  -- bus -- |CHA| -- intra-node interconnect --  |L3 |
-----            -----                                -----
                   |
                   |
         -----------------------
         | (we are now in core)|
         |    L2 controller    |
         -----------------------
                   |
                   |
           the rest of the core
茶是干什么的?它叫缓存和主代理。什么归属代理在节点上?请注意,归属代理负责将物理内存地址转换为内存通道地址,这些地址通过互连传递到目标内存通道的目标内存控制器。在服务器级Skylake处理器中,主代理实际上分布在节点上。CHA的缓存部分意味着CHA还负责确定哪个LLC片包含映射到给定地址的缓存线,并相应地将内存请求路由到目标LLC片控制器。CHA还通过向其他节点MESIF或其一个变体提供缓存线的修改副本,以及在节点上嗅探过滤器的帮助下响应一致性请求,来实现一致性协议。非时态请求也会通过CHA。此外,CHA通过将I/O请求发送到可处理PCIe节点请求的目标节点来处理I/O请求

家庭代理仅分布在服务器级Skylake处理器中。在客户端处理器中,主代理和内存控制器存在于系统代理中,请参阅Wikichip文章中的图。另一方面,在服务器处理器中,每个内存控制器都是网格NUMA上的一个节点

网状拓扑和分布式家庭代理显著提高了服务器处理器在物理核心数量方面的可伸缩性。Intel专利讨论了在多个节点之间共享一个CMS以创建混合拓扑,这对于大量内核非常有用。不过,我不认为任何Skylake处理器会使用它

Wikichip的文章称之为聚合网格站。我不知道这个词的由来。Intel将其称为公共网格停止、共享网格停止或网格站。我将使用英特尔术语


2 Wikichip文章称之为缓存和主代理,但Intel称之为缓存和主代理或缓存主代理。

否决投票的原因?1问题很清楚,自包含的2显示了先前工作的证据3直接询问了x86微体系结构,标记存在。这个问题似乎与编程无关。如果是,也许您可以澄清它是如何关联的。@prl有一个cpu架构标签是有原因的。这是编程堆栈的一部分,如果您想对NT-stores进行推理,则可能与此相关。问题一点也不清楚,请解释参与环形通信的含义。为什么你会对核心的请求能够到达戒指感到惊讶?你期望他们如何得到服务?英特尔从Sandybridge开始就使用这种环总线架构。讽刺的是,对于你的问题标题,实际上是Skylake-AVX512改为使用网格而不是戒指,这是~7年来的第一次重大变化。但是桌面/移动SKL客户端/咖啡湖仍然使用一个戒指,并且。正如中所讨论的,核心环可能只发生在L2中。否决票的原因是什么?1问题明确,且独立的2显示先前工作的证据3 D
直接询问有关x86微体系结构的问题,该标记存在于此问题似乎与编程无关。如果是,也许您可以澄清它是如何关联的。@prl有一个cpu架构标签是有原因的。这是编程堆栈的一部分,如果您想对NT-stores进行推理,则可能与此相关。问题一点也不清楚,请解释参与环形通信的含义。为什么你会对核心的请求能够到达戒指感到惊讶?你期望他们如何得到服务?英特尔从Sandybridge开始就使用这种环总线架构。讽刺的是,对于你的问题标题,实际上是Skylake-AVX512改为使用网格而不是戒指,这是~7年来的第一次重大变化。但是桌面/移动SKL客户端/咖啡湖仍然使用一个戒指,并且。如中所述,核心环可能只通过L2发生。有了4个物理核心+系统代理,它显然是一个环,而不是一个网格。如果你看很多core Broadwell和更早的版本,它肯定是一个戒指。我认为仅仅谈论Skylake是一个错误。此外,它还说SKL和更新的,其中包括咖啡湖。桌面版本为6核芯片:。好了,6核Coffee Lake仍然使用Intel的传统环总线,它在核计数方面非常有效,而不是SKX风格的网格。是的,wikichip说Coffee Lake使用的是相同的环总线:就像自Sandybridge以来的Intel一样:@PeterCordes感谢您的更正。我只会坚持使用环这个词,而不是从理论上讲。脚注:维基芯片并不是100%准确的。这只是一个维基。可能有人在写那篇文章时忘记了CMS的首字母缩略词。维基芯片上的术语有点混乱,这并不奇怪;所描述的技术细节通常是正确的,但我似乎记得至少有一个案例不是这样的。回答很好,哈迪-谢谢。而且-我学到了一些我以前不知道的东西:内存通道寻址。感谢您抽出时间,处理我现在看来很困惑的问题标题;我不知道有服务器产品存在!再次感谢。有了4个物理内核+系统代理,它显然是一个环,而不是一个网格。如果你看很多core Broadwell和更早的版本,它肯定是一个戒指。我认为仅仅谈论Skylake是一个错误。此外,它还说SKL和更新的,其中包括咖啡湖。桌面版本为6核芯片:。好了,6核Coffee Lake仍然使用Intel的传统环总线,它在核计数方面非常有效,而不是SKX风格的网格。是的,wikichip说Coffee Lake使用的是相同的环总线:就像自Sandybridge以来的Intel一样:@PeterCordes感谢您的更正。我只会坚持使用环这个词,而不是从理论上讲。脚注:维基芯片并不是100%准确的。这只是一个维基。可能有人在写那篇文章时忘记了CMS的首字母缩略词。维基芯片上的术语有点混乱,这并不奇怪;所描述的技术细节通常是正确的,但我似乎记得至少有一个案例不是这样的。回答很好,哈迪-谢谢。而且-我学到了一些我以前不知道的东西:内存通道寻址。感谢您抽出时间,处理我现在看来很困惑的问题标题;我不知道有服务器产品存在!再次感谢。