1
5
您提到的框图是针对Skylake客户端处理器的,它包含2个或4个物理内核。在维基百科上 page 在Skylake上,这包括所有主流桌面处理器、所有移动处理器和所有至强E3 v5处理器。它们都使用环形互连。尽管客户端级Skylake处理器最多只包含4个物理内核,但新一代处理器,如 Coffee Lake 可包括6个物理核,也可使用环形拓扑。假使 other Skylake处理器(服务器处理器),使用网状互连。这将是第一款使用网状互连的英特尔高端多核处理器。Intel有一个 patent 为此,它实际上详细介绍了它的工作原理以及与之相关的内容。 无论互连的拓扑如何,每个核心连接到互连的方式都是相似的。L1填充缓冲器和L2未直接连接到互连。将有一些组件扮演互连代理的角色,它们知道如何通过互连创建、发送和接收消息到一个或多个节点。尽管您所引用的页面中可能没有明确提到这一点,但Skylake server processors的页面中也提到了这一点,这似乎可以更好地解释 how it works at a basic level 至少,那里的数字比专利中的数字要好。 每个铁芯都连接到一个公共网格挡块(CMS) 1. ,这是uncore的一部分(所有内核之外的东西,但在芯片上)。CMS知道互连上所有节点的标识符,包括其自己的节点。当它接收到不针对其节点的消息时,它会将其转发到计划路由上的下一个节点。如果消息是针对节点的,则会传输到作为核心一部分的组件,称为缓存和主代理(CHA) 2. .根据专利,CHA将核心的L2连接到节点上的L3片和CMS(本质上是节点和互连之间的网关)。在客户端级Skylake处理器中,没有CHA,只有“CA”(我提出这个术语只是为了讨论它)。我会更详细地讨论这个问题。 互连如下所示:
每个节点如下所示:
CHA做什么?这叫做 隐藏物 和 家 代理人什么主代理位于节点上?请注意,归属代理负责将物理内存地址转换为内存通道地址,这些地址通过互连传递到目标内存通道的目标内存控制器。在服务器级Skylake处理器中,主代理实际上分布在节点上。这个 隐藏物 CHA的一部分意味着CHA还负责确定哪个LLC片包含映射到给定地址的缓存线,并相应地将内存请求路由到目标LLC片控制器。CHA还通过向其他节点(MESIF或其变体之一)提供(修改的)缓存线副本,以及在节点侦听过滤器的帮助下响应一致性请求,来实现一致性协议。非时态请求也会通过CHA。此外,CHA通过将I/O请求发送到可处理请求的目标节点(PCIe节点)来处理这些请求。 主代理仅分布在服务器级Skylake处理器中。在客户端处理器中,主代理(和内存控制器)存在于系统代理中(请参阅Wikichip文章中的图)。另一方面,在服务器处理器中,每个内存控制器都是网格上的一个节点(NUMA)。 网状拓扑和分布式家庭代理显著提高了服务器处理器在物理核心数量方面的可伸缩性。Intel专利讨论了在多个节点之间共享一个CMS以创建混合拓扑,这对于大量内核非常有用。不过,我不认为任何Skylake处理器会使用它。 (1) Wikichip的文章称之为聚合网格停止。我不知道这个词的由来。Intel将其称为公共网格停止、共享网格停止或网格站。我将使用Intel术语。 (2) Wikichip文章称其为缓存和主代理,但Intel称其为缓存和主代理或缓存主代理。 |
Anon. · 用汇编语言解释这一行? 6 年前 |
wangt13 · 如何使用VMX暂停和恢复VM 6 年前 |
Kay · Skylake和更新的环形巴士 6 年前 |
Kadir · Intel芯片上的半精度浮点算法 6 年前 |
Some_Dude · x86汇编牛顿平方根算法寄存器为1#IND 6 年前 |