PCI Express 是一項經常成為頭條新聞的技術,從每一代Intel和AMD處理器的發佈,到最近的M.2接口的固態硬盤大跳水,可以說都有PCIe總線的新聞。那麼,這個現代計算機的核心總線技術,到底是怎麼工作的呢?
PCI 與 PCI Express:高時鐘決定高速度
在PCIe之前,主流的總線技術是PCI標準。
儘管名稱幾乎相同,但 PCI Express和 PCI 總線幾乎沒有共同之處。
PCIe 是一個點對點系統——一條總線線路上,只有一個設備使用總線,並且不與其他任何設備共享——這和USB等總線通過集中控制器輪換調度是完全不同的。
PCIe 使用串行通信,每個時鐘信號週期只發送一位數據。這種方法消除了並行通信中可能發生並導致問題的時鐘偏差問題,最終使 PCIe 能夠以更高的時鐘速度運行(慢時鐘1250MHz,而之前的PCI只有66MHz),因此也形成了PCIe總線高速的特性。
PCI Express脈衝週期的理想化圖
PCIe的串行特性還減少了數據傳輸所需的線路數量,一條完整的PCI總線數據通道,需要 32 條線;而PCIe 只需4 條,這還是為了照顧全雙工工作模式(下圖)。
而這組四條線的總線,更廣為人知的名字便是是PCIe 通道,x1表示是一個通道,x4是四個通道,x16 是十六個通道,等等。
一個單通道 PCIe 1.0總線可以在一個方向上以大約 200 MB/s 的最低速率傳輸數據。
串行通信和基於數據包的數據傳輸的結合,也意味著PCIe插槽只要相對較少的引腳。
任何 PCI Express 設備的最小引腳是18(不是所有的針腳都需要使用),所以最短的PCIe X1插槽舊非常短小,因為只需要18針。
從左到右:PCIe x1、PCIe x16、PCI、PCIe x1、PCIe x16,引腳數呈現18的倍數而增加
PCI Express:線少、高速,目前最佳內部總線
從設計之初,創建 PCIe 的目的就是儘可能擴大使用範圍。
經過十幾年的CPU演進,目前PCIe最終取代了其他所有用於將 CPU 連接到主板其餘部分以及大部分擴展卡插槽的總線。
雖然AMD 和英特爾都為 CPU 開發了自己的點對點超快速連接系統,例如英特爾採用其QuickPath 互連技術將CPU連接到傳統北橋芯片;而AMD則推出了HyperTransport用於直連繫統內存和顯卡插槽,但是,最終他們還是轉而使用 PCI Express 連接到主板南橋。
不過,由於他們實現PCIe總線控制器的路線不同,因此總線數量、連接速度和場景是不一樣的。
例如,AMD 的Ryzen 9 7950X處理器和X670E 主板芯片分別擁有 28 條和 20 條 PCIe 通道。對於 Ryzen CPU,16 條通道用於顯卡插槽,8 條用於兩個驅動器(NVME),其餘 4 個用於與主板通信。而X670E 芯片中的PCIe通道可用於各種數據場景,例如網卡、藍牙適配器、擴展槽和驅動器。
未來PCI Express有多快?
自 2003 年首次發佈以來,PCI-SIG 已對規範進行了八次更新。
對於 6.0 版,信號方法從NRZ 切換到 PAM4 (在GDDR6X內存中首次使用),並且放棄了編碼以支持各種糾錯系統。
從帶寬數據來看,單根 DDR4-3200 內存的峰值吞吐量為 25 GB/s,因此 PCIe 6.0 的四通道可以與之匹配。
不過,供電將成為未來PCIe的一大問題。對於全長 x16 卡,目前PCIe的標準限制住了它功耗限制為 75.9 W,這也是為什麼現在顯卡使用外接供電的原因。
而7.0 版的PCIe規範,將於 2025 年發佈,預計數據傳輸速率將再次翻倍,達到128Gbps。家用 PC 在很多年內都不太可能實現這樣的速度,PCIe 7.0的普及,可能要到 2030 年代中期。
如果這個速度可以實現,那到時候的硬件性能會有什麼變化?
首先,顯卡將連接到 CPU 中的 PCIe 控制器,帶寬為 242 GB/s。理論上,那時候的核心顯卡可以達到現在很多獨顯的性能——因為它的帶寬能力加上PCIe7.0的內存帶寬提供,使得核心顯卡訪問系統內存條如同現在的獨顯訪問卡上顯存一樣。
當然,隨著人工智能、數據和計算服務器等專用應用程序的發展,那時候的PCIe7.0設備到底速度夠不夠,只有到時候才知道了。
來源:鈦師父