PCIe匯流排初識

2021-07-04 17:33:35 字數 3482 閱讀 5762

pcie匯流排

一、pcie匯流排與pci匯流排的區別

pcie匯流排與pci最大的區別在工作原理上,pcie是採用點到點的序列方式進行傳輸的,被稱為「序列pci」,由於採用了序列方式傳輸使得其工作頻率可以達到2.5ghz,大大增加了傳輸速率,同時採用全雙工的通訊方式,使得其傳輸速度提高了一倍,每乙個pcie匯流排裝置與外部通訊時有四根資料匯流排,分別有兩個rx和tx,兩根用於傳送,兩根由於接收。

二、pci匯流排的優點

1、雙通道,高頻寬,傳輸速度快

首先採用全雙工的工作模式,在同一時刻既可以進行資料傳送,也可以進行資料接收。兩個通道,每個通道單方向的傳輸速率至少達到2.5gbps。

2、靈活性號

可以直接延伸到系統外部,通過專用介面與外部裝置相連線。

3、低電源消耗,含有電源管理系統

pcie採用了比較少的物理結構,與外部相連的只有四根引腳。

4、支援裝置的熱插拔和熱交換

pcie介面的插槽上含有熱插拔感應訊號。

5、支援同步資料傳輸

6、具有資料報和層協議架構,

它採用類似於網路通訊中的osi分層模式,各層使用專門的協議架構。

7、具有錯誤處理和先進的錯誤報告功能

pci express匯流排採用分層架構,具有軟體層,軟體層的主要功能就是進行錯誤處理和提供錯誤報告。

8、在軟體層保持與pci相容

相容性比較好,能夠相容pci架構的裝置。

三、pcie匯流排的匯流排架構

pcie匯流排的基本結構包括根元件(root complex)、交換器(switch)和各種終端裝置(endpoint)。根元件可以整合在北橋晶元中,用於處理器和記憶體子系統與i/o裝置之間的連線,而交換器的功能通常是以軟體形式提供的,它包括兩個或更多的邏輯pci到pci的連線橋(pci-pci bridge),以保持與現有pci相容。下圖即為pcie匯流排的拓撲結構圖。目前,幾乎除了與記憶體的連線之外,其他的連線都是使用pcie匯流排的。

圖1 pcie匯流排的拓撲結構圖

四、pcie匯流排的分層結構

為了便於跨平台使用,pcie匯流排體系結構採用分層設計。pcie體系結構如圖2所示。它共分為四層,從下到上分別為:物理層(physical layer)、資料鏈路層(link layer)、處理層(transaction layer)和軟體層(software layer)。圖中並木有顯示出軟體層。

圖2 pcie匯流排的分層結構圖

1、物理層

物理層是最底層,它負責介面或者裝置之間的連線。物理層決定了pcie匯流排介面的物理特性,如點對點序列連線、微差分訊號驅動、熱撥插、可配置頻寬等,決定了其四根線全雙工的序列資料傳輸方式。

在物理層的另一處重要方面就是中斷。pcie匯流排支援兩個型別的中斷,現行的pci intx (x= a, b, c, or d) 中斷(即pci匯流排的中斷)被保留下來了,仍可在pcie匯流排中應用。還有乙個新的中斷型別,那就是msi (message signaled interrupt,資訊訊號中斷),intx中斷方式可以用訊號方式中斷主機晶元請求,它可以與現行的pci匯流排的驅動程式和作業系統相容。pcie裝置必須支援intx和msi兩種中斷模式,原有裝置將壓縮intx中斷資訊在pcie處理資訊中。msi中斷是通過記憶體寫處理操作邊沿觸發和傳送的。重新編寫驅動程式對於msi邊沿觸發中斷是非常有利的,msi方案在使用資料報協議通過序列連線中是一種行之有效的本地中斷方式。msi在多處理器系統中任何裝置都可以傳送中斷,比起主機直接傳送中斷更加有效,所以現在許多多處理器系統和i/o架構都對msi中斷技術提供支援。

2、資料鏈路層

資料鏈路層的主要職責就是確保資料報可靠、正確的傳輸。確保資料報的完整性,並在資料報中新增序列號和傳送冗餘校驗碼到處理層。大多數資料報是由處理層發起的,基於信任的原則,資料流控制協議確保資料報只在終端快取空閒時進行傳輸。排隊了所有資料的重試,使得通道頻寬浪費現象得到有效地約束。但資料鏈路層在訊號中斷時自動重新傳輸資料報。

