为什么CPU通常仅连接到一条总线?


24

我在这里找到了主板架构:

在此处输入图片说明

这似乎是主板的典型布局。编辑:嗯,显然它不再那么典型了。

为什么CPU 连接1条总线?前端总线看起来像是一个主要瓶颈。将2或3条总线直接送入CPU会更好吗?

我想象一条总线用于RAM,一条总线用于图形卡,另一条总线用于某种形式的到硬盘驱动器,usb端口以及其他所有设备的桥接。之所以将其拆分,是因为硬盘驱动器的数据速率与内存相比要慢一些。

这样做很难吗?我看不出会有多少成本,因为现有的图表已经拥有不少于7辆巴士。实际上,通过使用更多的直达巴士,我们可以减少巴士的总数,甚至可以减少其中一座桥。

那么这有什么问题吗?某处是否有主要劣势?我唯一想到的可能是CPU和内核的复杂性更高,这使我认为这种瓶颈总线体系结构是在事情不那么复杂的旧时代完成的,而设计在标准化方面保持不变。

编辑:我忘了提到看门狗监视器。我知道我已经在一些图中看到了。据推测,瓶颈总线将使看门狗更容易监视所有内容。可能与这有关吗?


9
那是一个非常古老的方法。如今,CPU内置了根联合体和内存控制器-因此可以直接连接到PCIe设备,RAM和有效的南桥。例如,
Tom Carpenter

@TomCarpenter是的,开始看起来更像它了。我发布的图表是我在所有地方(包括学校)看到的图表,因此我认为它更为典型。
DrZ214 '16

7
上面的图仍然有用。如今,这不是主板的示意图,而是CPU本身的示意图。将“ CPU”替换为“ core”,将“ chipset”替换为“ CPU”。
slebetman '16

Answers:


43

您展示的方法是主板的一种旧拓扑结构-它早于PCIe,确实使它回到了上世纪90年代。原因主要是由于集成困难。

基本上在15年前,从商业角度来看,将所有内容集成到单个管芯中的技术实际上是不存在的,而且这样做非常困难。集成所有组件将导致硅芯片尺寸非常大,进而导致良率大大降低。成品率实质上是您因缺陷而在晶圆上损失的裸片数量-裸片越大,出现缺陷的可能性越高。

为了解决这个问题,您只需将设计分成多个芯片-就主板而言,最终就是CPU,北桥和南桥。CPU仅限于具有高速互连的处理器(据我所知,称为前端总线)。然后,您便拥有了北桥,该桥集成了内存控制器,图形连接(例如AGP,一种古老的计算技术),以及到南桥的另一条较慢的链接。南桥用于处理扩展卡,硬盘驱动器,CD驱动器,音频等。


在过去的20年中,以越来越高的可靠性在越来越小的工艺节点上制造半导体的能力意味着将所有东西都集成到单个芯片上成为可能。较小的晶体管意味着更高的密度,因此您可以容纳更多的晶体管,而改进的制造工艺则意味着更高的良率。实际上,它不仅更具成本效益,而且对于保持现代计算机的速度提高也变得至关重要。

正如您正确指出的那样,与北桥的一个互连成为瓶颈。如果您可以将所有东西都集成到CPU中,包括PCIe Root Complex和系统内存控制器,那么您突然之间就可以在用于图形和计算的关键设备之间建立非常高速的链接-在PCB上,您可能正在谈论Gbps的速度,模具可以达到Tbps的速度!

此新拓扑反映在此图中:

新拓扑

图片来源

如您所见,在这种情况下,图形和内存控制器都集成在CPU芯片上。虽然您仍然可以链接到实际上是由北桥和南桥的某些位组成的单个芯片组(图中的芯片组)的链接,但如今,这种互连速度非常快,可能是100 + Gbps。仍然比死时慢,但比旧的前端总线快得多。

为什么不完全整合所有内容?好的主板制造商仍然想要一些可定制性-多少个PCIe插槽,多少个SATA连接,什么音频控制器等。

实际上,某些移动处理器确实将更多集成到CPU裸片上-想想使用ARM处理器变体的单板计算机。在这种情况下,由于ARM会租用CPU设计,因此制造商仍然可以按自己的意愿自定义模具,并集成所需的任何控制器/接口。


+1,您击败了我:)不错的答案,尤其是出于建筑设计的历史原因。
uint128_t

谢谢,特别是第二段。但是,on the die you can achieve speeds on the order of Tbps!Yikes,难道不是开始超过CPU足够快地处理它的能力吗?
DrZ214 '16

3
@ DrZ214它们不是PCI,而是PCIe,它是串行总线而不是并行总线。PCIe在两个方向(全双工)上每通道的速率为2.5Gbps,5Gpbs或8Gbps-通常看到的16通道最宽,在两个方向上的理论最大值为128Gbps。是的,上面关于处理器速度的评论故意过分简单化,但并非不切实际-与CPU无关,目前我正在进行FPGA设计,以315Gbps的速度处理数据,这远远不能达到完整的性能FPGA的局限性在于缺少数据!
汤姆·卡彭特

1
有趣的是,这代表了向旧系统架构的转变,在该系统中,内存和存储总线(等)直接进入了CPU。
克里斯·H

1
@ DrZ214一个“通道”是一个单一的位宽,一个时钟/数据信号按两对发送。与DDR总线相比,PCIe的独特之处在于PCIe可以自由地聚合和解散通道,而大多数总线则必须全部或不占用。
pjc50

9

我不能说我是计算机体系结构方面的专家,但是我会回答您的问题。

这似乎是主板的典型布局。

正如汤姆所说,这已不再是事实。大多数现代CPU具有集成的北桥。南桥通常是集成的,也可以通过新的体系结构来避免。英特尔的芯片组用平台控制器中枢“代替”南桥,后者通过DMI总线直接与CPU通信。

