繼PCI (個人計算機擴展總線接口規(guī)范)之后的規(guī)范。PCI 屬于并行傳輸方式,即使用多條信號線同時并行傳輸多位數(shù)據(jù),但 PCI Express 采用的是每次 1 位的串行傳輸方式,其最高數(shù)據(jù)傳輸速度為 8Gbit / s ,最大電纜長度 3m 。開發(fā)階段的代號是 3GIO 。
PCI Express總線的起源和現(xiàn)狀
2001年春季的IDF上Intel正式公布PCI Express,是取代PCI總線的第三代I/O技術(shù),也稱為3GIO。該總線的規(guī)范由Intel支持的AWG(Arapahoe Working Group)負責制定。2002 年4月17日,AWG正式宣布3GIO 1.0規(guī)范草稿制定完畢,并移交PCI-SIG進行審核。開始的時候大家都以為它會被命名為Serial PCI(受到串行ATA的影響),但最后卻被正式命名為PCI Express。2006年正式推出Spec2.0(2.0規(guī)范)。
PCI Express總線技術(shù)的演進過程,實際上是計算系統(tǒng)I/O接口速率演進的過程。PCI總線是一種33MHz@32bit或者66MHz@64bit的并行總線,總線帶寬為133MB/s到最大533MB/s,連接在PCI總線上的所有設(shè)備共享133MB/s~533MB/s帶寬。這種總線用來應(yīng)付聲卡、10/100M網(wǎng)卡以及USB 1.1等接口基本不成問題。隨著計算機和通信技術(shù)的進一步發(fā)展,新一代的I/O接口大量涌現(xiàn),比如千兆(GE)、萬兆(10GE)的以太網(wǎng)技術(shù)、4G/8G的FC技術(shù),使得PCI總線的帶寬已經(jīng)無力應(yīng)付計算系統(tǒng)內(nèi)部大量高帶寬并行讀寫的要求,PCI總線也成為系統(tǒng)性能提升的瓶頸,于是就出現(xiàn)了PCI Express總線。PCI Express總線技術(shù)在當今新一代的存儲系統(tǒng)已經(jīng)普遍的應(yīng)用。PCI Express總線能夠提供極高的帶寬,來滿足系統(tǒng)的需求。
目前,PCI-E 3.0規(guī)范也已經(jīng)確定,其編碼數(shù)據(jù)速率,比同等情況下的PCI-E 2.0規(guī)范提高了一倍,X32端口的雙向速率高達320Gbps。
PCI Express總線的技術(shù)優(yōu)勢
PCI總線的最大優(yōu)點是總線結(jié)構(gòu)簡單、成本低、設(shè)計簡單,但是缺點也比較明顯:
1) 并行總線無法連接太多設(shè)備,總線擴展性比較差,線間干擾將導致系統(tǒng)無法正常工作;
2) 當連接多個設(shè)備時,總線有效帶寬將大幅降低,傳輸速率變慢;
3) 為了降低成本和盡可能減少相互間的干擾,需要減少總線帶寬,或者地址總線和數(shù)據(jù)總線采用復用方式設(shè)計,這樣降低了帶寬利用率。 PCI Express總線是為將來的計算機和通訊平臺定義的一種高性能,通用I/O互連總線。
與PCI總線相比,PCI Express總線主要有下面的技術(shù)優(yōu)勢:
1) 是串行總線,進行點對點傳輸,每個傳輸通道獨享帶寬。
2) PCI Express總線支持雙向傳輸模式和數(shù)據(jù)分通道傳輸模式。其中數(shù)據(jù)分通道傳輸模式即PCI Express總線的x1、x2、x4、x8、x12、x16和x32多通道連接,x1單向傳輸帶寬即可達到250MB/s,雙向傳輸帶寬更能夠達到500MB/s,這個已經(jīng)不是普通PCI總線所能夠相比的了。
3) PCI Express總線充分利用先進的點到點互連、基于交換的技術(shù)、基于包的協(xié)議來實現(xiàn)新的總線性能和特征。電源管理、服務(wù)質(zhì)量(QoS)、熱插拔支持、數(shù)據(jù)完整性、錯誤處理機制等也是PCI Express總線所支持的高級特征。
4) 與PCI總線良好的繼承性,可以保持軟件的繼承和可靠性。PCI Express總線關(guān)鍵的PCI特征,比如應(yīng)用模型、存儲結(jié)構(gòu)、軟件接口等與傳統(tǒng)PCI總線保持一致,但是并行的PCI總線被一種具有高度擴展性的、完全串行的總線所替代。
5) PCI Express總線充分利用先進的點到點互連,降低了系統(tǒng)硬件平臺設(shè)計的復雜性和難度,從而大大降低了系統(tǒng)的開發(fā)制造設(shè)計成本,極大地提高系統(tǒng)的性價比和健壯性。從下面表格可以看出,系統(tǒng)總線帶寬提高同時,減少了硬件PIN的數(shù)量,硬件的成本直接下降。
PCI Express的硬件協(xié)議
PCIe的連接是建立在一個雙向的序列的(1-bit)點對點連接基礎(chǔ)之上,這稱之為“傳輸通道”。與PCI 連接形成鮮明對比的是PCI是基于總線控制,所有設(shè)備共同分享的單向32位并行總線。PCIe是一個多層協(xié)議,由一個對話層,一個數(shù)據(jù)交換層和一個物理層構(gòu)成。物理層又可進一步分為邏輯子層和電氣子層。邏輯子層又可分為物理代碼子層(PCS)和介質(zhì)訪問控制子層(MAC)。
物理層
于使用電力方面,每組流水線使用兩個單向的低電壓微分信號(LVDS)合計達到2.5兆波特。傳送及接收不同數(shù)據(jù)會使用不同的傳輸通道,每一通道可運作四項資料。兩個PCIe設(shè)備之間的連接成為“鏈接”,這形成了1組或更多的傳輸通道。各個設(shè)備最少支持1傳輸通道(x1)的鏈接。也可以有2,4,8,16,32個通道的鏈接。這可以更好的提供雙向兼容性。(x2模式將用于內(nèi)部接口而非插槽模式)PCIe卡能使用在至少與之傳輸通道相當?shù)牟宀凵希ɡ?/span>x1接口的卡也能工作在x4或x16的插槽上)。一個支持較多傳輸通道的插槽可以建立較少的傳輸通道(例如8個通道的插槽能支持1個通道)。PCIe設(shè)備之間的鏈接將使用兩設(shè)備中較少通道數(shù)的作為標準。一個支持較多通道的設(shè)備不能在支持較少通道的插槽上正常工作,例如x4接口的卡不能在x1的插槽上正常工作,但它能在x4的插槽上只建立1個傳輸通道(x1)。PCI-Express卡能在同一數(shù)據(jù)傳輸通道內(nèi)傳輸包括中斷在內(nèi)的全部控制信息。這也方便了與PCI的兼容。多傳輸通道上的數(shù)據(jù)傳輸采取交叉存取,這意味著連續(xù)字節(jié)交叉存取在不同的通道上。這一特性被稱之為“數(shù)據(jù)條紋”,需要非常復雜的硬件支持連續(xù)數(shù)據(jù)的同步存取,也對鏈接的數(shù)據(jù)吞吐量要求極高。由于數(shù)據(jù)填充的需求,數(shù)據(jù)交叉存取不需要縮小數(shù)據(jù)包。與其它高速數(shù)傳輸協(xié)議一樣,時鐘信息必須嵌入信號中。在物理層上,PCIe采用常見的8B/10B代碼方式來確保連續(xù)的1和0字符串長度符合標準,這樣保證接收端不會誤讀。編碼方案用10位編碼比特代替8個未編碼比特來傳輸數(shù)據(jù),占用20%的總帶寬。有些協(xié)議(如SONET)使用另外的編碼結(jié)構(gòu)如“不規(guī)則”在數(shù)據(jù)流中嵌入時鐘信息。PCIe的特性也定義了一種“不規(guī)則化”的運算方法,但這種方法與SONET完全不同,它的方法主要用來避免數(shù)據(jù)傳輸過程中的數(shù)據(jù)重復而出現(xiàn)數(shù)據(jù)散射。第一代PCIe采用2.5兆位單信號傳輸率,PCI-SIG計劃在未來版本中增強到5~10兆位。
數(shù)據(jù)鏈接層
數(shù)據(jù)鏈接層采用按序的交換層信息包(Transaction Layer Packets,TLPs),是由交換層生成,按32位循環(huán)冗余校驗碼(CRC,本文中用LCRC)進行數(shù)據(jù)保護,采用著名的協(xié)議(Ack and Nak signaling)的信息包。TLPs能通過LCRC校驗和連續(xù)性校驗的稱為Ack(命令正確應(yīng)答);沒有通過校驗的稱為Nak(沒有應(yīng)答)。沒有應(yīng)答的TLPs或者等待超時的TLPs會被重新傳輸。這些內(nèi)容存儲在數(shù)據(jù)鏈接層的緩存內(nèi)。這樣可以確保TLPs的傳輸不受電子噪音干擾。
Ack和Nak信號由低層的信息包傳送,這些包被稱為數(shù)據(jù)鏈接層信息包(Data Link Layer Packet,DLLP)。DLLP也用來傳送兩個互連設(shè)備的交換層之間的流控制信息和實現(xiàn)電源管理功能。
交換層
PCI Express采用分離交換(數(shù)據(jù)提交和應(yīng)答在時間上分離),可保證傳輸通道在目標端設(shè)備等待發(fā)送回應(yīng)信息傳送其它數(shù)據(jù)信息。它采用了可信性流控制。這一模式下,一個設(shè)備廣播它可接收緩存的初始可信信號量。鏈接另一方的設(shè)備會在發(fā)送數(shù)據(jù)時統(tǒng)計每一發(fā)送的TLP所占用的可信信號量,直至達到接收端初始可信信號最高值。接收端在處理完畢緩存中的TLP后,它會回送發(fā)送端一個比初始值更大的可信信號量??尚判盘柦y(tǒng)計是定制的標準計數(shù)器,這一算法的優(yōu)勢,相對于其他算法,如握手傳輸協(xié)議等,在于可信信號的回傳反應(yīng)時間不會影響系統(tǒng)性能,因為如果雙方設(shè)備的緩存足夠大的話,是不會出現(xiàn)達到可信信號最高值的情況,這樣發(fā)送數(shù)據(jù)不會停頓。第一代PCIe標稱可支持每傳輸通道單向每秒250兆字節(jié)的數(shù)據(jù)傳輸率。這一數(shù)字是根據(jù)物理信號率2500兆波特除以編碼率(10位/每字節(jié))計算而得。這意味著一個16通道(x16)的PCIe卡理論上可以達到單向250*16=4000兆字節(jié)/秒(3.7G兆字節(jié)/每秒)。實際的傳輸率要根據(jù)數(shù)據(jù)有效載荷率,即依賴于數(shù)據(jù)的本身特性,這是由更高層(軟件)應(yīng)用程序和中間協(xié)議層決定。PCI Express與其它高速序列連接系統(tǒng)相似,它依賴于傳輸?shù)聂敯粜裕?/span>CRC校驗和Ack算法)。長時間連續(xù)的單向數(shù)據(jù)傳輸(如高速存儲設(shè)備)會造成>95%的PCIe通道數(shù)據(jù)占用率。這樣的傳輸受益于增加的傳輸通道,但大多數(shù)應(yīng)用程序如USB或以太網(wǎng)絡(luò)控制器會把傳輸內(nèi)容拆成小的數(shù)據(jù)包,同時還會強制加上確認信號。這類數(shù)據(jù)傳輸由于增加了數(shù)據(jù)包的解析和強制中斷,降低了傳輸通道的效率。這種效率的降低并非只出現(xiàn)在PCIe上。
制式標準
半高卡微型卡: 代替Mini PCI卡 (支持x1 PCIe, USB 2.0和SMBus總線接口) 快速卡: 類似PCMCIA接口標準(支持x1 PCIe,USB 2.0;支持熱插拔) 先進TCA卡: 代替CompactPCI卡
競爭協(xié)議
基于高速序列構(gòu)架產(chǎn)生了很多傳輸標準。包括HyperTransport,InfiniBand,RapidIO和StarFabric等等。這些均有業(yè)界的不同企業(yè)支持,背后也都有大量的資金投入標準的研究開發(fā),所以每一標準都聲稱自己與眾不同,獨占優(yōu)勢。主要的差異在于可擴展性、靈活性與反應(yīng)時間、單位成本的取舍平衡各不相同。其中的一個例子是在傳輸包上增加一個復雜的頭信息以支持復雜路由傳輸(PCI Express不支持這種方式)。這樣的信息增加降低了接口的有效帶寬也使傳輸更復雜,但是相應(yīng)創(chuàng)造了新的軟件支持此功能。這種架構(gòu)下需要軟件追蹤網(wǎng)絡(luò)拓撲結(jié)構(gòu)的變化以實現(xiàn)系統(tǒng)支持熱插拔。InfiniBand 和 StarFabric 標準即能實現(xiàn)這以功能。另一個例子是縮小信息包以減少反應(yīng)時間。較小的信息包意味著包頭占用了包的更大百分比,這樣又降低了有效帶寬。能實現(xiàn)此功能的標準是RapidIO 和HyperTransport。PCI Express取中庸之道,定位于設(shè)計成一種系統(tǒng)互連接口(總線)而非一種設(shè)備接口或路由網(wǎng)絡(luò)協(xié)議。另外為了針對軟件透明,它的設(shè)計目標限制了它作為協(xié)議,也在某種程度上增加了它的反應(yīng)時間
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點擊舉報。