新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 高速串行總線技術發展與應用分析

        高速串行總線技術發展與應用分析

        作者: 時間:2010-02-24 來源:網絡 收藏


        PCIe數據包支持基于地址的讀寫語義。在PCIe系統中,發起讀或寫的實體必須知道系統的全局存儲器映射圖中的目標地址,這對控制平面而言是很自然的一種方法。然而,這種對全局地址映射圖的依賴性也會導致難以的緊耦合軟件系統。

        本文引用地址:http://www.104case.com/article/157630.htm

        PCIe協議也支持通過消息TLP的消息傳送。不過消息TLP只支持有限數量的功能,如中斷和復位信號。這點與以太網和消息包有很大的不同,后者可用于進程間通信。

        與PCIe 不同,建立在以太網物理層之上的軟件協議只支持消息語義。在發送消息時,發送者只需知道接收地址。尋址機制一般是分層的,因此沒有哪個節點必須知道所有的地址。地址可能會隨系統而改變,支持軟件單元實現相互間的松散耦合。這些屬性對數據平面來說是必要的。

        同時支持讀/寫和消息語義。除了明顯的架構優勢和系統靈活性外,對讀/寫和消息處理的支持允許單路互連同時用于控制和數據平面。系統因此要比必須結合PCIe和以太網的系統來得更簡單,從而具有降低功耗和成本的優勢。

        PCIe不可能在其數據包定義中合并進程間通信消息語義,因為與傳統PCI和PCI-X的操作相沖突。PCIe是圍繞根聯合體概念設計的,這個聯合體只包含系統中的處理器。在這個范例中,沒有消息處理是在PCIe到其它軟件實體上完成的,因此消息語義沒有價值。

        人們對以太網通過遠程直接存儲器訪問(RDMA)協議支持讀寫語義尚存爭議,該協議支持設備間進行直接存儲器拷貝。然而,RapidIO(和PCIe)讀寫語義的效率要比RDMA高得多。RDMA協議建立在其它以太網協議之上,如TCP,并且每個數據包都需要大量的包頭開銷。與RapidIO讀/寫事務處理相比,RDMA實現在時延和帶寬方面付出的代價都要大得多。雖然一些RDMA能幫助卸載已有引擎的負擔,但很難想象將RDMA用于控制平面功能,例如對寄存器進行編程。

        消息語義的一種可能是其它協議的封裝。RapidIO擁有封裝各種協議的標準。這種封裝能力給系統設計人員提供了許多優勢,包括未來將要證明的RapidIO背板。任何未來、傳統或專有協議都可以用標準的RapidIO組件進行封裝和傳送。例如,用于以太網封裝的現有 RapidIO規范就允許設計人員在基于RapidIO的系統中使用基于以太網的軟件。

        以太網也支持封裝,并且有多種封裝標準可以選擇。RapidIO的封裝效率要比以太網高,因為以太網協議層需要更多的頭部開銷。

        曾經有個組織試圖對在PCIe類結構上的各種協議封裝進行標準化。但幾年前這個組織宣告失敗,因為過程太過復雜。由于與傳統相關的要求,很難將PCIe擴展成適合嵌入式系統的結構。

        可靠性和可用性

        大多數系統對可靠性和/或可用性都有要求。有可靠性和/可用性要求的系統需要誤碼檢測、誤碼提醒、故障元件與隔離以及恢復機制。從高層看,PCIe、RapidIO和以太網在所有這些方面都要相似的功能。不過在備份策略以及快速隔離系統使之免受故障元件影響的功能方面有很大差別。

        起初,互聯網使用網絡層的軟件協議,在可能會經歷嚴重損傷的網絡上提供可靠的通信。因此以太網的原始誤碼管理功能主要用于檢測、隔離和避免網絡中的新漏洞,而不是用于單個系統的魯棒性。系統可靠性通過網絡元件的復制來實現。后來的性能增強則增加了標準化的誤碼捕捉和誤碼提醒機制來簡化網絡管理。

        RapidIO具有與以太網類似的備份、誤碼捕捉和誤碼提醒功能。PCIe支持有限的備份策略,因為它的傳輸層僅限于樹狀結構。上文提及的PCIe非透明橋接(NTB)允許兩個或多個樹狀結構進行通信,足以實現1+1備份(也稱為1:1備份)。NTB很難拓展到采用N+M備份機制的系統。理論上多根I/O虛擬化(MRIOV)可以用來在PCIe系統中支持N+M備份,其中N+M的總數量不超過8。然而,由于MRIOV系統中的子樹無法相互通信,從故障恢復可能要求系統中斷運行,目的是重新配置系統,以便隔離故障元件,并采用新的元件。

        與PCIe和RapidIO相比,以太網的誤碼檢測機制通常比較慢,因為以太網是針對全球范圍內分布的網絡設計的。PCIe和RapidIO都有誤碼檢測和提醒機制,其時延要比以太網小得多。

        雖然PCIe和RapidIO都保證數據包的發送,但在誤碼條件下它們會棄包,以防止故障元件造成致命擁塞。然而,PCIe誤碼條件機制是不可配置的。當鏈路必須再學習時數據包通常會被丟棄。另外,PCIe隔離機制只在幾個毫秒后就被激活。這些并不是所有系統都理想的行為。

        相反, RapidIO標準允許對誤碼作出特殊系統響應,如鏈路再學習。當誤碼發生時,系統會立即開始棄包,或者它會保留包,并允許擁塞發生。RapidIO使用 '漏桶'式誤碼計數方法,并有兩個可配置門限。DEGRADED門限能盡早提醒系統管理軟件鏈路上正在發生誤碼。FAILED門限用于觸發丟包以實現用戶定義的誤碼率。RapidIO誤碼管理的靈活性反映了嵌入式系統設計人員的不斷變化需求。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 安塞县| 锡林浩特市| 金川县| 沽源县| 平乐县| 凤翔县| 福海县| 迭部县| 威远县| 镇巴县| 耒阳市| 林口县| 顺平县| 乐山市| 即墨市| 定日县| 宁陵县| 西畴县| 通化市| 松溪县| 广元市| 河津市| 句容市| 襄城县| 永春县| 泾川县| 淮滨县| 富源县| 保定市| 江阴市| 长兴县| 苍梧县| 万宁市| 惠来县| 醴陵市| 宜兴市| 甘孜| 商丘市| 阿巴嘎旗| 谢通门县| 天门市|