512GB/s帶寬直破天際!一文讀懂面向未來的PCIe 7.0總線!
在很早以前,PCIe便成為了服務(wù)器總線的主流解決方案。
隨著大數(shù)據(jù)、人工智能、云計算等領(lǐng)域的發(fā)展,服務(wù)器內(nèi)的高速硬件數(shù)據(jù)交互需求變得愈發(fā)緊迫,迫使PCIe標(biāo)準(zhǔn)在近些年實現(xiàn)了跨越式發(fā)展,在PCIe 5.0還未走進(jìn)我們生活時PCIe 7.0都已在制定之中。今天,就讓我們聊一聊PCIe那些事兒。

PCIe總線是什么
在PC領(lǐng)域,CPU想與包括硬盤在內(nèi)的硬件“交流”,需要借助一條名為“I/O總線”的通道。
歷史上,第一代I/O總線通常是指ISA、EISA、VESA和Micro Platforms;第二代I/O總線則包含PCI、PCI-X和AGP。
2001年,英特爾在IDF大會上首次提出了第三代I/O總線3GIO的概念(直到2003年才正式商業(yè)化),后經(jīng)PCI-SIG(PCI特殊興趣組織)認(rèn)證發(fā)布后才改名為PCI-Express(Peripheral Component Interconnect Expres),擁有PCIe和PCI-E兩種縮寫名稱。

簡單來說,PCI-Express(下文簡稱PCIe)是一種高速串行計算機(jī)擴(kuò)展總線標(biāo)準(zhǔn),具備高速串行、點對點雙通道、高帶寬傳輸、抗干擾能力強(qiáng)、傳輸距離遠(yuǎn)、功耗低、(新標(biāo)準(zhǔn))向下兼容(老標(biāo)準(zhǔn),需匹配的驅(qū)動配合)等優(yōu)點,自誕生之后便參與到連接顯卡、固態(tài)硬盤以及采集卡和無線網(wǎng)卡等外設(shè)的任務(wù)中。

通過PCIe連接的外設(shè)能獲得多少速度,取決于該PCIe鏈路由多少條通道(Lane)構(gòu)成。

在消費級市場,PCIe鏈路可以支持1、2、4、8、12、16個通道,即×1、×2、×4、×8、×12、×16的PCIe鏈路。
初代PCIe 1.0能在一條通道 (×1) 上實現(xiàn)單向2.5GT/s(約250MB/s,詳細(xì)計算方法請見下文)的總吞吐量,在×16通道下的雙向總理論吞吐量為8GB/s。
到了最新的PCIe 7.0,其在×1通道上單向吞吐量就高達(dá)128GT/s(16GB/s),在×16通道下的雙向總理論吞吐量將達(dá)到驚人的512GB/s,較之初代提升了整整64倍,如果和更早的133MB/s總線相比更是增長了480倍!
吞吐量的計算方式
按照PCI-SIG組織的最初設(shè)想,PCIe標(biāo)準(zhǔn)每更新一次,傳輸速率就會翻倍一次。
不過,由于編碼方式和有效數(shù)量出現(xiàn)了變化,所以歷代PCIe標(biāo)準(zhǔn)在計算每一條Lane支持的吞吐量時會出現(xiàn)細(xì)微的變化。
比如,PCIe 1.0和2.0編碼的有效數(shù)據(jù)是8b/10b方案,即每傳輸8個bit,需要發(fā)送10個bit。以PCIe 1.0為例,2.5GT/s的傳輸速率意味著每一條通道上支持每秒鐘內(nèi)傳輸2.5G個bit,因此其每一條Lane支持的吞吐量就是2.5GT/s × 8 ÷ 10 =2000Gbps,再用2000Gbps ÷ 8就能將bit轉(zhuǎn)換為Byte,也就是說PCIe 1.0×1的單向吞吐量為250MB/s,雙向為500MB/s。

從PCIe 3.0開始編碼的有效數(shù)據(jù)變成了128b/130b方案,也就是每傳輸128個bit,需要發(fā)送130個bit。
因此,PCIe 3.0每一條Lane所支持的單向吞吐量就是8GT/s × 128 ÷ 130 = 7877Gbps ÷ 8 = 984.6MB/s,雙向為1.97GB/s,不再是整數(shù)。
不過,包括PCI-SIG組織在內(nèi),為了便于用戶記憶在宣傳歷代PCIe速度時都習(xí)慣采用近似值,也就是984.6MB/s ≈ 1GB/s、3938MB/s ≈ 4GB/s等等。
從PCI6.0開始,其編碼的有效數(shù)據(jù)再度變成了1b/1b方案,其原始的傳輸速率為64GT/s,每一條Lane所支持的單向吞吐量就變成了64GT/s ÷ 8 = 8GB/s,計算起來更容易。

