劉軍偉(中航工業西安航空計算技術研究所,西安,710065)
?
多種高速串行總線的對比研究與分析
劉軍偉
(中航工業西安航空計算技術研究所,西安,710065)
摘要:針對新一代非嵌入式系統及嵌入式系統對數據通信傳輸能力需求的進一步提高,高速串行總線技術應時而生,高速串行總線中應用最為廣泛的三種為以太網總線、PCIe總線及RapidIO總線。對比分析以太網、PCIe及RapidIO的特點及原理,通過對比其區別為硬件設計時選用合適的高速串行總線提供一定的幫助。
關鍵詞:以太網;PCIe;RapidIO
隨著計算機技術的發展,當前及下一代計算機系統對通信帶寬的需求也越來越高。其中如何能提高數據傳輸速度及傳輸效率是系統必須解決的問題。嵌入式系統處理器的頻率不斷提高,高處理性能的處理器與低數據傳輸速度間的矛盾日益突出,于是高速的串行總線應時而生,其中最常使用的是PCIe及RapidIO總線。非嵌入式系統間的互聯則通常選用以太網。
以太網、PCIe及RapidIO三種高速串行總線都是基于相似的SerDes串行解碼技術,具有一定的相似性,三者無論從數據傳輸速率、帶寬或者時延性各方面指標均優于并行總線,然而三者在物理層、傳輸層及邏輯層等方面也存在差異。了解清楚三者的相似性及差異性,有助于硬件設計時選用合適的高速串行總線,最優化地完成硬件模塊相應功能設計。
以太網是由Xerox公司創建并與Intel、DEC聯合開發的基帶局域網規范,是一種基于總線型拓撲結構,使用分布式仲裁機制解決數據沖突的總線,其采用載波監聽多路訪問及沖突檢測技術(即CSMA/CD技術)。以太網上的設備任何時候都可以發送信息,但發送前需檢測網絡是否空閑,即“監聽”,假設某時刻有多個設備發生沖突,則檢測到沖突,欲發送數據的設備就需等待一段時間,即“回退”,回退時間隨機產生,回退時間過后再次試圖發送,這就是以太網中提到的載波監聽多路訪問及沖突檢測技術(即CSMA/CD技術)。以太網按照傳輸速度可分為標準以太網(傳輸速度10Mbps)、快速以太網(傳輸速度100Mbps)及千兆以太網(傳輸速度1000Mbps)。三種以太網中,千兆以太網以其高的傳輸速度特點,通常與PCIe總線及RapidIO總線進行比較。
PCIe全稱Peripheral Component Interface Express,是由Intel公司在PCI并行總線的基礎上于2001年提出的用來取代PCI總線的下一代高速串行總線接口標準,也可稱為3GIO。PCI總線是一種33MHz@32bit或者66MHz@64bit的并行總線,帶寬為133MB/s至533MB/s,連接在其總線上的設備共享帶寬,然而隨著計算機通信技術的進一步發展,新一代的高速接口總線大量涌現,例如千兆以太網、光纖通道(FC)技術等使得PCI總線的帶寬已經無力應付系統內部大量的高帶寬并行讀寫要求,PCI總線也成為系統性能提升的瓶頸,于是就出現了PCIe總線。PCIe是一種高性能、高靈活性、高可擴展性、穩定可靠的低成本通用I/O 架構,它融合多個市場領域的所有應用要求,以無縫的方式彌補了現有PCI 總線的不足并進行市場過渡,使設計人員能夠逐步采用新的拓撲技術。PCIe總線是基于對芯片間的互聯的需求及以較低的開銷升級現有的PCI結構的性能需求的基礎上開發出來的。PCIe總線接口根據對應位寬的要求可分為1X、2X、4X、8X及16X,相應接口均向下兼容。同時PCIe總線具有點對點串行互聯,雙通道、高帶寬、傳輸速度快,以及支持設備熱插拔及熱交換等優點。
RapidIO是由Motorola和Mercury等公司研發的一種高性能、低引腳數、基于數據包交換的開放式的互聯技術標準。目前主要采用的標準為RapidIO 1.x及RapidIO 2.x,其中RapidIO 1.x標準支持信號傳輸速率為1.25Gbps、2.5 Gbps、3.125 Gbps,RapidIO 2.x標準兼容RapidIO 1.x標準,同時支持5GHz及6.25GHz的傳輸速率。目前嵌入式系統主要使用的是RapidIO 1.x標準。RapidIO總線具有高帶寬、低延時同時對于軟件透明等優點,同時RapidIO總線具有比以太網、PCIe總線更高的傳輸效率,能廣泛滿足嵌入式系統的應用的需求。
2.1基本性能比較
千兆以太網、PCIe及RapidIO均為高速串行總線,三種總線的基本性能如下表表1所示。
通過比較可以看出,千兆以太網、PCIe及RapidIO三種高速串行總線有很多相似的特點,譬如具有高的傳輸速率,具備較長的傳輸距離等等。然而同時它們也有其各自特有的特點,譬如有無前端CRC、最大有效載荷等等。了解清楚三者的相似性及差異性,有助于硬件設計時選用合適的高速串行總線,最優化地完成硬件模塊相應功能設計。

