沈 亮
不知何時,我們已經習慣了顯卡的PCI Express(以下簡稱PCI-E)接口,曾經流行的AGP接口已經完全被主流市場淘汰。從第一代PCI-E顯卡GeForce 5750到GeF0roe GTX295,從Radeon X600到即將發布的Radeon HD X5800,顯卡的性能提高了數十倍,但是沒有變的就是PCI-E接口。其實,你看到的只是表面,PCI-E接口同樣“與時俱進”,內在已經發生了重太的變化。如同過去AGP存在2x、4x和8x的區別,PCI-E也從發布時的1.O,發展到目前的2.0標準。而在接下來的幾個月里,我們將迎來新的PCI-E 3.0標準。
長江后浪推前浪——PCI-E總線誕生
在PCI-E顯卡正式大規模進入市場的2004年,占據系統總線主導地位的是誕生于1992年的PCI(Peripheral Component Interconnect,外部部件互聯)總線以及顯卡專用的AGP總線。其中PCI總線的頻率為33MHz,位寬為32bn,帶來了133MB/s的峰值帶寬。在更早之前,即使是共享PCI總線的方式也能夠滿足2D顯卡、聲卡、10M網卡的數據傳輸要求。而且PCI總線擁有效率更高的同步傳輸機制、獨立的總線控制和負載、支持即插即用等優勢,面市后迅速取代了老舊的ISA(Industry StandardArchitecture工業標準架構)總線。也正是以上的優勢,PCI總線為家庭多媒體電腦的普及立下汗馬功勞,至今已經努力工作了近17個年頭。
但是隨著電腦娛樂和寬帶互聯網的蓬勃發展,高數據吞吐量的3D加速顯卡、多硬盤陣列卡和100M/1000M網卡很快榨干了PCI僅有的133MB/s特寬。因此,由PCI總線衍生出來了一些其它總線,如PCI-X。而且工程師們另辟蹊徑,還發展了顯卡專用的AGP總線和千兆網卡CSA專用通道,以此分擔PCI的帶寬壓力。從此,PCI淪為低速設備的專用總線,應用對象僅僅是聲卡、100M網卡、調制解調器、USB/1394擴展卡等中低速部件。
在3D顯卡發展初期,AGP(Accelerated Graphics Port)成為新的顯卡接口。AGP同樣是32bit位寬,但它的工作頻率從66MH開始。AGP1X規范在每個時鐘周期的下降沿傳輸數據,可以提供266MB/s的帶寬,而AGP 2X可以同時利用時鐘周期的上升和下降沿傳輸數據,達到了533MB/s的帶寬,AGP 8X則將帶寬提高到了2.12GB/s,足以滿足當時的3D顯卡。
專用總線的設計不過是個權宜之計,如果每種高速設備都新設計一種專用總線,是不現實的。世間之事,合久必分,分久必和。在PCI、AGP,CSA等多種總線共存著進入新千年后,2002年PCI-E的前身3GIO(3G+IO,第三代輸入輸出)總線的發布,標志著電腦系統再次合并到一種總線標準中。PCI-E總線沿用了PCI總線的編程概念和通信標準,但是PCI—E最大的革新在于摒棄了并行共享總線,使用了串行點對點的傳輸機制,此舉顯著地提升了總線帶寬和效率。
PCI-E總線優勢
1)采用LVDS(Low VoltageDifferential Signal,低電壓差分信號)的串行總線
串行通訊是電腦系統在21世紀的發展方向,依靠串行差分信號,PCI-E獲得了比PCI高得多的頻率和帶寬。為了保證高速串行信號的完整性,PCI-E1.O和PCI-E 2.0產用了8b/10b的編碼方式,通過插入2位輔助碼來檢驗數據傳輸的正確與否。而且PCI—E支持雙向傳輸模式和數據分通道傳輸模式,單通道(x1)單向傳輸帶寬即可達到250MB/s,雙向傳輸帶寬為500MB/s。而在需要更多帶寬時,PCI—E允許多通道合并使用,這樣運用于顯卡的16通道PCI-Ex16接口雙向傳輸帶寬更是達到8GB/s(PCI-E 1.O標準)。單通道8位的PCI—E數據線比起PCI動輒32位、64位的數據線,在提升頻率和布線上要容易得多。
2)PCI-E總線充分利用先進的點對點互連、基于交換的技術、基于包的協議來實現新的總線特征。
和過去PCI共享方式相比,PCI-E就相當刊、區共享10M上網和個人10M專線上網的區別,隨時都能保證單個設備的帶寬要求。同時PCI-E還加入了電源管理、服務質量(QOS)、熱插拔支持、數據完整性、錯誤處理機制等高級特征,使總線能夠工作于多種場合和多種模式。
3)與PCI總線良好的繼承性,可以保持軟件的繼承和可靠性。
PCI-E僅僅在最下面的物理層將PCI的共享總線換成了一個高速的串行點對點總線,之后的數據連接層、交換層和軟件層保持不變。雖然在物理插槽方面和以前的PCI不兼容,但是與PCI總線良好的繼承性,可以保持軟件的繼承和可靠性。PCI-E總線關鍵的PCI特征,比如應用模型、存儲結構、軟件接口等與傳統PCI總線保持一致。
通過PCI-E特殊興趣組(簡稱PCI—SIG)的推廣和各大IT生產商的積極配合,PCI-E以摧枯拉朽之勢淘汰了AGP接口,成為新一代顯卡的首選接口。而板載網卡芯片(以板載千兆芯片為主),如常見的Realtek 8111千兆網卡芯片,也已經采用PCI-E接口和系統相連。就連常見的南北橋芯片也能使用PCI-E通道進行互聯,充分顯示了PCI-E的擴展性。
總線規格更新——PCI-E 2.0上位
由于3D顯卡性能和功能的顯著增長,對PCI-E總線的帶寬和供電能力提出了新的要求。在1.0標準發布4年后的2006年,新的PCI-E 2.0總線標準誕生了。依靠2.5GHz的最高工作頻率,PCI-E 2.0單通道的單向最大帶寬即達到了500MB/s,進一步滿足了高數據吞吐設備的帶寬要求。比如有的芯片組在支持SLI或者CrossFireX多顯卡互聯時僅能提供兩路PCI-E x8接口,而不是兩路PCI-E x16,每塊顯卡只能獲得4GB/s的雙向帶寬。而在運用PCI-E 2.0標準后,即使是PCI-Ex8接口也能提供8GB/s的雙向帶寬。
另外,PCI-E 2.0還新增動態連接功能,系統可以根據需要動態、連續地調整總線的速度,達到降低功耗的目的,這一功能對于節電至上的移動設備來說尤其重要。其次,PCI,E 2.0規范具有訪問控制功能,在點對點的數據傳輸中,軟件可以對互連的包路由進行控制,防止黑客通過欺騙、數據重新路由的手段來竊取數據。
PCI-E 2.O經過三年多的推廣,已經騰無聲息地取代了大部分顯卡和主板上的PCI-E 1.O接口。這時新升級的總線協議又即將來到我們面前,這就是今天單向單通道帶寬修煉至GB級的PCI-E 3.0總線標準。
新王者降臨——PCI-E 3.0草案公布
PCI-E 3.0標準相對于2.0最明顯的變化還是速度上的升級。下表就是PCI-E三代總線的原始傳輸率和數據帶寬。而PCI-E 3.0為了在相同物理結構下再次提高數據帶寬,對內部協議做了多方面優化和升級。
更新的編碼方式
前面提到PCI-E 1.0和2.0總線使用了8b/10b的編碼方式來避免串行傳輸錯誤——即在每個數據字節(8位)中再加入2位輔助位來提高直流傳輸特性,避免多周期相同數據傳輸可能帶來的接收同步錯誤(長時間全O或者全1)。因此數據帶寬實際上是原始傳輸率的4/5。按照這種規律,PCI-E 3.0要將原始傳輸率提高到10GT/s才能實現相對PCI-E 2.0帶寬翻倍的任務。但是經過實際實驗分析,PCI-SIG發現10GT/s的原始傳輸率對PCI-E芯片和電路板布線要求很高,而在相同硬件條件下只有8GT/s能夠穩定完成傳輸任務。
于是,PCI-E 3.0標準放棄了一直沿用的8b/10b編碼方式,采用加擾(serambling)的方式保證數據傳輸。加擾的技術原理是將可能產生恒定電平的01序列用足夠多的跳變替代,來滿足同步要求。由于加擾不需加入額外的輔助碼,這樣即使工作在8GT/sT的PCI-E3.0標準也能實現數據帶寬上的翻倍,達到8Gb/s。
更強的供電能力
除了總線帶寬,PCI—E接口輸出功率也成為近幾年我們關注的焦點之一,這完全歸咎于功耗飆升的GPU。隨著GPU集成度的快速提高,其集成度和功率已經遠遠超過了CPU。比如Athlon X25200+CPU的TDP在90W左右,尚不及Radeon HD4850顯卡滿載功率(大于200W)的一半。因此PCI-E高性能顯卡外接電源已成為常事,并且一路發展到極端的雙8pin供電。回頭來看看一路走來顯卡接口的供電能力,即使PCI-E 2.0也難以滿足未來500元~1000元這個主流價位區間顯卡的供電。
因此在PCI-E 3.0中,插槽供電能力被一舉提高到300W,再結合目前GPU界開始的節能減排風,PCI-E 3.0的300W供電能力估計能夠在一段時間內滿足大眾顯卡的要求。至于旗艦GPU和雙GPU顯卡,仍然需要使用外接供電。
外置顯卡走向實際
筆記本電腦的3D性能不甚理想,當PCI-E融入筆記本誕生ExpressCard后,期待在筆記本電腦上玩《Crysis》的發燒友們又重新燃起了希望。既然PCI-E x1的顯卡已經誕生,那么在ExpressCard上不是也能發展顯卡嗎?
沒錯,華碩和AMD都提出了自己的外置顯卡計劃和樣品。但是由于這些產品最高只能使用PCI-E x8(2.0)雙向4GB/s的帶寬,只能滿足中檔顯卡的要求。對于一些移動發燒友來說,為了買一臺支持外置顯卡的高性能筆記本而支付了不菲的價格,卻只能使用1000元左右的顯卡,顯然是不可接受的。好在當外置顯卡技術足夠成熟后,3.0的PCI-E x8將提供8GB/s的帶寬,為這種尷尬的情況帶來轉機。
擴展協議和優化電氣特性
除開速度和供電上的提升,PCI-E 3.O標準也將新增部分擴展功能協議。如最近AMD聯合HP就針對PCI-E 3.0提出了兩個擴展協議:
一個是多路復用協議,利用主板或者擴展卡上的模塊,實現PCI-E和其它7種不同傳輸協議之間的動態轉換。在該協議下,通過PCI-E接口,可以將CPU和GPU通過QPI總線(Intel CPU)或者HT總線(AMD CPU)連接起來,實現更快捷的數據共享。這對未來的CPU+GPU融合芯片是相當有利的。
另一個擴展被稱為輕信息。它允許協處理器及外圍設備在存儲系統的支持下,通過PCI-E接口相互通信,不再經過中央處理器。在此協議支持下,未來進行電腦間大數據量傳輸時就可以跳過CPU,直接在兩塊硬盤間進行數據交換。
同時,為了補償PCI-E通道中傳輸頻率提高帶來的數據采集和功耗問題,PCI-E還強化了誤碼情況下的數據再生能力,優化了動態電源控制,通過提高芯片和布線上的電氣性能改善保證高頻傳輸時的數據完整性。
迎接新的挑戰
鑒于PCI-E 3.0相對前任的諸多升級,必須對該標準進行足夠多的兼容性測試,因此其發布時間也一再跳票,產品要到2010年才可能發布。好在PCI-E 2.0總線標準在一段時間內還能夠應付目前的應用情況。從這里我們也看到,系統總線作為連接電腦各部件的橋梁,從來就是防患于未然,始終保持領先主流總線所需帶寬一代以上的優勢。當我們驚訝于千兆網傳輸的迅捷、高速固態硬盤那吞噬全部SATA2.0帶寬的高速時,不要忘記幕后的PCI-E總線的功勞。
有關PCI-E 3.0的疑問
PCI-E 3.O面市的時間表是怎么樣的?
答:首批PCI-E 3.0產品將會在2010年年中發布,但也有可能拖到2011年。
什么是PCI-E擴展協議,以及它們如何改進PCI-E互連性能?
答:PCI-E通訊擴展協議主要是用來改善互連延遲、功耗和平臺效率。這些擴展協議為更好地訪問平臺資源、利用各種計算和I/O密集型應用鋪平了道路。有多個協議擴展和增強功能正在開發中,它們的范圍包括數據的再利用、原子操作、動態功率調整機制、I/O頁面錯誤等,以及在前面提到的多路復用協議和輕信息擴展。這些協議擴展將應用在新興平臺,體現PCI-E總線的領先地位。
PCI-E 3.O的兼容性如何?
PCI-SIG組織最值得驕傲的就是良好的兼容性,PCI-E 3.0將仍然向下支持之前的標準,無論是在物理接口、時鐘架構或者軟件上。PCI-E 3.0會向下兼容現有的PCI-E 2.0,因此插槽和接口形式不會發生任何變化,區別只存在于電氣規范方面。PCI-E 2.0或1.x的產品插入PCI-E 3.0接口,將以產品的最高性能運行。PCI-E 3.0的產品也會支持8b/10b編碼,如果將PCI-E 3.0的產品插入之前版本的接口,就會以插槽所支持的最高數據傳輸率運行。