PCIe通道的應(yīng)用
一款PC的連接能力,或者說擴(kuò)展?jié)摿Φ膹?qiáng)弱,在很大程度上就取決于它內(nèi)置了多少條PCIe通道。
筆記本的擴(kuò)展能力之所以比不過臺式機(jī),除了它的小身板無法容納更多接口和插槽以外,同期移動處理器內(nèi)置的PCIe通道數(shù)量也沒有桌面處理器內(nèi)置的多。

比如,第11代桌面酷睿i9-11900K的CPU內(nèi)部就集成了多達(dá)20條CPU PCIe 4.0通道,作為對比,第11代移動酷睿H45(如i7-11800H)僅內(nèi)置4條CPU PCIe 4.0通道。
到了第12代移動酷睿(如i7-12700H)才增加到16條CPU PCIe 4.0通道,其中8條用于搭配獨立顯卡,其余8條則可分給2塊PCIe 4.0×4的SSD。如果還嫌不夠,處理器的PCH(芯片組)中還有12條PCH PCIe 3.0通道可以分配給SSD、其他高速接口或外設(shè)。

第12代移動酷睿HX系列(如i7-12850HX)值得引起我們的重點關(guān)注,它首次在CPU內(nèi)原生支持16條CPU PCIe 5.0通道以及4條CPU PCIe 4.0通道,與其搭配的PCH芯片組還能提供額外的16條PCH PCIe 4.0和12條PCH PCIe 3.0通道,可以打造出不遜于臺式機(jī)擴(kuò)展?jié)摿Φ墓P記本產(chǎn)品。


酷睿HX平臺可以讓游戲本安裝更多硬盤,提供更豐富接口
之所以要將CPU PCI和PCH PCI通道分得如此清楚,主要是因為它們之間的工作方式存在差異。
其中,CPU PCIe 通道直接與CPU連接,中間無需任何中轉(zhuǎn),耗損更少。

PCH PCI通道則是通過主板(或與CPU整合封裝)的芯片組,經(jīng)由DMI (Direct Media Interface) 鏈路連接到CPU。問題來了,PCH通常還管理著主板上的諸多功能,例如USB器件、Wi-Fi、以太網(wǎng)網(wǎng)卡以及板載聲卡等。由于CPU和芯片組之間的鏈路總帶寬有限,如果我們接駁了多個存儲外設(shè)并使用其他資源,就有可能使鏈路達(dá)到飽和狀態(tài)進(jìn)而導(dǎo)致性能(速度)上的下降。
換句話說,通過連接到CPU的PCIe通道,數(shù)據(jù)無需再繞遠(yuǎn)經(jīng)由芯片組傳輸,有助于進(jìn)一步降低延遲。因此,大家未來在挑選處理器平臺時,可以優(yōu)先考慮CPU PCI通道更多的產(chǎn)品。

那么,在CPU PCI通道一定時如何提升連接能力?
答案自然是提升每個通道的性能了,1個PCIe 4.0通道就相當(dāng)于過去的2個PCIe 3.0通道,未來1個PCIe 7.0通道就相當(dāng)于PCIe 4.0×8,足以供當(dāng)下的頂級獨顯(如RTX 3080 Ti)滿血運行。
考慮到PCIe標(biāo)準(zhǔn)具備向下兼容的特性,在價格沒有太大起伏的情況下,追求支持更新PCIe標(biāo)準(zhǔn)的硬件平臺準(zhǔn)沒錯。
從PCIe 5.0到PCIe 7.0
PCIe 4.0大家應(yīng)該已經(jīng)非常熟悉了,采用該標(biāo)準(zhǔn)的SSD和顯卡也已經(jīng)普及,所以我們本文主要還是多關(guān)注一下PCIe 5.0及后續(xù)標(biāo)準(zhǔn)的特性。

