學術專區 關於NI NI活動訊息 NI Developer Zone 技術支援服務 使用者解決方案 產品與服務 連絡NI MyNI

技術白皮書:PCI Express標準概觀


聯絡我們:電話:02-2377-2222 傳真:(02) 2377-7676 Email: info.taiwan@ni.com

 免費量測系統建構諮詢服務
 
按這裡即可獲得即時回覆!!


    本文件仔細分析了廣為採用的 PCI 匯流排的成功,並說明了更高效能的新一代I/O互連技術- PCI Express 將可用以做為各種不同未來電腦運算平台的標準本機I/O匯流排。本文件也提供了關於 PC 匯流排演進、PCI Express 的實體及軟體層、PCI Express 的優點的技術概觀,以及這項刺激的新技術在測量和自動化系統上有何意義。

    目錄


    摘要




    本文件仔細分析了廣為採用的PCI匯流排的成功,並說明了更高效能的新一代I/O互連技術- PCI Express 將可用以做為各種不同未來電腦運算平台的標準本機I/O匯流排。本文件也提供了關於PC匯流排演進、PCI Express的實體及軟體層、PCI Express的優點的技術概觀,以及這項刺激的新技術在測量和自動化系統上所具有的意義。


    PC歷史




    PCI首次在1990年早期引進時,它對於當時在PC上過多可用的I/O匯流排,像是圖1所顯示的VESA本機匯流排、EISAISA和「微通道」,有了統一的影響。它是首次實作為晶片對晶片的互相連接,並可取代碎片式的ISA匯流排。在較早的年代中,33MHzPCI匯流排已經是搭配當時主流週邊設備需求的I/O頻寬的好搭檔了。但在今日,這已經完全改觀了。處理器和記憶體頻率經常在增加,處理器速度也以極高的速率在增加。在演進的期間內,PCI匯流排已經從33MHz增加至66MHz,而處理器速度則由33MHz增加至3GHz。新興的I/O技術,像是Gigabit乙太網路和IEEE 1394B,可以匯流排上的單一裝置,幾乎獨佔所有可用的PCI匯流排頻寬。


    圖1. PC匯流排的演進

    PCI匯流排歷史和概觀




    PCI匯流排較之前的匯流排實作方式有許多項的優點。其中最重要的就是處理器獨立性、緩衝的隔絕、匯流排控制和真正的隨插即用操作。緩衝隔絕可以同時在電子和時脈領域,實質地將CPU本機匯流排與PCI匯流排隔絕。這項功能為系統效能帶來了兩項主要的優點。第一項是在PCI匯流排和CPU匯流排執行同時流程的能力;而第二項是獨立於PCI匯流排速度和載入之外,增加CPU本機匯流排頻率。有了匯流排控制,PCI裝置可以透過仲裁程序及直接控制匯流排執行,獲得對於PCI匯流排的存取,而不需要等候主機CPU為裝置提供服務,並減少提供I/O執行服務時的整體延遲。隨插即用操作可以讓裝置自動偵測及設定妥當,消除使用者在處理以ISA為基礎的主機板時,最易受挫的為基本定址和中斷指令手動設定開關及跳線的需要。

    PCI挑戰




    雖然PCI獲得了極大的成功,但它現在面臨了一系列的挑戰,包括頻寬限制、主機接腳數限制、缺乏像是等時性資料傳輸的即時資料傳輸服務,以及缺乏下一代I/O需求,像是服務品質、電源管理及I/O視覺化等功能。

    從引進PCI開始,就進行數次關於PCI規格的修正,以便試著跟上不斷增加的I/O需求。「表格1」中將這些修正做一摘要。

    PCI匯流排
    頻寬(MHz)
    匯流排時脈
    頻率(MHz)
    頻寬(MB/s)
    市場
    32
    33
    132
    桌上型電腦/行動裝置
    32
    66
    264
    伺服器
    64
    33
    264
    伺服器
    64
    66
    512
    伺服器
    表格
    1. PCI頻寬和市場使用

    PCI匯流排的實用頻寬和它的變種因為通訊協定經常支出和匯流排拓蹼的關係,比理論上的頻寬較少。PCI的主要限制是可用的頻寬是由匯流排上的所有裝置共用的。

    隨著PCI時脈頻率在某些應用中已顯不足,PCI的變種,像是PCI-X和「進階圖形連接埠」(AGP),就藉由增加匯流排頻率來提供頻寬救濟。增加頻率的副作用,是匯流排可以路由的距離,以及匯流排收發器可以驅動的接頭數目同量減少,這就形成了將PCI匯流排分割為多重區塊的概念。這些區塊的每一個都需要從主機驅動矽晶,路由一個完整PCI-X匯流排到每一現用的插槽中。例如,64位元的PCI-X的每一區塊需要150支接腳。很明顯這在實作上成本頗高,且對於路由、主機板層數和晶片包裝接腳輸出都有所限制。這種額外的成本只有在非常重視頻寬的場合,像是在伺服器中時,是情有可原的。

    像是資料擷取、波型產生,以及包括串流音訊和視訊的多媒體應用程式等應用,需要有保證的頻寬和限定的延遲,否則使用者的使用經驗就會受到影響。原始PCI規格並無法解決這些問題,因為這些應用在開發規格書時還尚未普及。今日的等時性資料傳輸,像是高畫質未壓縮視訊及音訊,都顯示了I/O系統必須包括等時傳輸的需要。等時性傳輸的副作用,是本機PCI Express裝置比起傳統用來將變動頻寬問題降到最小的PCI裝置,需要做為緩衝目的的記憶體少上許多。

    最後,下一代的I/O需求,像是服務品質測量和電源管理,將可改善資料完整性,並允許選擇性地關閉系統裝置電源- 這是對於現代PC持續成長的電源需求量的重要考量。「虛擬通道」允許資料可以經由虛疑路徑加以路由;即使其他通道因為特出的執行而受到封鎖,也可以進行資料傳輸。

    雖然PCI匯流排在某些領域顯示出過時的跡象,但移轉至PCI Express還是一條長遠的路,PCI匯流排在未來的幾年中,還是會在I/O擴充上維持強力的競爭地位。在2004年及其後引進的現代PC,將會同時含有PCIPCI Express插槽,而且比例會隨著技術被採用,逐漸向PCI Express靠攏。

    PCI Express架構




    PCI Express架構是在各層中指定的,如圖2所示。維持了與PCI定址模式的相容性(載入儲存架構及平面位址空間),可以確保所有現存應用程式和驅動程式能夠不變地運作。PCI Express組態使用了在PCI隨插即用規格中所定義的標準機制。軟體層將會使用以封包為基礎、分割執行通訊協定,產生由執行層傳送至I/O裝置的讀取及寫入請求。連結層會對這些封包加入順序編號及CRC,以建立高度可靠的資料傳輸機制。基本實體層包含實作為一傳輸對和一接收對的雙重單通道。每一方向的初始2.5Gb/s速度,在每一方向提供了200MB/s的通訊通道,很接近典型PCI資料速率的四倍。




    2. PCI Express的層疊架構

    實體層

    基本PCI Express連結包含兩個如圖3所示的配有低電壓AC的差動訊號對(一傳輸對和一接收對)。實體連結訊號使用了一種反加強的架構,以降低記號間的干擾,因此改進了資料的完整性。資料時脈則是使用8b/10b編碼架構內嵌,以達成非常高的資料速率。初始的訊號頻率是2.5Gb/s/方向(1代訊號發送),而且這個數值預期可隨著矽晶技術的進步直線增加至10Gb/s/方向(銅線的實作最大訊號值)。實體層會在兩個PCI Express代理的連結層之間傳送封包。

    3. PCI Express實體連結圖表

    PCI Express連結的頻寬可以藉由增加訊號對,以形成多重路徑來線性擴展。實體層提供x1x2x4x8x12x16x32倍速的路徑寬度,並將位元資料予以分割。每一位元都可以8B/10B編碼,跨路徑地加以傳輸。這種資料的分解及重新組裝對其他層而言是透明的。在初始化階段,每一PCI Express連結都會依據路徑寬度流通,以及在連結兩端的兩個代理的操作頻率加以設定。並不會涉及任何韌體或作業系統軟體。PCI Express架構可經由速度升級及進階的編碼技術,提供了進一步的效能改進。未來的速度、編碼技術,或是媒體,都只會對實體層造成影響。

    資料連結層


    連結層的主要角色,是確保封包能跨越PCI Express連結達成可靠的傳送。連結層負責資料的完整性,並如圖4所示般對執行層封包加入一個順序編號和CRC。大部份的封包都會在執行層予以初始化。以信任為基礎、流程控制的通訊協定可確保封包僅在它知悉本封包另一端有可以接收的緩衝區時,才會予以傳送,這可以消除任何封包重試,以及因為資源限制的相關匯流排頻寬浪費。連結層會在一封包的訊號毀損時,自動重試。






    4. 資料連結層增加資料完整性功能。

    執行層


    執行層可從軟體層接收讀取及寫入的請求,並建立請求封包,以傳送至連結層。所有的請求都會以分割執行加以實作,而某些請求封包則需要回應封包。執行層也可以從連結層收到回應封包,並將它們與原始軟體請求配對。每一封包都擁有獨特的識別元,可以讓回應封包導向正確的原始產生者。封包格式提供了32位元的記憶體定址,以及擴充的64位元記憶體定址。封包也擁有像是「無調查」、「鬆散型排序」及「優先順序」等特性,以便透過I/O子系統,以最佳化方式用來路由這些封包。

    執行層提供了四種位址空間- 三種PCI位址空間(記憶體、I/O和組態)和「訊息空間」。PCI2.2引進了傳播系統中斷指令的另一種方法,稱為「訊息訊號中斷指令」(MSI)。它使用了一種特殊的記憶體寫入執行來取代硬性線路的側帶訊號,可在PCI2.2系統中做為選用的功能。PCI Express規格書重複使用了MSI概念做為中斷處理程序的主要方法,並使用「訊息空間」來接受所有先前的側帶訊號,像是中斷指令、電源管理請求以及重設,當做帶內訊息。其他在PCI2.2規格書中的「特殊流程」,像是「中斷指令知悉」,也是以帶內訊息加以實作的。您可以將PCI Express訊息視為「虛擬線路」,因為它們的效果是消除目前使用在平台實作的多種側帶訊號。



    軟體層

    軟體相容性是PCI Express最重要的特性。軟體相容性有兩種面相- 初始化(或列舉)及執行時間。PCI擁有健全的初始化模型,因此作業系統可以發現目前所有增加的硬體裝置,然後配置系統資源,像是記憶體、I/O空間和中斷指令,以建立最佳化的系統環境。PCI設定空間和I/O裝置的可程式設計能力,是在PCI Express架構中仍然維持不變的關鍵概念;事實上,所有作業系統都能夠不經修改,就可在以PCI Express為基礎的電腦上開機。由PCI所使用的執行時間軟體模型是一種載入儲存、共用記憶體的模型,在PCI Express架構中亦予以維持,以便讓所有現存的軟體可以維持不變地執行。新軟體也可以利用PCI Express某些更進階的功能,像是「進階交換」的優點,但這部份並不在本文件討論範圍之內。


    PC架構- 今日和未來




    PCIPC架構2002

    PC架構2002在每一種交互連結中,都含有許多偏離的需求。例如,圖形主機板是經由「進階圖形連接埠」(APG)形成介面,而記憶體橋接器則是經由多種介面,像是圖5中所描繪的Hublink,與I/O橋接器相連的。




    5. PCIPC架構2002


    PCI ExpressPC架構

    如圖6所示,PCI Express 使用通用匯流排架構來統一I/O系統。此外,PCI Express也替換了某些連結子系統的內部匯流排。



    6. PCI ExpressPC架構實作


    PCI Express包裝


    PCI Express可以依據應用平台- 筆記型電腦、桌上型電腦或伺服器,提供許多種不同的I/O擴充格式。需要較大頻寬以提供I/O需求服務的伺服器,將擁有更多的PCI Express插槽,這些插槽將可提供更高的PCI Express路徑數目。相反的,筆記型電腦可以在內部使用PCI Express架構,但僅顯露單一x1路徑供中速週邊設備使用。

    桌上型電腦PCI Express擴充插槽

    桌上型電腦和工作站電腦的PCI主機板的替代品,必須依據主機板邊緣接頭和及突出支架的I/O接頭,以及連接至主PWB的支撐支架,擁有與今日的PCI主機板非常相似的機械結構。主機板上的接頭擁有改善的定位功能,以確保主機板不會因為震動或在送貨時從接頭滑動。它依據PCI Express路徑寬度,提供了許多不同尺寸的主機板邊緣接頭,從x1到最高x16。它是為x16倍速所規劃,以取代主機板上的AGP插槽,方便圖形主機板擴充之用。圖7顯示三個PCI插槽內的主機板圖片- 兩個x1倍速和一個x16倍速供圖形主機板使用。請注意主機板仍擁有許多典型的PCI插槽,而典型PCI插槽應該還可以使用一段長時間。圖8顯示一張典型圖形主機板的照片,提供一條x16倍速連結,並可以3.2Gbytes/s速度來傳送資料。圖9顯示各種不同PCI Express接頭的機械繪圖。


    7. 主機板上的PCI Express擴充插槽


    8. 含x16倍速介面的圖形主機板



    x8

    x4

    x1

    9. 各種不同PCI Express接頭的機械式繪圖

    ExpressCard

    ExpressCard標準讓使用者可以非常簡單的方式,為他們的系統增加硬體或媒體。ExpressCard模組的主要市場是僅需有限擴充性的筆記型電腦和小型PCExpressCard模組幾乎可以在任何時間插入或移除,而不需要任何工具(不像傳統桌上型電腦的附加元件主機板)ExpressCard技術提供桌上型電腦和行動電腦使用者一種一致、簡易、可靠和不具威脅性的方法,將裝置與他們的系統相連。

    ExpressCard技術取代的傳統的平行匯流排,讓I/O裝置擁有兩種可調整、高速的序列介面- PCI ExpressUSB2.0ExpressCard開發人員可以使用PCI Express,為他們最高效能的應用建立模組,或使用USB來充分運用USB矽晶業目前已提供的各種不同裝置。不管模組廠商所選擇的匯流排技術是什麼,一般使用者經驗都會是相同的。對於一般使用者而言,模組使用何種底層匯流排,是無法從外部看出來的。

    一共有兩種ExpressCard模組標準- ExpressCard/34(34mm)ExpressCard/54(54mm)。兩種模組皆為5mm厚,與TypeII PC卡相同。標準模組長度是75mm,它比標準PC卡短了10.6mmExpressCard/34ExpressCard/54模組同時使用相同的接頭介面。

    ExpressCard模組的兩種尺寸給予系統製造商許多在之前的模組標準中所沒有的彈性。ExpressCard/34裝置比較適點較小的系統,而較寬ExpressCard/54模組可以容納無法實際放入較窄的ExpressCard/34格式的裝置。圖10顯示兩種ExpressCard模組尺寸,並將它們與PCMCIA CardBus模組相比對。較大的/54模組包括了SmartCard讀卡機、Compact Flash讀卡機和1.8吋的磁碟機。除了提供額外的元件空間之外,ExpressCard/54模組也會比較小的ExpressCard/34消耗更多的熱能。這項功能讓ExpressCard/54成為較高效能和第一代應用程式的自然選擇。然而,可以將其應用放置在較窄模組的模組製造商,將會擁有該特定模組能同時在兩種ExpressCard插槽尺寸運作的優勢。為了容易使用,ExpressCard/54插槽包括了一項可輕易將ExpressCard/34模組插入接頭插槽座所設計的引導功能。值得點出的是,這樣的尺寸,無論是將CardBus卡插入ExpressCard插槽,或是反向操作,都不會損壞零件。

    ExpressCard主機介面的每一插槽,在每一方向都必須包括一個以基準線2.5Gb/s資料率操作的單一PCI Express路徑(x1),正如同「PCI Express基本規格1.0a」所定義般。ExpressCard主機介面必須也能接受由「USB2.0規格書」所定義的低速、全速及高速的USB資料速率。同時提供兩種介面是成為ExpressCard相容主機平台的必要條件。ExpressCard模組可以依據應用需求,使用一或兩種標準介面。



    10. PCMCIA/CardBusExpressCard機械格式比較



    伺服器I/O模組

    伺服器需要I/O介面卡包裝,以解決像是密閉基箱介面卡移除/插入、整合式熱插拔、保護介面卡免於ESD和處理損壞、標準化的管理介面和功能、足夠的散熱、單一大量電源供應,以及降低伺服器I/O所佔空間等問題。伺服器I/O模組(SIOM)規格書為I/O介面卡定義了兩種PCI Express模組包裝,它們乃是設計用來提供密閉的基箱安裝及移除之用。它們也是為原生熱插拔設計,代表基箱在供電時,若是將模組或基箱從模組安裝或移除,都不會產生損壞。兩種格式的高度和深度皆相同,只有寬度和它們在基箱中所佔據的插槽空間不同而已。單寬模組可以適用在任何SIOM插槽中。雙寬模組需要兩個相鄰的SIOM插槽。

    單寬模組可以擁有最高至x8倍速的PCI Express連線;雙寬模組可以提供最高至x16倍速的連線。(雙寬插槽在PCI Express SIOM伺服器中是選擇性的)。最少量的管理介面、所有模組皆為標準,包含可提供關於介面卡到主機系統的管理資料的EEPROM。選擇性的內接儲存裝置介面可接受最多至四個1x倍速的SAS/SATA連接埠,以及一個用來控制磁碟機LED的側帶介面。

    SIOMSIOM基箱共用散熱的需求。必須有SIOM基箱,才能為每一由本規格書所定義的插槽提供最小量的空氣流通。需要SIOM以提供最小量及最大量的空氣流通抗性,以確保SIOM擁有預先設定的空氣流通,進行I/O散熱,且該I/O溫度負載不會加入基箱當中。

    PCI Express的優點




    對以PC為基礎的測量及自動化系統來說,PCI匯流排已經是多年來外掛擴充主機板的匯流排首選。它將會在未來持續扮演重要角色。而隨著PC的進步,PCI匯流排(和它的平行架構)將無法與平台的其他部份同步擴展。PCI Express解決了這些問題,並能在五種主要領域提供優勢:
    高效能 特別是指頻寬,它在x1連線中超過PCI的兩倍,並會隨著加入線路越多而直線成長。額外的好處並非立即可見的,因為這種頻寬可在每一連線的雙向同時提供。此外,初步的訊號發送速度2.5Gb/s還可望增加,能達成進一步的速度改善。
    I/O單純化 可同時將過多晶片對晶片及內部使用者可存取的匯流排,像是AGPPCI-XHublink變得更順暢。這項功能可降低設計和實作成本的複雜性。
    層疊的架構- PCI Express建立了一種可以適用於新技術、同時保有軟體投資的架構。兩種可以由層疊架構獲得好處的關鍵領域是實體層,可以擁有增加的訊號輸出率,以及軟體相容性。
    下一代I/O- PCI Express透過等時性的資料傳輸,提供了資料擷取和多媒體的新功能。等時性傳輸提供了一種可保證透過決策式的、不拘時間的方式,達成及時資料傳送的「服務品質」(QOS)類型。
    容易使用- PCI Express將會大幅簡化使用者新增及升級系統的工作。PCI Express同時提供熱切換及熱插拔。因為熱插拔功能必須仰賴特定的作業系統功能,它可能會使硬體啟動變得遲緩。此外,PCI Express裝置的各種不同格式,特別是SIOMExpressCard,可在伺服器和筆記型電腦中大幅增加加入高效能週邊設備的能力。

    所有這些功能都可以確保PC在基本的下一代測量及自動化系統中,演進為更加富吸引力的平台。



    名詞解釋




    8B/10B編碼- 一種以內嵌時脈為訊號進行編碼的架構。編碼有兩種用途。首先它可以確保資料串流中有足夠的轉換進行時脈還原,其次是01的數目相符,以便在搭配AC的系統中維持DC平衡。

    AGP 進階圖形連接埠- 它是一種使用不同接頭的較高速版本的PCI匯流排。它是開發用來適應桌上型電腦中,專用外掛圖形卡的頻寬需求的。

    CRC 循環冗餘核對 一種藉由為封包增加計算數值組,以偵測和校正資訊封包中位元錯誤的方法。數值是由原始資料封包所演算出來的。

    差動- 差動訊號使用兩條線路,將訊號由相位的180度方向攜出。主要的優點是降低造成雜訊的可能性。

    ExpressCard 一種同時包括PCI ExpressUSB2.0介面的小型I/O卡。

    ISA匯流排- 業界標準架構- 一種在1984年引進的PC匯流排標準,可以將XT匯流排架構擴充至16位元。它是設計用來將週邊設備卡與主機板相連的。它也可稱為AT匯流排。

    PICMG PCI工業電腦製造商團隊- 維護目前CompactPCIPCI/ISA規格的成員公司團隊。

    PCI 週邊元件交互連線- 一種由Intel原始設計的高速平行匯流排,用來將I/O週邊設備與CPU相連。

    PCIExpress 一種PCI的演進版本,能維持PCI軟體使用模式,並以高速(2.5Gb/s)序列匯流排做為多重路徑,取代實體匯流排。

    SIOM 伺服器I/O模組- 是一種I/O專為伺服器及工作站應用所設計的模組,使用PCI Express進行溝通。

    USB2.0 USB2.0是一種外部差動點對點序列匯流排,能提供最高至480Mb/s的資料速率。USB2.0是一種USB1.1的延伸格式,可以使用相同的纜線和接頭