
假設主機板有 1 個 PCI 插槽,它是否與 PCIe 插槽共用任何頻寬?我知道 PCIe 插槽有自己的專用通道。
答案1
PCIe
首先,典型的現代 (Intel 1 ) CPU上實際上有兩種類型的 PCIe 通道:CPU 的專用通道和晶片組提供的通道。
主流消費性 CPU 有 16 個專用通道,通常用於圖形,但也可能分配在兩個或多個插槽之間。
此晶片組還能夠提供額外的通道,透過以下方式與 CPU 通訊DMI(在英特爾主機板上)。提供的頻道數量各不相同,但與其他板載連接共享頻寬,例如 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 通道 - 它不使用 16 個 CPU 提供的通道中的任何一個,儘管它可能在後台佔用一個 HSIO 通道。
就在 2012 年,該晶片組在最多 7 系列 (Ivy Bridge) 晶片組的選定 SKU 中提供了直接 PCI 支持,無需外部橋接器。 8 系列 (Haswell) 晶片組完全放棄支持,但 PCIe 根端口上仍然支持 PCI 傳統模式以進行傳統 PCI 位址解碼(請參閱 Intel 8 系列 PCH 數據表,第 5.2.2 節) 。
1我相信 AMD/Ryzen 也做了類似的事情,但我對此不太熟悉。
2故意不嵌入圖像,因為許可證不明確,並且可能不允許在 CC-BY-SA 下重新分發。
3許多內部組件仍然透過 PCI 匯流排連接,只是沒有透過插槽暴露。事實上,我們可以將每個 PCIe 通道視為單獨的 PCI 總線,因為訊號是相容的。但我們只對那些連接到插槽的總線感興趣。
答案2
這個答案適用於 Intel 系統,我不確定 AMD 方面的情況是否有所不同。
在較舊的系統上,PCI 匯流排直接連接到 ICH/PCH。更現代的 PCH 晶片沒有內建 PCI 支援。因此,PCH 上的 PCIe 通道之一用於驅動 PCI 插槽的 PCIe 至 PCI 橋接晶片。通常,所有 PCI 插槽都位於同一總線上,並且共用 PCI 匯流排頻寬。
此外,在某些情況下,驅動 PCI 插槽的相同 PCI 匯流排可能會與板載週邊裝置共享,特別是在較舊的系統或具有對火線等傳統介面的板載支援的系統上。
最後,透過 ICH/PCH 連接的所有內容(通常包括板載 SATA、板載乙太網路、較小的 PCIe 插槽和任何 PCI 插槽)共用與 CPU/MCH/IOH 的連結。此連結具有較大但並非無限的頻寬,並且可能會發生爭用。