百度名片
PCI Express,簡稱
PCI-E,是
PCI電腦匯流排的一種,它沿用了現有的PCI
編程概念及
通訊標準,但建基於更快的
串列通信系統。
英特爾是該接口的主要支援者。PCIe僅套用於內部互連。由於PCIe是基於現有的
PCI系統,只需修改
物理層而無須修改軟體就可將現有PCI系統轉換為PCIe。PCIe擁有更快的速率,以取代幾乎全部現有的內部
匯流排(包括
AGP和
PCI)。
英特爾希望將來能用一個PCIe控制器和所有外部設備交流,取代現有的
南橋/
北橋方案。
除了這些,PCIe設備能夠支援熱拔插以及
熱交換特性,支援的三種
電壓分別為+3.3V、3.3Vaux以及+12V。考慮到現在
顯示卡功耗的日益增加,PCIe而後在規範中改善了直接從
插槽中取電的
功率限制,基本可以滿足當時(2004年)中高階
顯示卡的需求。這一點可以從
AGP、PCIe兩個不同版本的6600GT
顯示卡上就能明顯地看到,後者並不需要
外接電源。PCIe只是
南橋的擴展匯流排,它與作業系統無關,所以也保證了它與原有PCI的兼容性,也就是說在很長一段時間內在主機板上PCIe接口將和
PCI接口共存,這也給用戶的升級帶來了方便。由此可見,PCIe最大的意義在於它的通用性,不僅可以讓它用於
南橋和其他
設備的連線,也可以延伸到
晶片組間的連線,甚至也可以用於連線
圖形晶片,這樣,整個
I/O系統重新統一起來,將更進一步簡化
計算機系統,增加
計算機的
可移植性和
模組化。
名詞釋義
英文全名 Peripheral Component Interconnect Express
中文全名 快捷外設互聯標準
發明日期 2004年
發明者 Intel
最多連線 每接口 1 個
頻寬 每條匯流排:
· v1.x: 250 MB/s
· v2.0: 500 MB/s
· v3.0: 1 GB/s
16條匯流排:
· v1.x: 4 GB/s
· v2.0: 8 GB/s
· v3.0: 16 GB/s
類別 串列
熱插拔 依制式而定
外置接口 支援(External PCI Express)
PCI-E技術簡介
隨著圖像處理技術和人們對於遊戲需求的急速增長,傳統的AGP接口已經遠遠不能滿足時下瘋狂的數據傳輸的需求,於是早在2001年的春季IDF(Intel開發者論壇)上,Intel公司已經宣布要用一種新的技術取代PCI匯流排和多種晶片的內部連線,並稱之為第三代I/O匯流排技術(3rd Generation I/O,也就是3GIO);到了2001年底,包括Intel、AMD、DELL、IBM等20多家業界主導公司加入了PCI-SIG(PCI特殊興趣小組)並開始起草3GIO規範的草案;2002年草案完成,並把3GIO正式命名為PCI Express。這就是PCI-E的由來。 簡單來說,PCI-E能夠提供2.5Gbit/s的單向單線連線傳輸速率。相對於傳統PCI匯流排在單一時間周期內只能實現單向傳輸,PCI Express的雙單工連線能提供更高的傳輸速率和質量,它們之間的差異跟半雙工和全雙工類似。同時PCI Express串列連線使用了內嵌時鐘技術(8b/10b編碼模式),時鐘信息直接寫入數據流中,這對比大多數並行匯流排要額外傳輸保持同步的時鐘信號來說更能節省傳輸的通道和提高傳輸效率。 一個PCI Express連線可以被配置成x1,x2,x4,x8,x12,x16和x32的數據頻寬。x1的通道能實現單向312.5MB/秒(2.5Gbit/s * 1 / 8位)的傳輸速率,同理x32通道連線就能提供10GB/秒的速率,但考慮使用8b/10b編碼實際上有20%左右的消耗,實際的傳輸速率大概是8GB/S(x32單向)。一般的顯示卡使用的PCI-EX16標準,數據傳輸率為4.8GB/S,遠遠高於現在最流行的AGP 8X的2.1GB/S的數據流量。 對於廣大的消費者來說,PCI-E直接帶來的就是顯示卡性能得大幅度提升,它可以在一段時間內徹底解決困擾大家的顯示卡傳輸頻寬的問題,而且在今後遊戲的配合下,我們可以使用更高級的顯示卡獲得更加逼真的效果。
歷史
在
2001年的春季英特爾開發者論壇(
IDF)上Intel公布了取代PCI匯流排的第三代I\O技術,被稱為“
3GIO”。該匯流排的規範由Intel支持的
AWG(Arapahoe Work Group)負責制定。
2002年4月17日,AWG正式宣布3GIO 1.0規範草稿制定完畢,移交PCI特殊興趣組織(PCI-SIG)進行審核,2002年7月23日經過審核後正式公布,改名為“PCI Express”,並根據開發藍圖2006年正式推出Spec2.0(2.0規範)。
版本 | 資料傳輸頻寬 | 單向單通道頻寬 | 雙向16通道頻寬 | 原始傳輸率 | 供電 | 發表日期 |
1.0 | 2Gb/s | 250MB/s | 8GB/s | 2.5GT/s |
| 2002年7月22日 |
1.0a | 2Gb/s | 250MB/s | 8GB/s | 2.5GT/s |
| 2003年4月15日 |
1.1 | 2Gb/s | 250MB/s | 8GB/s | 2.5GT/s | 77W | 2005年3月28日 |
2.0 | 4Gb/s | 500MB/s | 16GB/s | 5.0GT/s | 225W | 2006年12月20日 |
2.1 | 4Gb/s | 500MB/s | 16GB/s | 5.0GT/s |
| 2009年3月4日 |
3.0 | 8Gb/s | 1GB/s | 32GB/s | 8.0GT/s |
| 預計2010年末 |
與其他傳輸規格比較
PCIe的規範主要是為了提升電腦內部所有匯流排的速度,因此頻寬有多種不同規格標準,其中PCIe x16是專為顯示卡所設計的部分。AGP的資料傳輸效率最高為2.1GB/s,不過對上PCIe x16的8GB/s,很明顯的就分出勝負,但8GB/s只有指資料傳輸的理想值,並不是使用PCIe接口的顯示卡,就能夠有突飛猛進的效能表現,實際的測試數據上並不會有這么大的差異存在。
傳輸通道數 | 腳Pin總數 | 主接口區Pin數 | 總 長 度 | 主接口區 長度 |
---|
x1 | 36 | 14 | 25 mm | 7.65 mm |
x4 | 64 | 42 | 39 mm | 21.65 mm |
x8 | 98 | 76 | 56 mm | 38.65 mm |
x16 | 164 | 142 | 89 mm | 71.65 mm |
規格 | 匯流排寬度 | 工作時脈 | 資料速率 |
---|
PCI 2.3 | 32 位元 | 33/66 MHz | 133/266 MB/s |
PCI-X 1.0 | 64 位元 | 66/100/133 MHz | 533/800/1066 MB/s |
PCI-X 2.0(DDR) | 64 位元 | 133 MHz | 2.1 GB/s |
PCI-X 2.0(QDR) | 64 位元 | 133 MHz | 4.2 GB/s |
AGP 2X | 32 位元 | 66 MHz | *2=532 MB/s |
AGP 4X | 32 位元 | 66 MHz | *4=1.0 GB/s |
AGP 8X | 32 位元 | 66 MHz | *8=2.1 GB/s |
PCI-E 1.0 X1 | 1 位元 | 2.5 GHz | 500 MB/s(雙工,文稿數據) |
PCI-E 1.0 X2 | 2 位元 | 2.5 GHz | 1 GB/s(雙工) |
PCI-E 1.0 X4 | 4 位元 | 2.5 GHz | 2 GB/s(雙工) |
PCI-E 1.0 X8 | 8 位元 | 2.5 GHz | 4 GB/s(雙工) |
PCI-E 1.0 X16 | 16 位元 | 2.5 GHz | 8 GB/s(雙工) |
計算公式:PCI-E串列匯流排頻寬(MB/s) = 串列匯流排時鐘頻率(MHz) * 串列匯流排位寬(bit/8 = B) * 串列匯流排管線 * 編碼方式 * 每時鐘傳輸幾組數據(cycle) 例:雙工PCI-E 1.0 X1 頻寬=2500*1/8*1*8/10*1*2=500 MB/s
PCI Express 1.0 匯流排頻率 2500 MHz,這是在 100 MHz 的基準頻率通過鎖相環振盪器(Phase Lock Loop,PLL)達到的。PCI-E 2.0 匯流排頻率從2.5GHz提高到5GHz,3.0則提高到8GHz,編碼方式變成128/130。
硬體協定
PCIe的連線是建立在一個雙向的序列的(1-bit)點對點連線基礎之上,這稱之為“傳輸通道”。與PCI 連線形成鮮明對比的是PCI是基於匯流排控制,所有設備共同分享的單向32位並行匯流排。PCIe是一個多層協定,由一個對話層,一個數據交換層和一個物理層構成。物理層又可進一步分為邏輯子層和電氣子層。邏輯子層又可分為物理代碼子層(PCS)和介質接入控制子層(MAC)。
物理層
各式不同的PCI Express插槽(由上而下:x4, x16, x1,與 x16),相較於傳統的32-bit PCI插槽(最下方),取自於DFI的LanParty nF4 Ultra-D機板於使用電力方面,每組流水線使用兩個單向的低電壓差分信號(LVDS)合計達到2.5兆波特。傳送及接收不同數據會使用不同的傳輸通道,每一通道可運作四項資料。兩個PCIe設備之間的連線成為“連結”,這形成了1組或更多的傳輸通道。各個設備最少支援1傳輸通道(x1)的連結。也可以有2,4,8,16,32個通道的連結。這可以更好的提供雙向兼容性。(x2模式將用於內部接口而非插槽模式)PCIe卡能使用在至少與之傳輸通道相當的插槽上(例如x1接口的卡也能工作在x4或x16的插槽上)。一個支援較多傳輸通道的插槽可以建立較少的傳輸通道(例如8個通道的插槽能支援1個通道)。PCIe設備之間的連結將使用兩設備中較少通道數的作為標準。一個支援較多通道的設備不能在支援較少通道的插槽上正常工作,例如x4接口的卡不能在x1的插槽上正常工作(插不入),但它能在x4的插槽上只建立1個傳輸通道(x1)。PCIe卡能在同一數據傳輸通道內傳輸包括中斷在內的全部控制信息。這也方便了與PCI的兼容。多傳輸通道上的數據傳輸採取交叉存取,這意味著連續位元組交叉存取在不同的通道上。這一特性被稱之為“數據條紋”,需要非常複雜的硬體支援連續數據的同步存取,也對連結的數據吞吐量要求極高。由於數據填充的需求,數據交叉存取不需要縮小數據包。與其它高速數傳輸協定一樣,時鐘信息必須嵌入信號中。在物理層上,PCIe採用常見的8B/10B代碼方式來確保連續的1和0字元串長度符合標準,這樣保證接收端不會誤讀。編碼方案用10位編碼比特代替8個未編碼比特來傳輸數據,占用20%的總頻寬。到了PCIe 3.0,採用128B/130B代碼方式,僅占用1.538%的總頻寬。有些協定(如SONET)使用另外的編碼結構如“不規則”在數據流中嵌入時鐘信息。PCIe的特性也定義了一種“不規則化”的運算方法,但這種方法與SONET完全不同,它的方法主要用來避免數據傳輸過程中的數據重複而出現數據散射。第一代PCIe採用2.5兆位單信號傳輸率,PCI-SIG計畫在未來版本中增強到5~10兆位。
數據連結層
數據連結層採用按序的交換層信息包(Transaction Layer Packets,TLPs),是由交換層生成,按32位循環冗餘校驗碼(CRC,本文中用LCRC)進行數據保護,採用著名的協定(Ack and Nak signaling)的信息包。TLPs能通過LCRC校驗和連續性校驗的稱為Ack(命令正確應答);沒有通過校驗的稱為Nak(沒有應答)。沒有應答的TLPs或者等待逾時的TLPs會被重新傳輸。這些內容存儲在數據連結層的快取內。這樣可以確保TLPs的傳輸不受電子噪音干擾。PCIe對於ACK有所規範,在收到TLP封包之後,在一定時間內必須回應ACK,也就是ACK延遲(ACK Latency)的等待時間。因應ACK/NAK流程的需要,必須實作出重新播送緩衝器(Replay Buffer)。
Ack和Nak信號由低層的信息包傳送,這些包被稱為數據連結層信息包(Data Link Layer Packet,DLLP)。DLLP也用來傳送兩個互連設備的交換層之間的流控制信息和實現電源管理功能。
交換層
PCI Express採用分離交換(數據提交和應答在時間上分離),可保證傳輸通道在目標端設備等待傳送回應信息傳送其它數據信息。它採用了可信性流控制。這一模式下,一個設備廣播它可接收快取的初始可信信號量。連結另一方的設備會在傳送數據時統計每一傳送的TLP所占用的可信信號量,直至達到接收端初始可信信號最高值。接收端在處理完畢快取中的TLP後,它會回送傳送端一個比初始值更大的可信信號量。可信信號統計是定製的標準計數器,這一算法的優勢,相對於其他算法,如握手傳輸協定等,在於可信信號的回傳反應時間不會影響系統性能,因為如果雙方設備的快取足夠大的話,是不會出現達到可信信號最高值的情況,這樣傳送數據不會停頓。第一代PCIe標稱可支援每傳輸通道單向每秒250兆位元組的數據傳輸率。這一數字是根據物理信號率2500兆波特除以編碼率(10位/每位元組)計算而得。這意味著一個16通道(x16)的PCIe卡理論上可以達到單向250*16=4000兆位元組/秒(3.7G位元組/每秒)。實際的傳輸率要根據數據有效載荷率,即依賴於數據的本身特性,這是由更高層(軟體)應用程式和中間協定層決定。PCI Express與其它高速序列連線系統相似,它依賴於傳輸的魯棒性(CRC校驗和Ack算法)。長時間連續的單向數據傳輸(如高速存儲設備)會造成>95%的PCIe通道數據占用率。這樣的傳輸受益於增加的傳輸通道,但大多數應用程式如USB或乙太網絡控制器會把傳輸內容拆成小的數據包,同時還會強制加上確認信號。這類數據傳輸由於增加了數據包的解析和強制中斷,降低了傳輸通道的效率。這種效率的降低並非只出現在PCIe上。
制式標準
l 半高卡
l Mini Card:用以代替Mini PCI卡(支援x1 PCIe、USB 2.0和SMBus匯流排接口)。
l ExpressCard:類似PC卡接口標準(支援x1 PCIe、USB 2.0、熱插拔)。
l PCI Express ExpressModule:支援熱插拔的接口標準用於伺服器和工作站上。
l XMC:類似CMC/PMC接口標準(支援x4 PCIe或串列 RapidI/O)。
l AdvancedTCA:用以代替Compact PCI卡,支援串列背板拓撲結構基礎。
l AMC:AdvancedTCA規範的補充,支援處理器和I/O模組在ATCA板上(x1、x2、x4 或 x8 PCIe)。
l PCI Express 外置接線[5]。
l Mobile PCI Express Module (MXM) NVIDIA所發明的圖形模組規範。
l Advanced eXpress I/O Module (AXIOM) 圖形模組,由ATI認可。
競爭協定
基於高速序列構架產生了很多傳輸標準。包括HyperTransport, InfiniBand, RapidIO,和StarFabric等等。這些均有業界的不同企業支援,背後也都有大量的資金投入標準的研究開發,所以每一標準都聲稱自己與眾不同,獨占優勢。主要的差異在於可擴展性、靈活性與反應時間、單位成本的取捨平衡各不相同。其中的一個例子是在傳輸包上增加一個複雜的頭信息以支援複雜路由傳輸(PCI Express不支援這種方式)。這樣的信息增加降低了接口的有效頻寬也使傳輸更複雜,但是相應創造了新的軟體支援此功能。這種架構下需要軟體追蹤網路拓撲結構的變化以實現系統支援熱插拔。InfiniBand和StarFabric標準即能實現這以功能。另一個例子是縮小信息包以減少反應時間。較小的信息包意味著包頭占用了包的更大百分比,這樣又降低了有效頻寬。能實現此功能的標準是RapidIO和HyperTransport。PCI Express取中庸之道,定位於設計成一種系統互連線口而非一種設備接口或路由網路協定。另外為了針對軟體透明,它的設計目標限制了它作為協定,也在某種程度上增加了它的反應時間。
前景
在2005年,PCIe已近乎稱為新的個人電腦主機板標準。關於此有不少評論,但最基本的原因是它對於軟體開發者完全透明——為PCI所設計的作業系統可以不做任何代碼修改來啟動PCIe設備。其二,它能增強系統性能,還有強有力的品牌認知。大部分新生產的ATi或nVidia顯示卡都使用了PCIe標準。nVidia在它新開發的可擴展連結接口(Scalable Link Interface,SLI,即雙顯示卡)上採用了PCIe的高速數據傳輸,這使得兩塊相同晶片組顯示卡可同時工作於一台電腦之上。ATi公司也基於PCIe開發了一種含兩個GPU的顯示卡,稱為交叉火力(CrossFire)。快速卡(ExpressCard)剛剛出現在筆記本電腦上,但由於大部分筆記本電腦僅有一個插槽,目前無法將現有的Cardbus接口完全淘汰,升級成新的快速卡插槽。台式機就沒有這種問題,因為它的多個插槽可以同時支援PCIe和老的PCI。
參考文獻
1.Desktop Boards — Some PCI Express* Graphics cards require extra power. 03-Jun-2004. "25W-75W graphics cards are powered through the desktop board's PCI Express x16 connector"
2. PCI Express-en.wikipedia. org. en.wikipedia. org [2009-6-22].
3.Mechanical Drawing for PCI Express Connector [2007-12-07].
4.FCi schematic for PCIe connectors [2007-12-07].
5.PCI Express External Cabling 1.0 Specification [2007-02-09].