Bus到Mesh网络-CPU片内总线的退化之路-从Ring-破茧化蝶

文章编号:8965 更新时间:2024-02-20 分类:互联网资讯 阅读次数:

资讯内容

在大少数普通用户眼里,CPU兴许就是一块顶着铁盖子的电路板而已。但是假设咱们揭开顶盖,深化正中那片小小的集成电路,咱们会发现这里有着人类科技史上,最平凡的奇观。几十亿个晶体管层层叠叠,密密层层挤在一同,占据着这个仅有一点几个平方厘米的狭小环球。晶体管们在上帝之手的布置下,组成了各个配置模块。而这些配置模块之间,则是开阔无比的超高速公路。这条超高速公路如此关键,以致于它的距离、速度和塞车与否,会大大影响这个小小环球的效率。这些模块就是CPU外部的配置模块,例如内存管理器、L3/L2Cache、PCU、PCIerootcomplex等等,而这条高速公路,就是咱们当天的主角,片内总线了。

为什么要求片内总线?

Bus到Mesh网络CPU片内总线的退化之

片内总线衔接Die外部的各个模块,是它们之间消息交换的必定途径。它的设计高效与否,会大大影响CPU的性能。假设咱们把各个模块看做一个个节点,那么它们之间相互衔接相关普通可以有以下几种:

而咱们CPU片内总线衔接就教训了从星型(Star)衔接-->环形总线(RingBus)-->Mesh网络的环节。

星型衔接

早期CPU外部模块数目较少,结构繁多,星型连结不失是一个繁难高效的方法。

咱们尊贵的Core无可争议的被放在核心的位置,各个模块都和它衔接,而彼此并不间接交互,必定要Core中转。这种设计繁难高效,被经常使用了相当长的期间。

疑问随着多core的出现而浮现进去,这个多进去的core放在哪里适合呢?一种星型衔接的变种被应用起来。它相似一种双星结构,两边的节点仿佛启动了有丝决裂,一分为二,各自主持着自己的权利范畴。同时为了高效,每个Core又伸出了些触手,和别的Core的小弟出现了些不清不楚的相关。疑问被暂时处置了,这种凌乱的相关被固定上去,环球又复原了些许敌对,直到Core数目标进一步参与。

环形总线(RingBus)

Intel的主机产品线是第一个受不了这种暂时布置的。至强CPU必定提供更多的CPU,而低效的变种星形连结限度了内核数目标参与,加上各个模块之间通信的需求越来越多,一种新的总线便孕育而出。

在NehalemEP/EX这个划时代的产品中,很多新技术被引入出去,Intel也由此确定了上游的位置。而RingBus就是其中关键的一个。

咱们可以看到,RingBus实践上是两个环,一个顺时针环和一个逆时针环。各个模块一视同仁的经过RingStop挂接在RingBus上。如此设计带来很多好处:

真是个绝妙的设计!但是,摩尔定律是有情的,方案能经常使用良久的设计往往很快就过期了,这点在计算机界简直变成了广泛法令。RingBus的缺陷也很快随着内核的极速参与而暴显露来。由于每加一个Core,ringbus就长大一些,提前就变大一点,很快ringbus性能就随着core的增多而重大降低,多于12个core后会重大连累系统的全体提前。和星型衔接一样,一种变种发生了:

在至强HCC(HighCoreCount,核很多版)版本中,又参与了一个ringbus。两个ringbus各接12个Core,将提前管理在可控的范畴内。俩个RingBus间接用两个双向PipeLine衔接,保障通信顺畅。于此同时由于Ring0中的模块访问Ring1中的模块提前显著高于本Ring,亲缘度不同,所以两个Ring分属于不同的NUMA(Non-UniformMemoryAccessArchitecture)node。这点在BIOS设计中要特意留意。

痴呆的同窗或许要问了,假设Core比12个多,比24个少些呢?是不是对付塞到第一个ring里拉倒呢?其实还有个1.5ring的奇葩设计:

左边的是至强的LCC(LowCoreCount)SKU,只要单Ring,而左边的MCC(MiddleCoreCount)则是一个半Ring的设计!

核大战的硝烟远远尚未停息,摩尔定律带来的晶体管更多的都用来参与内核而不是提高速度(为什么CPU的频率止步于4G?咱们触到频率天花板了吗?)24个Core的至强也远远不是终点,那么更多的Core怎样办呢?三个Ring设计吗?多于3个Ring后,它们之间怎样互联呢?这些艰巨促使Intel寻觅新的方向。

Mesh网络

Intel在Skylake和KnightLanding中引入了新的片内总线:Mesh。它是一种2D的Mesh网络:

Mesh网络近几年越来越炽热,它的灵敏性吸引越来越多的产品参与对它的允许,包含咱们的Wifi等等系统。Mesh网络引入片内总线是一个渺小的提高,它有很多优势:

左边的是ringbus,从一个ring外面访问另一个ring外面的内存管理器。最坏状况下是那条绿线,拐了一个大圈才抵达内存管理器,要求310个cycle。而在Mesh网络中则门路缩短很多。

论断

最后请大家思索一下,为什么不罗唆用全互联FullConnected网络来衔接Die中的各个节点呢?

其余CPU配件文章:

为什么CPU的频率止步于4G?咱们触到频率天花板了吗?

CPU制作的那些事之一:i7和i5其实是孪生兄弟!?

CPU制作的那些事之二:Die的大小和良品率

为什么晶圆都是圆的不是方的?

为什么"电路"要铺满整个晶圆?

CPU能用多久?会不会由于老化而变慢?

为什么CPU越来越多地驳回硅脂而不是焊锡散热?

为什么IntelCPU的Die越来越小了?

用微信扫描二维码参与UEFIBlog群众号

参考资料:

[1]:IntelCorei97900Xreview:thebestaround,buttheworsttimetobuyahigh-endCPU

[2]:ThingsaregettingMeshy:Next-GenerationIntelSkylake-SPCPUsMeshArchitecture

标签: 配件电脑常识中央处置器CPU

本文地址: https://yihaiquanyi.com/article/9c04775669580fe84fbe.html

上一篇:UEFI和UFFI引导有什么区别UEFI和UEFI论坛...
下一篇:睿频教程睿频榨干CPU所有的潜力CPU电源管理...

发表评论