蓄勢待發(fā)中:PCIe 5.0
PCI-SIG組織早在2019年5月便公布了PCIe 5.0規(guī)范的1.0版本,只是首批支持該技術(shù)的消費級產(chǎn)品直到今天也鮮有量產(chǎn)上市。
簡單來說,PCIe 5.0繼續(xù)兼容PCIe 4.0及之前的規(guī)范,沿用了128b/130b編碼方式、目標(biāo)比特誤碼率(BER)、信令和加擾方案等,只是更改了EIEOS和數(shù)據(jù)比特率定義等,通過改變電氣設(shè)計改善信號完整性和機(jī)械性能,減少延遲,降低了長距離傳輸?shù)男盘査p。
PCIe 5.0最大的變化,還是實現(xiàn)了速度上的翻倍,×1通道下的雙向吞吐量就達(dá)到了8GB/s左右,滿血×16通道時的雙向帶寬更是從PCIe 4.0的64GB/s提升到了128GB/s,已經(jīng)遠(yuǎn)遠(yuǎn)超過了當(dāng)前最強(qiáng)SSD和顯卡對于帶寬的需求上限,可讓PC外設(shè)以更少的通道消耗就能實現(xiàn)同樣的帶寬,有利于降低硬件成本。
實際上,從PCIe 5.0開始,其面向的就不單單是傳統(tǒng)的PC市場了,而是盯上了數(shù)據(jù)中心、高性能計算、邊緣計算、機(jī)器學(xué)習(xí)、人工智能和5G網(wǎng)絡(luò)等場景對帶寬日益增長的迫切需求——早在2019年,英特爾就聯(lián)合一眾廠商共同成立了針對數(shù)據(jù)中心、高性能計算和AI等領(lǐng)域的CXL聯(lián)盟(Compute EXpress Link),作為一種開放性的互聯(lián)協(xié)議,CXL能夠讓CPU與GPU、FPGA或其他加速器之間實現(xiàn)高速高效的互聯(lián),滿足現(xiàn)今高性能異構(gòu)計算的要求,并且提供更高的帶寬及更好的內(nèi)存一致性。

隨著英特爾第13代酷睿和AMD Zen 4處理器平臺的發(fā)布,基于PCIe 5.0的消費級SSD和顯卡就能與我們正式見面了。

變化超級大:PCIe 6.0
2022年1月,PCI-SIG組織正式發(fā)布了PCIe 6.0規(guī)范的1.0版本,毫不夸張的說,PCIe 6.0是PCIe誕生20多年來變化最大的一次,值得我們投入更多期待。

簡單來說,PCIe 6.0不再沿用過去的NRZ編碼方式,而是改用全新的PAM4脈沖調(diào)幅信令,它使用4個信號電平,而不是傳統(tǒng)的0/1兩個電平,單個信號就能有四種編碼(00/01/10/11)狀態(tài),這使得PAM4可以攜帶兩倍于NRZ信令的數(shù)據(jù),結(jié)合1b/1b的編碼方案,效率提升1倍。
PCIe 6.0還引入了低延遲前向糾錯(FEC)和循環(huán)冗余校驗(CRC)方案,有助緩和PAM4信令相關(guān)的誤碼率增長,以改進(jìn)帶寬效率和可靠性。此外,PCIe 6.0還支持FLIT模式,可顯著提高帶寬效率,并在保持向下兼容的基礎(chǔ)上,最終將×16通道下的雙向帶寬提升到了256GB/s。
需要注意的是,在PCIe 5.0還沒看到普及曙光的今天,PCIe 6.0更像是前瞻性技術(shù),業(yè)內(nèi)預(yù)估需要等到2023年中后期才能看到PCIe 6.0設(shè)備的早期示例(而且還并非消費領(lǐng)域)。哪怕是硬件制造商,如今也仍在研究如何將PCIe 6.0規(guī)范轉(zhuǎn)化為實際產(chǎn)品的問題。
普及路漫長:PCIe 7.0
2022年6月,PCI-SIG組織宣布新一代的PCIe 7.0標(biāo)準(zhǔn)目前正在開發(fā)中,計劃在2025年正式發(fā)布。新標(biāo)準(zhǔn)具備如下目標(biāo)功能:

· 數(shù)據(jù)傳輸速率提高到64GT/s,16通道可以提供高達(dá)512GB/s的最大雙向帶寬。
· 利用四級脈沖幅度調(diào)制(PAM4)信令。
· 關(guān)注渠道參數(shù)和覆蓋范圍。
· 繼續(xù)以實現(xiàn)低延遲和高可靠性為目標(biāo)。
· 提高電源效率。
· 保持與以往PCIe技術(shù)的兼容性,支持與數(shù)以萬計現(xiàn)有產(chǎn)品的連接。
高達(dá)512GB/s的最大雙向帶寬,意味著PCIe 7.0可滿足對可靠、高速、低延遲I/O互連的需求,路線圖涵蓋了數(shù)據(jù)密集型應(yīng)用和市場,包括800Gig以太網(wǎng)、人工智能(AI)和機(jī)器學(xué)習(xí)(ML)、高性能計算(HPC)、量子計算、超大規(guī)模數(shù)據(jù)中心和云端應(yīng)用等。
小結(jié)
在PCIe 5.0還沒有駛?cè)肫占败嚨罆r,過早地討論PCIe 7.0并沒有什么實際意義,畢竟作為消費類PC上資源最密集的PCIe設(shè)備——獨立顯卡,也才剛剛突破PCIe 3.0的最大帶寬。在未來的很長一段時間里,PCIe 4.0依舊是市場主流,待PCIe 5.0走入正軌之后,再讓我們深入探討下一代PCIe規(guī)范的意義吧。
