PCIe

PCIe

假设主板有 1 个 PCI 插槽,它是否与 PCIe 插槽共享带宽?我知道 PCIe 插槽有自己的专用通道。

答案1

PCIe

首先,典型的现代(Intel 1 )CPU上实际上有两种类型的 PCIe 通道:来自 CPU 的专用通道和由芯片组提供的通道。

主流消费级 CPU 有 16 个专用通道,通常用于图形,但也可能分为两个或多个插槽。

该芯片组还可以提供额外的通道,通过以下方式与 CPU 通信直接投资管理(在英特尔主板上)。提供的通道数量各不相同,但与其他板载连接共享带宽,例如 USB(3.x)和 SATA 端口。

例如,H170 芯片组提供 16 个 CPU 通道以及取决于芯片组有 16 个通道:英特尔 H170 结构图2

从 2011 年到 2015 年,通常可以看到 CPU 有 16 条 PCIe 通道加上芯片组有 8 条通道,而芯片组通道有时带宽较低(PCIe 3.0 与 2.0)。

从 2015 年 (Skylake) 到现在,DMI 有了更新版本,并且明确提出了HSIO 通道CPU 和芯片组之间已经引入了差异,使得最大芯片组通道数更加明确(每个 PCIe 通道使用一个 HSIO 通道) - 但这很少达到,因为大多数人都希望拥有相当数量的 USB、SATA、以太网等端口 - 使用相同的 HSIO 通道。

因此,基本上,几乎每个主板都应该有 16 个来自 CPU 的通道,并且主板还提供不同的附加通道。

PCI

PCIe 是点对点的,通道从 CPU 运行到插槽(或从芯片组运行到插槽),而 PCI 则不是 - 相反,它是一条共享总线。实际上,这意味着每个 PCI 插槽都在同一条物理线路上共享信号传输时间,并且整个系统中通常只有一条 PCI 总线连接到 PCI 插槽3 。

在现代系统中,PCI 总线由 PCIe-PCI 桥接器提供。这通常独立于任何用户可见的 PCIe 通道 - 它不使用任何由 CPU 提供的 16 条通道,尽管它可能在后台占用一条 HSIO 通道。

直到 2012 年,芯片组才在 7 系列(Ivy Bridge)芯片组的选定 SKU 中提供无需外部桥接的直接 PCI 支持。8 系列(Haswell)芯片组完全放弃了支持,但 PCIe 根端口上仍支持 PCI 传统模式以进行传统 PCI 地址解码(请参阅英特尔 8 系列 PCH 数据表,第 5.2.2 节)。


1我相信 AMD/Ryzen 做了类似的事情,但我对此不太熟悉。

2故意不嵌入图像,因为许可证不明确,并且可能不允许在 CC-BY-SA 下重新分发。

3许多内部组件仍通过 PCI 总线连接,只是没有通过插槽暴露。事实上,可以将每个 PCIe 通道视为单独的 PCI 总线,因为信号是兼容的。但我们只对连接到插槽的总线感兴趣。

答案2

这个答案适用于英特尔系统,我不确定 AMD 方面的情况是否不同。

在较旧的系统上,PCI 总线直接连接到 ICH/PCH。较新的 PCH 芯片没有内置 PCI 支持。因此,PCH 上的一个 PCIe 通道用于驱动 PCI 插槽的 PCIe 到 PCI 桥接芯片。通常,所有 PCI 插槽都位于同一总线上,并共享 PCI 总线带宽。

此外,在某些情况下,驱动 PCI 插槽的同一 PCI 总线可能会与板载外围设备共享,尤其是在较旧的系统或具有对火线等传统接口的板载支持的系统上。

最后,通过 ICH/PCH 连接的所有设备(通常包括板载 SATA、板载以太网、较小的 PCIe 插槽和任何 PCI 插槽)共享与 CPU/MCH/IOH 的链路。此链路具有很大但不是无限的带宽,并且可能会发生争用。

相关内容