編者按
PCIe發(fā)展至今已經(jīng)從最初的1.0升級(jí)到了6.0,但很多人對(duì)于PCIe只知其然而不知其所以然,小編今天就帶大家一起來看一看。
要想了解什么是 PCIe,首先我們要來聊聊什么是總線。
如果把主板看作一座城市,那么總線就像是城市里的公共汽車,能按照固定行車路線,傳輸來回不停運(yùn)作的比特。
在很久以前,我們的電腦并不像如今這樣有統(tǒng)一的接口與總線規(guī)范。那時(shí)想要給主板做拓展有很大的局限性,因?yàn)橹靼迳系慕涌诨局荒軐?duì)應(yīng)一個(gè)硬件設(shè)備,各大廠商之間的規(guī)范也各不相同,就是在這樣的大環(huán)境下,ISA (Industry Standard Architecture)誕生了。
ISA總線是IBM公司為PC/AT電腦而制定的總線標(biāo)準(zhǔn)。由于兼容性好,ISA在上個(gè)世紀(jì)80年代是最廣泛采用的系統(tǒng)總線,不過它的弱點(diǎn)也是顯而易見的,比如傳輸速率過低、CPU占用率高、占用硬件中斷資源等。ISA總線的淘汰也成了必然。
1992年6月,英特爾發(fā)明了名為外部鏈接標(biāo)準(zhǔn)也就是Peripheral Component Interconnect的接口規(guī)范,縮寫為PCI。PCI接口的特性在于采用的是并行傳輸方式,根據(jù)連接的數(shù)據(jù)寬度和頻率不同,能夠達(dá)到不同的數(shù)據(jù)傳輸速度。 相較上一代 ISA,PCI 有著明顯的速度提升,同時(shí)還能夠自動(dòng)配置資源,支持即插即用,很快就在各大廠商之間的混戰(zhàn)中占領(lǐng)市場(chǎng)。
不過PCI的帶寬有限,對(duì)日益強(qiáng)悍的GPU等高性能單元來說逐漸成為了瓶頸。因此,基于PCI的技術(shù)又發(fā)展出了AGP等專用于圖形卡的總線接口標(biāo)準(zhǔn)。AGP依舊是并行傳輸數(shù)據(jù)。
隨著系統(tǒng)性能進(jìn)一步提升,對(duì)帶寬要求越來越大。PCI和AGP這樣的并行傳輸技術(shù),無法在當(dāng)時(shí)的技術(shù)條件下帶來性能的進(jìn)一步提升。
終于在2001年,非營利組織PCI-SIG召集了英特爾、AMD、博通、IBM、微軟等廠商提出了PCIe(Peripheral Component Interconnect Express)新總線標(biāo)準(zhǔn)。
PCIe屬于高速串行點(diǎn)對(duì)點(diǎn)雙通道高帶寬傳輸,所連接的設(shè)備分配獨(dú)享通道帶寬,不共享總線帶寬,主要支持主動(dòng)電源管理、錯(cuò)誤報(bào)告、端對(duì)端的可靠性傳輸、熱插拔以及服務(wù)質(zhì)量(QOS)等功能。PCIe的主要優(yōu)勢(shì)就是數(shù)據(jù)傳輸速率高,而且還有相當(dāng)大的發(fā)展?jié)摿Α?/p>
PCIe也有多種規(guī)格,x1、x4、x8、x16、x32,x 后面的數(shù)字代表 PCIe 插槽有多少條通道(數(shù)據(jù)如何進(jìn)出 PCIe 卡)。一個(gè) PCIe x1 插槽有一個(gè)通道,可以每個(gè)周期傳輸一位數(shù)據(jù)。一個(gè) PCIe x2 插槽有兩個(gè)通道,每個(gè)周期可以傳輸兩位數(shù)據(jù)(依此類推)。
大多數(shù)臺(tái)式電腦主板都有許多 PCIe 插槽,可用于添加通用顯卡、各種外設(shè)卡、無線網(wǎng)卡或固態(tài)硬盤等等。PC 中可用的 PCIe 插槽類型將取決于你購買的主板。
在使用中你可以將PCIe x1卡插入PCIe x4或者x16的插槽中,但該卡將始終在 PCIe x1 模式下運(yùn)行。同樣的,你也可以將 PCIe x8 卡插入 PCIe x4 插槽,但它只能使用一半的帶寬。
下圖展示了 PCIe 規(guī)范隨時(shí)間的演變:
2003年-2010年:PCIe 1.0 - PCIe 3.0
PCIe 技術(shù)始于 2003 年,PCIe 1.0數(shù)據(jù)速率為 2.5GT/s,PCIe 2.0 規(guī)范在 2006 年將數(shù)據(jù)速率翻了一番,達(dá)到 5.0 GT/s。前兩代 PCIe 技術(shù)使用 8b/10b 編碼,產(chǎn)生了 25% 的編碼開銷。
2010年,PCIe 3.0 將數(shù)據(jù)速率提高到了 8.0 GT/s ,并采用了新的 128b/130b 編碼機(jī)制,使每個(gè)引腳的帶寬比 PCIe 2.0 翻了一番。新的編碼機(jī)制通過采用三個(gè)隨機(jī)位翻轉(zhuǎn)檢測(cè)的故障模型確保了高可靠性,并具有多種創(chuàng)新方法來執(zhí)行數(shù)據(jù)包的物理層幀,同時(shí)保留從上層發(fā)送的數(shù)據(jù)包格式。
PCIe 3.0規(guī)范還加入了一些增強(qiáng)信號(hào)指令,以及對(duì)數(shù)據(jù)完整性的優(yōu)化,包括發(fā)送器和接收器以及拓?fù)浣Y(jié)構(gòu)等,再加上重新優(yōu)化的PLL、數(shù)據(jù)通道等。此外,PCIe 3.0標(biāo)準(zhǔn)的更新版本PCIe 3.1在2014年11月發(fā)布,加入了包括電源管理、性能優(yōu)化和功能拓展等多項(xiàng)改變,當(dāng)然本質(zhì)的數(shù)據(jù)傳輸能力沒有變化。
2017年10月:16.0 GT/s的PCIe 4.0
依照PCIe 1.0到PCIe 3.0的更新節(jié)奏來看,相對(duì)于2010年發(fā)布的PCIe 3.0,PCIe 4.0規(guī)范應(yīng)該要在2014或2015年發(fā)布,但實(shí)際上,PCI-SIG直到2017年中才發(fā)布PCIe 4.0,較預(yù)期晚2、3年,這連帶也推遲了應(yīng)用的時(shí)間。
PCIe 4.0花費(fèi)了7年時(shí)間將數(shù)據(jù)速率從 8.0 GT/s 翻倍到 16.0 GT/s (每條通道大約 2GB/s,或總共 64GB/s)。PCIe 4.0 保留了相同的 128b/130b 編碼方案,PCIe 標(biāo)準(zhǔn)通過軟件和機(jī)械接口保持與舊規(guī)范和新規(guī)范的向后和向前兼容性。也就是說,PCIe 3.0卡可以在支持PCIe 4.0的主板上工作,PCIe 4.0卡也可以在PCIe 3.0主板上工作,但受限于PCIe 3.0接口的性能。
不過,作為處理器平臺(tái)龍頭廠商的Intel未能及時(shí)支持PCIe 4.0。當(dāng)PCIe 4.0于2017年底發(fā)布后,在2019年前后進(jìn)入推廣期,除了獲得一些網(wǎng)卡與SSD產(chǎn)品的支持之外,在主機(jī)與服務(wù)器平臺(tái)方面,也有IBM的Power 9,以及AMD的Zen 2架構(gòu)處理器平臺(tái)支持,而后者也讓PCIe 4.0進(jìn)入了x86平臺(tái)應(yīng)用領(lǐng)域。
然而Intel的遲遲不支持導(dǎo)致PCIe 4.0一直無法真正進(jìn)入主流應(yīng)用階段。這個(gè)僵局直到2020年后才打破,但I(xiàn)ntel平臺(tái)真正對(duì)PCIe 4.0的支持要等到2021年中才落實(shí),至此,PCIe 4.0也才算是開始進(jìn)入主流應(yīng)用階段。
2019 年 5 月:32.0 GT/s 的 PCIe 5.0
過去幾年,計(jì)算領(lǐng)域發(fā)生了重大變化,云計(jì)算、邊緣計(jì)算以及人工智能、機(jī)器學(xué)習(xí)和分析等應(yīng)用引發(fā)了對(duì)更快的數(shù)據(jù)處理和移動(dòng)的需求。隨著計(jì)算和內(nèi)存容量呈指數(shù)級(jí)增長,我們需要以更快的節(jié)奏維持 I/O 帶寬翻倍,以跟上新興應(yīng)用程序的性能。
例如,400 Gb(或雙 200 Gb)網(wǎng)絡(luò)需要 32.0 GT/s 的 x16 PCIe 來維持帶寬。這就要求在PCIe 4.0架構(gòu)之后不到兩年的時(shí)間里發(fā)布一個(gè)完全向后兼容的PCIe 5.0——這對(duì)于一個(gè)標(biāo)準(zhǔn)來說是一個(gè)重大的成就。
從 PCIe 4.0 到 PCIe 5.0 規(guī)范的演變主要是速度升級(jí)。128b/130b 編碼是將帶寬擴(kuò)展到更高數(shù)據(jù)速率的協(xié)議支持,在PCIe 3.0和PCIe 4.0規(guī)范中已經(jīng)內(nèi)置了這種編碼。通道損耗擴(kuò)展到 36 dB,同時(shí)對(duì)連接器進(jìn)行了改進(jìn),以最大限度地減少頻率范圍增加所帶來的損耗。
PCIe 5.0 架構(gòu)的增強(qiáng)功能之一是對(duì)備用協(xié)議的內(nèi)置支持。隨著 PCIe 技術(shù)發(fā)展成為帶寬最高、能效最高和部署最廣泛的接口,某些用途需要額外的協(xié)議,例如,某些加速器和智能網(wǎng)卡可以緩存系統(tǒng)內(nèi)存并將其內(nèi)存映射到系統(tǒng)內(nèi)存空間,以便在PCIe協(xié)議之外進(jìn)行高效的數(shù)據(jù)交換。同樣,系統(tǒng)內(nèi)存正在遷移到 PCIe PHY,因?yàn)樗峁┝烁吣苄У母邘捄偷脱舆t解決方案。
PCI-SIG 預(yù)計(jì) PCIe 4.0 和 PCIe 5.0 將在一段時(shí)間內(nèi)共存,PCIe 5.0 用于對(duì)吞吐量要求高的高性能需求,例如用于 AI 工作負(fù)載和網(wǎng)絡(luò)應(yīng)用程序的 GPU。因此,PCIe 5.0 將主要用于數(shù)據(jù)中心、網(wǎng)絡(luò)和高性能計(jì)算 (HPC) 企業(yè)環(huán)境,而不那么密集的應(yīng)用(如臺(tái)式機(jī)應(yīng)用)將適用于 PCIe 4.0。
2022 年1月:PCIe 6.0發(fā)布,速度為 64 GT/s
2022年1月11日,PCI-SIG正式發(fā)布了PCIe 6.0最終版本1.0,從技術(shù)上來說,PCIe 6.0是PCIe問世近20年來,變化最大的一次。
PCIe 6.0 規(guī)范目標(biāo)要求
根據(jù)PCI-SIG的介紹,PCIe 6.0主要有三大變化:數(shù)據(jù)傳輸速率從32GT/s翻倍至64GT/s;編碼方式從NRZ 信令模式轉(zhuǎn)向PAM4信令模式;從傳輸可變大小TLP到固定大小FLIT。
PAM4信號(hào)
PCIe 6.0 規(guī)范引入了PAM4編碼方式,才讓PCIe 6.0的數(shù)據(jù)傳輸速率再次翻倍。在PCIe 6.0之前,各代PCIe采用的都是NRZ信令,即不歸零編碼,它采用0或1兩個(gè)電壓等級(jí),每一個(gè)時(shí)脈周期只能傳輸1bit的信號(hào)。PAM4使用4個(gè)信號(hào)電平,而不是傳統(tǒng)的0/1兩個(gè)電平,單個(gè)信號(hào)就能有四種編碼(00/01/10/11)狀態(tài)。這使得PAM4可以攜帶兩倍于NRZ信令的數(shù)據(jù)。但它的代價(jià)是比特誤碼率 (BER) 更高。
盡管 PCIe 架構(gòu)具有鏈路級(jí)重試 (LLR) 機(jī)制來重放受錯(cuò)誤影響的事務(wù),但由于重試而導(dǎo)致的帶寬損失使其在PAM4錯(cuò)誤率下無法運(yùn)行。因此,PCIe 6.0 規(guī)范結(jié)合使用輕量級(jí)前向糾錯(cuò)(FEC)和 LLR 機(jī)制來滿足低延遲和低帶寬開銷的性能指標(biāo)。此外,循環(huán)冗余校驗(yàn)(CRC)方案提供了一個(gè)非常強(qiáng)大的錯(cuò)誤檢測(cè)機(jī)制,可以抵消相關(guān)性的高錯(cuò)誤率。
FLIT 模式
PCIe 6.0 引入了 FLIT 模式,其中數(shù)據(jù)包以固定大小的流量控制單元組織,而不是過去幾代 PCIe 中的可變大小。引入 FLIT 模式的最初原因是糾錯(cuò)需要使用固定大小的數(shù)據(jù)包;但是,F(xiàn)LIT 模式還簡(jiǎn)化了控制器級(jí)別的數(shù)據(jù)管理,從而提高了帶寬效率、降低了延遲并縮小了控制器占用空間。對(duì)于固定大小的數(shù)據(jù)包,不再需要在物理層對(duì)數(shù)據(jù)包進(jìn)行成幀,這為每個(gè)數(shù)據(jù)包節(jié)省了 4 字節(jié)。FLIT 編碼還消除了以前 PCIe 規(guī)范中的 128B/130B 編碼和 DLLP(數(shù)據(jù)鏈路層數(shù)據(jù)包)開銷,從而顯著提高了 TLP效率,尤其是對(duì)于較小的數(shù)據(jù)包。
最 后
在實(shí)際應(yīng)用方面,剛剛發(fā)布不久的PCIe 6.0目前自然還尚無具體進(jìn)展,現(xiàn)在主流的應(yīng)用還在PCIe 3.0和PCIe 4.0,不過PCIe 5.0已經(jīng)進(jìn)入初步的推廣期,自2021年底開始,便開始有廠商推出支持PCIe 5.0的高速網(wǎng)卡與SSD產(chǎn)品,并且一些新的GPU、CPU開始采用PCIe 5.0了。
這也讓當(dāng)前的PCIe應(yīng)用環(huán)境形成了3.0、4.0、5.0、6.0“四代同堂”的奇特現(xiàn)象,并且仍將持續(xù)一段時(shí)間。
整體而言,新一代PCIe 5.0與PCIe 6.0已經(jīng)崛起,并陸續(xù)投入應(yīng)用,PCIe 6.0帶來的新特性,包括64GT/s的數(shù)據(jù)速率、PAM4編碼方式、具有吞吐量和延遲優(yōu)勢(shì)的 FLIT等等,必然會(huì)更好地推動(dòng)行業(yè)發(fā)展。
審核編輯:湯梓紅
?
評(píng)論