为什么CPU仅连接1条总线?那辆前排公交车似乎是一个主要瓶颈。将2或3条总线直接送入CPU会更好吗?

宽(64位)总线很昂贵,它们需要大量的总线收发器和许多I / O引脚。唯一需要大声尖叫的快速总线的设备是图形卡和RAM。其他所有内容(SATA,PCI,USB,串行等)都比较慢,并且不能经常访问。因此,在上述架构中,为什么所有这些“较慢”的外围设备都通过南桥作为单个总线设备集中在一起:处理器不想仲裁每个小小的总线事务,所以所有缓慢/不频繁的总线事务都可以汇总由南桥管理,然后以较轻松的速度连接到其他外围设备。

现在,重要的是要提到,当我在上面说SATA / PCI / USB /串行“慢”时,这主要是历史点,并且在今天变得越来越不正确。随着SSD应用于棘手的磁盘和快速的PCIe外设以及USB 3.0,Thunderbolt以及可能的10G以太网(很快),“慢速”外设带宽迅速变得非常重要。过去,北桥和南桥之间的公交车不是很大的瓶颈,但现在已经不复存在了。因此,是的,架构正在朝着更多直接连接到CPU的总线发展。

这样做很难吗?我看不出会有多少成本,因为现有的图表已经拥有不少于7辆巴士。

处理器需要更多的总线来管理,而处理器需要更多的处理器芯片。这很贵。在上图中,并非所有总线都相等。FSB尖叫得很快,LPC却没有。快速总线需要快速硅芯片,而慢速总线则不需要,因此,如果您可以将慢速总线从CPU转移到另一个芯片,则将使您的生活更加轻松。

但是,如上所述,随着高带宽设备的日益普及,越来越多的总线直接连接到处理器,尤其是在SoC /高度集成的体系结构中。通过在CPU芯片上放置越来越多的控制器,可以轻松获得很高的带宽。

编辑:我忘了提到看门狗监视器。我知道我已经在一些图中看到了。据推测,瓶颈总线将使看门狗更容易监视所有内容。可能与这有关吗?

不,那不是看门狗真正做的。看门狗只是在各种事物锁定时重新启动它们。它并没有真正看清总线上的所有运行情况(远没有那么复杂!)。


2
Fast buses require fast silicon, slow buses don't快速硅到底是什么意思?高纯度硅?还是说慢速公交车可以使用与硅不同的元素?无论哪种方式,我都认为硅是一种非常便宜的材料。看门狗也很有趣。我可能会问一个相关的问题。
DrZ214 '16

1
快速总线通常是高性能设备(例如CPU)的一部分。总线接口需要空间以及与芯片其他部分的连接。处理器管芯上的硅面积比速度较慢的芯片要贵得多,因为工艺尺寸更小并且制造/封装更加困难。因此,将FSB上的设备限制为仅实际需要这种带宽的设备会比较便宜。但是,随着更多的控制器与同一芯片(SoC)上的CPU集成在一起,这不再是事实。
uint128_t

即使慢速总线不需要快速的芯片,在慢速的接口上找到非常快的驱动器也是很常见的,这会给PCB布局造成很大的麻烦。我已经看到普通的PCI(在PCI-X上最大速度为133MHz),其上升和下降时间小于300 ps,因为供应商正在使用标准的I / O单元。我知道PCI作为接口通常在新处理器上不可用,但是此问题在其他地方也适用。
彼得·史密斯

6

通常,CPU将直接连接到的总线数量将限制为可以同时访问事物的CPU不同部分的数量。CPU具有用于程序的总线和用于数据的总线,并允许它们同时运行的情况并不少见,特别是在嵌入式处理器和DSP的世界中。但是,典型的单处理器只能从每个指令周期获取一条指令中受益,并且只能在每个指令周期访问一个数据存储器位置,因此,超出一条程序存储器总线和一条程序存储器总线不会有太大的好处。数据存储器总线。为了能够对从两个不同流中获取的数据执行某些数学运算,

对于具有多个执行单元的处理器,每个处理器都有一条单独的总线可能会有所帮助,因此,如果有多个“外部”总线,则需要从不同的“外部”总线中获取内容的单元可以做到这一点而不会产生干扰。除非有逻辑上的原因,否则可以通过CPU外部的不同总线来访问不同执行单元访问的内容,但是,将独立于CPU的总线馈送到仲裁单元,该仲裁单元一次只能将一个请求中继到一个仲裁单元。特定的外部设备将无济于事。总线很昂贵,因此将两个执行单元放在一条总线上通常比使用单独的总线便宜。如果使用单独的总线可以显着提高性能,则可以证明成本合理,但是可以节省其他资源(芯片面积等)。


-1

考虑具有多条宽总线的CPU封装所需的引脚数。例如,八个CPU内核每个都有64位数据总线,另外还有其他用于其他目的的引脚。今天有可用的800引脚的CPU封装吗?


为什么不会呢?一个32x32的球栅阵列和多层PCB听起来并不困难(相对而言)。硬件工程师很棒。//考虑RAM卡的宽度和笨拙程度,并且仍以1.6 GHz(625皮秒)的时钟频率运行。如果电信号以2/3 c的速度传播,则最长走线只能为6 cm长,而只有几mm的长度差会导致明显的时序偏移。//并且我猜想,各层之间的串扰不会比同一层上的迹线之间的串扰严重得多。
Oskar Skog'4

“今天是否有可用的800引脚CPU封装?” 哦是的 编写此答案时,带有1100+引脚的封装已经很普遍。如今,有一些用于Skylake-EX服务器CPU的
LGA3647
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.