PCI Express 是一項(xiàng)經(jīng)常成為頭條新聞的技術(shù),其性能不斷提高的新規(guī)范經(jīng)常出現(xiàn)在新聞中。如果得知它已經(jīng)存在了 20 年,您可能會感到驚訝!而且直到現(xiàn)在沒有被取代的跡象。在我們看來,這項(xiàng)技術(shù)必須是特別的東西才能持續(xù)這么久。
如果您想知道它到底做了什么,以及 PCI Express 是如何在 20 年內(nèi)一直是每臺家用電腦的主要組成部分,請認(rèn)真閱讀這篇文章。
在 Express 之前和 PCI 之前
讓我們首先回到 1980 年代,當(dāng)時計算機(jī)主板上集成了數(shù)十個芯片和大量用于添加額外卡的特殊擴(kuò)展槽。對于后者,一種類型主要主導(dǎo)本地場景:IBM 的ISA 總線(行業(yè)標(biāo)準(zhǔn)架構(gòu))。雖然相比之下對技術(shù)的改進(jìn)并不那么成功,但該系統(tǒng)總體上在行業(yè)內(nèi)變得無處不在。
到下一個十年到來時,更快的處理器幫助推動了對性能更好的擴(kuò)展總線的需求,最終產(chǎn)生了兩種新格式——英特爾的 PCI 總線(外圍組件互連)和來自視頻電子標(biāo)準(zhǔn)協(xié)會的VLB(VESA 本地總線)。
兩者在 1992 年同時出現(xiàn),盡管 PCI 最初看起來是兩者中較慢的,因?yàn)樗辉O(shè)計為以固定的 33 MHz 運(yùn)行(后來的規(guī)范修訂版確實(shí)允許 66 MHz,但消費(fèi)類 PC 從未真正支持這一點(diǎn)) . 相反,VLB 以與 CPU 的前端總線 (FSB:front-side bus) 相同的時鐘運(yùn)行,從而允許 VLB 達(dá)到 40 或 50 MHz,具體取決于中央處理器。
但是,它并不總是穩(wěn)定在該速率,并且延遲比 PCI 更差。典型的 VLB 擴(kuò)展槽也比 PCI 擴(kuò)展槽大得多。盡管有這些優(yōu)勢,PCI 還是花了一些時間才在主板行業(yè)獲得關(guān)注,尤其是在工作站和服務(wù)器市場。
當(dāng)時,家庭 PC 用戶通常沒有很多擴(kuò)展卡,也沒有任何對總線有很大要求的擴(kuò)展卡。然而,隨著 3D 顯卡行業(yè)的騰飛,這種情況發(fā)生了變化,最好的顯卡配備了 PCI 連接器。結(jié)果,主板開始偏愛新總線而不是舊總線。隨著這些圖形加速器功能的增強(qiáng)和游戲利用這一點(diǎn),PCI 總線的局限性變得顯而易見。
與之前的 ISA 和 VLB 一樣,PCI 是一種并行數(shù)據(jù)總線——這意味著 PCI 擴(kuò)展槽中的所有卡都使用相同的總線,并且必須輪流傳輸和接收數(shù)據(jù)。對于圖形卡,這可能會有問題,因?yàn)樗鼈兒苋菀渍加每偩€。英特爾通過在 1997 年開發(fā)加速圖形端口 (AGP:Accelerated Graphics Port) 解決了這個問題,它為顯卡提供了專門的 PCI 總線。
隨著舊千年向新千年的過渡,對更快總線的需求越來越大。英特爾推出 PCI 總線后不久,它成立了一個特別興趣小組 ( PCI-SIG ),以支持主板和擴(kuò)展卡供應(yīng)商確保其硬件符合規(guī)范。到 2000 年代初,這個小組由數(shù)百名成員組成,其中五家(康柏、戴爾、惠普、IBM 和微軟)與英特爾合作,以替代 PCI。
代號為 3GIO(第 3 代 I/O)的PCI-SIG于 2002 年 4 月宣布了其勞動成果,引入了名為PCI Express 的新技術(shù)。
PCI 與 PCI Express
盡管名稱相同,但 PCI Express(通常簡稱為 PCIe)和 PCI 總線幾乎沒有共同之處。最顯著的區(qū)別是 PCIe 是一個點(diǎn)對點(diǎn)系統(tǒng)——只有一個設(shè)備使用總線并且不與其他任何設(shè)備共享。在某些方面,這似乎 PCIe 只是升級的 AGP,但在數(shù)據(jù)傳輸方式上也存在顯著差異。
PCI 和 AGP 使用并行數(shù)據(jù)通信,同時發(fā)送和接收多位數(shù)據(jù),而 PCIe 使用串行通信,每個周期只發(fā)送一位。這種方法消除了并行通信中可能發(fā)生并導(dǎo)致問題的時鐘偏差問題,最終使 PCIe 能夠以更高的時鐘速度運(yùn)行。
PCI Express 選通脈沖的理想化圖
PCI 有 66 MHz 的絕對限制(擴(kuò)展版本 PCI-X 可以達(dá)到 533 MHz),而 PCI Express 的最慢時鐘速度是驚人的 1250 MHz。
這種速度是通過使用低壓差分選通脈沖 (LVDS:low voltage differential strobes) 實(shí)現(xiàn)的——一對信號,相位相差 180 度,工作電壓僅為 PCI 和 AGP 使用的電壓的一小部分。
PCI Express 的串行特性還顯著減少了數(shù)據(jù)傳輸所需的電線/走線數(shù)量,PCI 需要 32 條,PCIe 只需 4 條。從技術(shù)上講,只需要兩個,每個選通脈沖一個,但是由于 PCI Express 是全雙工的,同時在兩個方向上發(fā)送信息,所以總是使用雙組成對的選通脈沖。
這組四根線更廣為人知的是PCIe 通道,規(guī)范通過乘法器指示使用的通道數(shù),例如,x1 是一個通道,x4 是四個通道,x16 是十六個通道
通過LVDS系統(tǒng)的工作方式,單通道 PCIe 總線可以在一個方向上以大約 200 MB/s 的最低速率傳輸數(shù)據(jù)。在紙面上,它應(yīng)該比這更高,但傳輸?shù)男畔⒈痪幋a并以 8 位數(shù)據(jù)包的形式發(fā)送,每個連續(xù)的數(shù)據(jù)包沿著一個連續(xù)的通道發(fā)送。結(jié)果,由于編碼需要額外的位,實(shí)際數(shù)據(jù)速率總是較低。
串行通信和基于數(shù)據(jù)包的數(shù)據(jù)傳輸?shù)慕Y(jié)合也意味著插槽連接中需要相對較少的引腳來管理所有內(nèi)容。任何 PCI Express 設(shè)備的最小值是 18,盡管不是所有的都需要使用。相比之下,PCI插槽至少需要56個,無論排列多緊湊,都不可避免地占用更多空間。
從左到右:PCIe x1、PCIe x16、PCI、PCIe x1、PCIe x16
也就是說,PCIe x16 插槽明顯比任何標(biāo)準(zhǔn) PCI 或 AGP 插槽長,但沒有那么高。事實(shí)上,無論 PCI Express 擴(kuò)展插槽的長度如何,它們的寬度和高度幾乎都是相同的(用于顯卡的插槽有時會高一點(diǎn))——更長的插槽只是容納更多的傳輸通道。與電源和系統(tǒng)管理相關(guān)的一切都位于插槽的第一部分,塑料槽口之前。
PCI Express的普遍應(yīng)用
從設(shè)計之初,創(chuàng)建 PCIe 的目的就是盡可能擴(kuò)大用例范圍。為此,工程師使系統(tǒng)向后兼容 PCI,盡管只是在軟件方面。這意味著開發(fā)人員不必?fù)?dān)心重寫他們的軟件來識別和訪問任何使用 PCI Express 總線的設(shè)備——理論上,它可以簡單地工作。
為了充分利用新系統(tǒng),硬件供應(yīng)商設(shè)計他們的產(chǎn)品以將 PCI Express 完全整合到各種組件和結(jié)構(gòu)中。雖然這花了十年的大部分時間才實(shí)現(xiàn),但高速通用總線最終取代了用于將 CPU 連接到主板其余部分以及所有擴(kuò)展卡插槽的總線。
AMD 和英特爾都為 CPU 開發(fā)了自己的點(diǎn)對點(diǎn)超快速連接系統(tǒng),前者在英特爾采用其QuickPath 互連技術(shù)將中央處理器連接到傳統(tǒng)上處理數(shù)據(jù)流的北橋芯片之前幾年推出了HyperTransport用于系統(tǒng)內(nèi)存和顯卡插槽。最終,該芯片將完全消失,嵌入到 CPU 本身中,兩家公司都轉(zhuǎn)而使用 PCI Express 連接到剩余的主板芯片——南橋。
今天選擇任何 AMD 和 Intel 的 CPU 和主板,您會看到處理器和南橋(現(xiàn)在被 Intel 稱為 PCH,被 AMD 簡稱為芯片組)都具有大型 PCI Express 控制器,有許多通道。
例如,AMD 的Ryzen 9 7950X處理器和X670E 主板芯片分別擁有 28 條和 20 條 PCIe 通道。對于 Ryzen CPU,它們被分配到專門的角色:16 個用于顯卡插槽,8 個用于兩個存儲驅(qū)動器,其余 4 個用于與主板通信。不過,X670E 芯片中的通道可用于各種數(shù)據(jù)場景,例如以太網(wǎng)、WiFi 和藍(lán)牙適配器,以及擴(kuò)展槽和存儲驅(qū)動器。
PCI Express 的適應(yīng)性對于存儲尤為重要——如今的主板具有兩個用于連接硬盤和固態(tài)驅(qū)動器(HDD 和 SSD)的主要插槽,即 SATA 和 M.2 插槽(后者如上所示)。如果我們查看技嘉的 X670E Aorus Xtreme型號,您會發(fā)現(xiàn)共有三個擴(kuò)展槽、四個 M.2 插槽和六個 SATA 插槽。所有這些都使用 PCI Express!
然而,由于 CPU 和芯片組中的通道數(shù)量是固定的,因此它們不能同時使用,這對于當(dāng)今大多數(shù)主板來說都是典型的情況。不幸的是,破譯圖形卡、附加卡和存儲驅(qū)動器的哪些組合可以工作并不是一件簡單的任務(wù)。
代個人電腦擁有大量用于連接各種設(shè)備的接口,但在幕后,它是一個 PCI Express 總線處理大多數(shù)設(shè)備的數(shù)據(jù)傳輸(其余為 USB)。
PCI Express 如何保持最新
多年來,硬件變得越來越強(qiáng)大,應(yīng)用程序和游戲?qū)τ布囊笠苍絹碓礁摺W匀坏兀琍CI Express 從一開始就定期更新以滿足帶寬要求。
對更新的一個重要限制是對完全向后兼容性的要求。例如,PCIe 3.0 設(shè)備必須能夠在 PCIe 5.0 插槽中工作。這造成了一些故障,我們將在稍后介紹。
自 2003 年首次發(fā)布以來,PCI-SIG 已對規(guī)范進(jìn)行了八次更新,主要修訂版具有更快的數(shù)據(jù)傳輸速率,以及對所采用的編碼方案(以減少帶寬損失)和信號完整性的改進(jìn)。次要修訂側(cè)重于改進(jìn)電源管理、控制系統(tǒng)和其他方面。
在每次修訂的開發(fā)過程中,PCI-SIG 的相關(guān)成員都會進(jìn)行可行性研究,以確定哪些速度和功能可以在保持低成本的情況下切實(shí)進(jìn)行大規(guī)模生產(chǎn)。這就是為什么對于 3.0 版,選通脈沖的時鐘速率僅增加了 60%,而不是像以前的版本那樣加倍。
3.0 版引入了更有效的編碼方案(具體來說,8b/10b 用于 1.0 和 2.0,而 128b/130b 用于 3.0 到 5.0),這就是有效帶寬相對于時鐘速度更高的原因。如果不需要編碼,PCIe 1.0 的有效帶寬將達(dá)到 0.313 GB/s。
對于 6.0 版,信號方法從NRZ 切換到 PAM4 (在GDDR6X內(nèi)存中使用),并且放棄了編碼以支持各種糾錯系統(tǒng)。
從帶寬數(shù)據(jù)來看,單根 DDR4-3200 RAM 的峰值吞吐量為 25 GB/s,因此 PCIe 6.0 的四通道可以與之匹配。這聽起來可能不是特別令人印象深刻,但對于日常 PC 和世界各地其他計算機(jī)器中使用的通用通信總線來說,這是一個顯著的改進(jìn)。
但是,為什么 PC 現(xiàn)在才剛剛采用 PCIe 4.0 和 5.0,前者的規(guī)范早在 2017 年就發(fā)布了(而 5.0 是在那之后的兩年)?
它歸結(jié)為需求和成本問題。按照目前的情況,個人電腦有足夠的帶寬來在內(nèi)部移動數(shù)據(jù),除了視頻游戲之外,家用電腦還沒有太大的空間需要 PCIe 6.0 之類的東西。
然而,在服務(wù)器領(lǐng)域,系統(tǒng)設(shè)計人員會很樂意使用他們可以獲得的所有帶寬,而且正是在該領(lǐng)域,我們可能會看到最先使用的最新規(guī)范。
提供電流的引腳都在最左邊,缺口之前
不過,并非每個更新版本都一帆風(fēng)順,供電一直是系統(tǒng)的一個長期問題。無論設(shè)備使用何種尺寸的 PCIe 插槽,它們都帶有少量 +3.3 V 和 +12 V 引腳,用于提供運(yùn)行設(shè)備所需的電流。
從第一個 PCIe 版本開始,+3.3V 引腳的組合電流限制為 3 A,并且根據(jù)插槽中使用的附加卡尺寸,+12 V 引腳的電流限制高達(dá) 5.5 A。
這意味著對于全長 x16 卡,該設(shè)備的功耗限制為 75.9 W,這對于當(dāng)時絕大多數(shù)顯卡來說已經(jīng)足夠了。當(dāng)然也有例外,例如2004 年夏季發(fā)布的Nvidia GeForce 6800 Ultra 。
它的最大功率需求略高于 80 W,超出了插槽所能提供的功率,解決方案采用 AMP 1-480424-0 的形式——更廣為人知的名稱是 Molex 連接器。根據(jù)零件的制造商和所用電纜的質(zhì)量,這可以提供額外的 130 W 功率。
然而,這一添加并不是 PCIe 規(guī)范的一部分,因此 PCI-SIG 以兩種設(shè)計的形式創(chuàng)建了自己的解決方案——一種包含 75 W 的 6 針腳,另一種包含 150 W 的 8 針腳。
最近,PCI-SIG 批準(zhǔn)了 16 針設(shè)計,其中大部分開發(fā)來自 Nvidia(目前只有他們使用),它有 600 W 的限制。12VHPWR 連接器并非沒有爭議,AMD 和英特爾是否會采用該機(jī)制還有待觀察。
PCIe 的下一步是什么?
隨著 7.0 版計劃于 2025 年發(fā)布,PCI-SIG 沒有顯示出放慢技術(shù)發(fā)展的跡象,也不打算很快用任何截然不同的東西取而代之。
下一次更新預(yù)計數(shù)據(jù)傳輸速率將再次翻倍,但如果小組成員認(rèn)為使用 128 Gbps 在經(jīng)濟(jì)上不明智,他們可能會稍微降低增加幅度。考慮到目前 PCIe 5.0 的采用率,更不用說更新的規(guī)范了,家用 PC 在很多年內(nèi)都不太可能實(shí)現(xiàn)這樣的速度,可能要到 2030 年代中期。
但是讓我們假設(shè) 7.0 現(xiàn)在已經(jīng)發(fā)布,每一個新硬件都準(zhǔn)備就緒并且可以使用它——這能帶來什么好處?
首先,顯卡將連接到 CPU 中的 PCIe 控制器,帶寬為 242 GB/s。這與您在AMD Radeon RX 6600或Nvidia RTX 3050上找到的內(nèi)存帶寬大致相同。您可能認(rèn)為這意味著筆記本電腦中的獨(dú)立 GPU 可以只使用系統(tǒng)內(nèi)存,而不需要它們自己的 RAM,從而節(jié)省資金和空間。
但是 PCIe 控制器仍然需要與 CPU 的內(nèi)存控制器通信以訪問系統(tǒng) RAM,即使是超快的 DDR5,例如 DDR5-7200,每個 DIMM 也只能提供大約 58 GB/s 的速度。換句話說,盡管 PCIe 7.0 總線速度很快,但 GPU 仍將受到使用系統(tǒng)內(nèi)存的限制。
因此,如果 GPU 不會受益,那么存儲驅(qū)動器呢?目前,最快的 NVMe M.2 SSD只能達(dá)到 PCIe 4.0 x4 總線的極限,即便如此,也只是在非常特殊和短暫的情況下。當(dāng)然,隨著時間的推移會出現(xiàn)更快的驅(qū)動器,但也有更快版本的 PCI Express。
今天的臺式機(jī) CPU 通過 PCIe 總線連接到主板芯片組,AMD 在其最新的 Ryzen 7000 系列中使用 v5.0,而英特爾使用自己的系統(tǒng)稱為直接媒體接口 (DMI),除了名稱之外,它就是 PCIe。
PCI Express 通道不會在 CPU 中占用更多空間
兩家供應(yīng)商都沒有跡象表明此鏈接以任何方式限制了性能——如果是的話,CPU 將使用更多通道,因?yàn)榕c芯片的其余部分相比,每個通道所需的裸片空間量很小。
這可能會讓您認(rèn)為不斷更新 PCI Express 規(guī)范是在浪費(fèi)時間,但這是為了讓所有硬件供應(yīng)商盡早就標(biāo)準(zhǔn)達(dá)成一致,以便他們有足夠的時間為他們開發(fā)產(chǎn)品和制造方法。
PCIe 現(xiàn)在和 USB 一樣無處不在,就像它的串行表親現(xiàn)在是通過外圍設(shè)備移動數(shù)據(jù)的通用主干一樣,PCI Express 是計算機(jī)內(nèi)部的標(biāo)準(zhǔn)。PC 行業(yè)依靠 PCI Express 來滿足所有可能的需求,同時又具有成本效益。
人工智能、數(shù)據(jù)和計算服務(wù)器等專用應(yīng)用程序?qū)⑹冀K按照自己的方式發(fā)展,并采用滿足其需求的獨(dú)特技術(shù),但對于日常 PC 和大多數(shù)工作站,PCI Express 是連接之王,并將持續(xù)數(shù)十年來。
審核編輯:劉清
評論
查看更多