PCI Express
PCI Express,簡稱 PCI-E,官方簡稱 PCIe,是計算機匯流排PCI的一種,它沿用現有的PCI編程概念及通信標準,但建基於更快的串列通信系統。英特爾是該接口的主要支持者。PCIe僅套用於內部互連。由於PCIe是基於現有的PCI系統,只需修改物理層而無須修改軟體就可將現有PCI系統轉換為PCIe。 PCIe擁有更快的速率,以取代幾乎全部現有的內部匯流排(包括AGP和PCI)。現在英特爾和AMD已採用單片機組技術,取代原有的南橋/北橋方案。
除此之外,PCIe設備能夠支持熱拔插以及熱交換特性,支持的三種電壓分別為+3.3V、3.3Vaux以及+12V。 考慮到現在顯示卡功耗的日益增加,PCIe而後在規範中改善直接從插槽中取電的功率限制,16x的最大提供功率達到75W,比AGP8X接口有了很大的提升。
基本可以滿足當時(2004年)的中高階顯示卡的需求。這一點可以從AGP、PCIe兩個不同版本的6600GT顯示卡上就能明顯地看到,後者並不需要外接電源。
PCIe只是南橋的擴展匯流排,它與作業系統無關,所以也保證它與原有PCI的兼容性,也就是說在很長一段時間內在主機板上PCIe接口將和PCI接口共存,這也給用戶的升級帶來方便。由此可見,PCIe最大的意義在於它的通用性,不僅可以讓它用於南橋和其他設備的連線,也可以延伸到晶片組間的連線,甚至也可以用於連線圖形處理器,這樣,整個I/O系統重新統一起來,將更進一步簡化計算機系統,增加計算機的可移植性和模組化。
PCI Express的硬體協定
PCIe的連線是創建在一個雙向的序列的(1-bit)點對點連線基礎之上,這稱之為“傳輸通道”。與PCI連線形成鮮明對比的是PCI是基於匯流排控制,所有設備共同分享的單向32位並行匯流排。PCIe是一個多層協定,由一個對話層,一個數據交換層和一個物理層構成。物理層又可進一步分為邏輯子層和電氣子層。邏輯子層又可分為物理代碼子層(PCS)和介質接入控制子層(MAC)。
物理層
於使用電力方面,每組流水線使用兩個單向的低電壓差分信號(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通道數據傳輸利用率。這樣的傳輸受益於增加的傳輸通道(x2, x4 等)。但大多數應用程式如USB或乙太網控制器會把傳輸內容拆成小的數據包,同時還會強制加上確認信號。這類數據傳輸由於增加數據包的解析和強制中斷,降低傳輸通道的效率。作為一個在同一個印刷電路板(PCB)設備間的通信協定,它不需要達到其他遠距離通信協定要求的高數據傳輸錯誤容忍度,而且,這種效率的降低並非只出現在PCIe上。
引腳
下表列出在邊緣連線器上的PCI Express卡兩側的導線。在印刷電路板(PCB)的焊接側為A側,並且組件側的B側。PRSNT1# 和PRSNT2# 引腳必須比其餘稍短,以確保熱插入卡完全插入。該WAKE# 引腳採用全電壓喚醒計算機,但必須拉高從備用電源,以表明該卡是能夠喚醒。
制式標準
•半高卡
•Mini Card:用以代替Mini PCI卡(支持x1 PCIe、USB 2.0和SMBus匯流排接口)。
•ExpressCard:類似PC卡接口標準(支持x1 PCIe、USB 2.0、熱插拔)。
•PCI Express ExpressModule:支持熱插拔的接口標準用於伺服器和工作站上。
•XMC:類似CMC/PMC接口標準(支持x4 PCIe或串列RapidI/O)。
•AdvancedTCA:用以代替Compact PCI卡,支持串列背板拓撲結構基礎。
•AMC:AdvancedTCA規範的補充,支持處理器和I/O模組在ATCA板上(x1、x2、x4或x8 PCIe)。
•PCI Express外置接線。
•Mobile PCI Express Module(MXM)NVIDIA所發明的圖形模組規範。
•Advanced eXpress I/O Module(AXIOM)圖形模組,由ATI認可。
•Thunderbolt
•M.2
外設組件互連標準
外部連結( Peripheral Component Interconnect)標準,或稱 個人計算機接口(Personal Computer Interface),實際套用中簡稱為 PCI,是一種連線計算機主機板和外部設備的匯流排標準。一般PCI設備可分為以下兩種形式:
•直接內置於主機板上的積體電路,在PCI規範中稱作“嵌入設備”(planar device);或者
•安裝在插槽上的擴充界面卡。
PCI bus常見於現代的個人計算機中,並已取代了ISA和VESA局部匯流排,成為了標準擴充匯流排。PCI匯流排亦常見於其他計算機類型中。PCI匯流排最終將被PCI Express和其他更先進的技術取代,這些技術現在已經被用於最新款的計算機中。
PCI規範規定了該匯流排的物理尺寸(包括線寬)、電氣特性、匯流排時序和協定。該規範可從美國PCI-SIG協會購得。
常見的PCI卡包括網卡、音效卡、數據機(數據機)、電視卡和硬碟控制器等,另外還有USB和串列連線埠等連線埠。原本顯示卡通常也是PCI設備,但很快其頻寬已不足以支持顯示卡的性能。PCI顯示卡現在僅用在需要額外的外接顯示器或主機板上沒有AGP和PCI Express槽的情況。
參見
•ISA
•EISA
•MCA
•NuBus
•VLB
•AGP
•PCI Express(PCI-E)
•計算機設備頻寬列表