3、處理層

處理層的作用主要是接受從軟體層送來的讀、寫請求,並且建立乙個請求包傳輸到資料鏈路層。所有請求都是分離執行的。處理層同時接受從鏈路層傳來的響應包,並與原始的軟體請求關聯。處理層還整合或者拆分處理級資料報來傳送請求,如資料讀、寫請求,並且操縱鏈結配置和訊號控制。以確保端到端連線通訊正確,沒有無效資料通過整個組織(包括源裝置和目標裝置,甚至包括可能通過的多個橋接器和交換器)。處理層包括4個位址空間,其中3個是pci介面原有的,如記憶體、i/o和配置位址空間,加上乙個pcie新增的「資訊空間」。

4、軟體層

軟體層是保持與pci匯流排相容的關鍵。其目的在於使系統在使用pcie啟動時,像在pci下的初始化和執行那樣,無論是在系統中發現的硬體裝置,還是在系統中的資源,如記憶體、i/o空間和中斷等,它可以建立非常優化的系統環境,而不需要進行任何改動。在pcie體系結構中保持這些配置空間和i/o裝置連線的規範穩定是非常關鍵的。事實上,在pcie平台中,所有作業系統在引導時都不需要進行任何編輯,也就是說在軟體方面完全可以實現從pci匯流排平穩過渡。   

在軟體響應時間模式方面,pcie體系結構支援pci的本地儲存、共享記憶體模式,這樣所有pci軟體在pcie體系中執行都不需任何改變。當然新的軟體可能包括新的特性。

五、pcie匯流排的配置機制

與pci區域性匯流排標準允許的256位元組配置空間相比,pcie規範將配置空間擴充套件到4096位元組。pcie配置空間分為 1個pci3.0相容區域(前256位元組)和剩餘的pcie配置空間。pci3.0相容配置空間既可以被pci區域性匯流排標準定義的機制訪問,也可以被pcie增強配置訪問機制(ecam)訪問。兩者是等同的。而pcie擴充套件的配置空間只能夠通過ecam機制訪問。pcie相容pci匯流排的配置機制,在pci匯流排的配置空間中占用4m空間位址,不同的是pci匯流排裝置在超過的256k後的空間使用0來代替,這樣使得可以使用pcie的訪問機制繼續訪問。

pcie 增強的配置訪問機制(ecam)使用乙個平坦記憶體對映的位址空間來訪問裝置配置暫存器。在這種情況下,配置暫存器的訪問、記憶體資料重新整理、返回暫存器的內容等操作都是在記憶體中完成的。對映空間的大小和基址由host橋和韌體決定。由硬體在「應用規範」行為中向作業系統匯報。

圖3 記憶體位址訪問

如上圖所示。匯流排範圍的大小由host橋對映到bus number field在配置位址空間中的二進位制位數決定的,即系統映**幾個記憶體位址到

bus number field

中,這個對映的個數就是n值,

n取值1~8。乙個映**n個記憶體位址位的host橋支援0~2n-1個匯流排,除此之外,範圍的基址要和2(n+20

)位元組記憶體位址空間邊界對齊。任何在bus number field中沒有對映到記憶體位址的位必須被清零。

pcie匯流排與cpci匯流排 PCIE 學習筆記

最近看到了pcie知識點,這裡做了一些總結跟大家分享一下。pcie的由來 上世紀90年代,intel 提出了pci 的概念,並聯合ibm等其他公司成立的pci sig pci special interest group 以制定相應的規範。從pci到pci x,再pcie 1.0,pcie 2.0,...

pcie匯流排與cpci匯流排 PCIE技術概述

ssd的協議標準除了sata,還有乙個更先進的協議標準,就是pcie。pcie匯流排使用了高速差分匯流排,並採用了端到端的連線方式。兩個裝置之間的的傳輸通道,稱為link,由1,2,4,8,16,32個lane組成。lane的數目代表link的傳輸寬度 x1,x2,x4,x8,x16,x32 lan...

PCIE匯流排筆記

pcie匯流排是繼承pci匯流排而來 1 pci匯流排與pci裝置間有host主橋進行隔離,host主橋有很多暫存器,快取資料,從而實現匯流排與裝置間的工作頻率可不同。當處理器要訪問pci裝置時,需要通過host主橋進行位址轉換,把處理器位址轉換成pci匯流排位址,然後才能訪問pci裝置 同理,pc...