表1 基本性能對照表
2.2物理層區別
在物理層,三者在流量控制及誤碼恢復機制方面有著很大的區別。以太網流量控制主要是在網絡層用軟件實現的,其物理層的流量控制機制是PAUSE,同時其采用棄包的方式處理擁塞。PCIe和RapidIO的物理層流量控制機制可確保數據包發送的可靠性,其中每個數據包都會被保留直到被確認,如果檢測到誤碼,鏈路維護協議迫使重傳。PCIe采用數據鏈路層數據包即DLLP來進行發送,而RapidIO則使用嵌入式控制符進行數據的發送,其原理與數據鏈路層數據包(DLLP)不同,RapidIO控制符可以被嵌入在數據包中,可以實現低時間延遲的流量控制信息交換,同時允許在一定時間內發送更多的數據包。以下圖1及圖2直觀地反映了這一概念。圖1中當節點B的緩沖區數據滿時節點A不能向節點B發送任何數據包,節點B可以向節點A發送數據包,當節點B的緩沖區空閑出來時,節點B需向節點A告知。圖2中DLLP在當前數據包的傳送完成之前是無法傳送數據,而RapidIO的控制符被嵌入在正在發送的數據包中。將控制符嵌入在正在發送的數據包中的特性使RapidIO具有PCIe和以太網目前無法提供的能力。RapidIO能以更低延遲和更高的吞吐量完成可靠的數據包傳送。

圖1 示意圖
發送的數據包中的特性使RapidIO具有PCIe和以太網目前無法提供的能力。

圖2 DLLP與嵌入式控制符示意圖
2.3傳輸層區別
RapidIO和以太網均支持多種拓撲結構,在任何端點組都可以用任何拓撲結構進行連接,包括環形、樹形及網狀等多種拓撲結構。其所發送的數據包根據其網絡地址完成具體路由過程。其中以太網的IP地址是其網絡地址,RapidIO的destID是其網絡地址。系統擴展在RapidIO和以太網中不受任何約束。然而,PCIe則與之不同,PCIe在支持單個根聯合體的樹狀結構(即Root Complex結構),其擴展則依靠PCIe橋片來實現,一個PCIe層可以訪問另一個PCIe層。以太網、PCIe及RapidIO在誤碼檢測、提醒及恢復機制等方面具有相似的功能同時具有各自的特點。以太網與PCIe、RapidIO相比,誤碼檢測機制相對較慢,其時延要大很多。PCIe與RapidIO相比較,雖然都可以保證數據包的發送,但在誤碼條件下均會棄包來防止鏈路堵塞,PCIe的誤碼條件機制不可配置,當鏈路需要在詢鏈時數據包通常會被丟棄。相反RapidIO的誤碼管理有很大的靈活性,允許對誤碼作出重新詢鏈的響應,當誤碼發生時系統立即開始棄包或者保留包并允許堵塞的發生。
2.4邏輯層區別
以太網、PCIe及RapidIO在邏輯層方面存在著較大的差異。其中在所支持的語義方面的差異尤為明顯。PCIe數據包支持基于地址的讀寫語義,發起讀或者寫的實體必須知道系統的全局存儲器映射圖中的目的地址。PCIe同時也支持通過消息TLP的消息傳送,不過消息TLP只支持有限數量的功能,例如中斷和復位信號,這點與以太網及RapidIO消息包有很大的不同,以太網和RapidIO可用于進程間通信。以太網協議只支持消息語義,在發送消息時發送者只需要知道接收地址。尋址機制一般是分層的,因此沒有哪個節點必須知道所有的地址,地址可能會改變。RapidIO同時支持讀/寫及消息語義,除了明顯的架構優勢和系統靈活性外,對讀/寫和消息處理的支持允許單路互連。在邏輯層方面RapidIO要比PCIe及以太網更簡單。在讀寫語義的效率方面,RapidIO和PCIe的效率明顯高于以太網的遠程直接存儲器訪問(RDMA),RDMA協議建立在其它以太網協議上,比如TCP,其中每個數據包都需要大量的包頭開銷。與RapidIO讀/寫事務處理相比,RDMA在時延和帶寬方面消耗大。
以太網、PCIe和RapidIO都是基于相似的Serdes技術,它們在使用可用帶寬方式及適用的專門領域上存在著差些。以太網適合地理上分散的具有長延時并且動態網絡配置的網絡系統。PCIe則能對單板上的分層總線結構提供最理想的支持,PCIe為外圍設備到主機DMA的連通性提供高性能的的內部互聯,這兩種技術都可用于板上、板間和設備間的通信,而且在很多時候被用于同一系統。RapidIO是一種高性能的交叉開關內部互聯技術,具有與PCIe和以太網相似的功能,并且具有其他互聯技術無法達到的優點,能將這兩種互聯的優勢結合到單個互聯中,并可顯著節省資源。RapidIO可以彌補以太網及PCIe總線的不足,RapidIO適用于高實時性、高可靠性的嵌入式系統設計中,PCIe由于其數據傳輸速率高、系統拓撲簡單、技術門檻低及設計成本低等特點,則更適用一些對成本控制嚴格,對實時性、可靠性要求較低的嵌入式系統中。
參考文獻
[1] 廖寅龍.田澤.FC網絡通信中PCIe的接口的設計與實現[J],航空計算技術2010.
[2] 孟會.劉雪峰.PCI Express 總線技術分析[J],計算機工程,2006.
[3] 翟彥彬.蔣志焱.張保寧.大規模RapidIO協議交換的FPGA實現[J],現代雷達,2011.
劉軍偉,中航工業西安航空計算技術研究所,工程師。
Comparative Study and Analysis of Multiple High Speed Serial Bus
Liu Junwei
(AVIC Computing Technique Research Institute;Xi’an;710065)
Abstract:For a new generation of non-embedded system and embedded system of Data transmission capacity needs to further improve,the high speed serial bus should be timely,high speed serial bus used most widely three is Ethernet bus,PCIe bus and RapidIO bus.Comparative analysis of principles and characteristics of Ethernet bus,PCIe bus and RapidIO bus,through the comparison of the difference,the hardware design for the selected appropriate high speed serial bus to provide some help.
Keywords:Ethernet;PCIe;RapidIO
作者簡介