高速串行總線(xiàn)技術(shù)發(fā)展與應用分析
流量控制
流量控制貫穿互連規范的物理、傳輸和邏輯層。流量控制功能非常重要,可確保系統在各種條件下都能正確和魯棒性地操作,這些條件包括部分故障和過(guò)載。流量控制機制允許盡可能高效和完整地使用可用帶寬。為了盡量減少由于超配高頻串行鏈路而浪費的帶寬和功率,流量控制策略正變得越來(lái)越重要。
目前還不可能討論統一的以太網(wǎng)流量控制策略,因為許多不相干的以太網(wǎng)消息處理標準都有特殊協(xié)議流量控制策略來(lái)避免丟包。一般來(lái)說(shuō),這些標準的流量控制策略基于的是檢測到丟包時(shí)降低傳送速率。流量控制策略一般用軟件實(shí)現,并且要求很強的緩存能力來(lái)實(shí)現重傳。
PCIe流量控制僅限于物理層。PCIe流量控制機制基礎是跟蹤數據包頭和數據塊的信用,并且對投遞、非投遞和完整事務(wù)的跟蹤是分開(kāi)的。
RapidIO 規定了物理層和邏輯層的流量控制機制。物理層流量控制機制設計用于處理幾個(gè)毫秒周期的擁塞。在物理層,RapidIO提供PCIe風(fēng)格的流量控制,并輔之以簡(jiǎn)單的重傳機制。簡(jiǎn)單的重傳機制能很高效地實(shí)現,與PCIe風(fēng)格的流量控制相比性能損失最少。RapidIO物理層流量控制還包括基于虛擬輸出隊列的反壓機制。這種在RapidIO 2.0中引入的機制允許交換機和端點(diǎn)了解哪些目的地是擁塞的,并將業(yè)務(wù)發(fā)送到未擁塞的目的地。這種特性可以實(shí)現分布式?jīng)Q策制定,確??捎玫木W(wǎng)絡(luò )帶寬得到最大化的利用。決策制定的時(shí)延很低,因為擁塞信息使用控制符進(jìn)行交換,而這些控制符如前所述可以被嵌入RapidIO包。
虛擬的輸出隊列反壓機制如圖4所示。
圖4:RapidIO虛擬輸出隊列反壓機制。
在圖的上面部分,數據源發(fā)送數據的速率比端點(diǎn)(EP)1接收數據包的速率快得多,這將導致一個(gè)擁塞狀態(tài)控制符由EP1發(fā)送到交換機2,它級聯(lián)在消息后面返回給源端。當交換機2在與EP1連接的端口上檢測到擁塞時(shí),交換機2也能產(chǎn)生擁塞狀態(tài)控制符。一旦源接收到擁塞狀態(tài)控制符,它就開(kāi)始將數據包發(fā)送給EP2,并降低到達EP1的數據包發(fā)送速率。
RapidIO的邏輯層流量控制機制設計用于避免網(wǎng)絡(luò )中的擁塞,方法是計量發(fā)到網(wǎng)絡(luò )的確認數據包數量,從而在網(wǎng)絡(luò )級管理?yè)砣?。這種方法與基于以太網(wǎng)的軟件協(xié)議非常相似。針對特殊流程的數據包接納可以通過(guò)XON/XOFF類(lèi)協(xié)議,以及基于速率和信用的流量控制進(jìn)行管理。也許最重要的是,這些流量控制機制也能用于應用層來(lái)提高軟件應用性能。最好的一點(diǎn)是,這些流量控制機制可用硬件實(shí)現,從而釋放寶貴的CPU資源,為用戶(hù)提供更高的價(jià)值。RapidIO流量控制機制可以確?;赗apidIO的系統能以高效、可預測的方式使用可用帶寬。
本文小結
以太網(wǎng)、PCIe和RapidIO都是基于相似的SerDes技術(shù),因此SerDes技術(shù)不再是這些技術(shù)的差異點(diǎn),而是它們使用可用帶寬的方式。每種技術(shù)都有最適合的專(zhuān)門(mén)應用領(lǐng)域。
以太網(wǎng)最適合地理上分散的、具有長(cháng)時(shí)延并且??絡(luò )配置的網(wǎng)絡(luò )。PCIe則能對單板上的分層總線(xiàn)結構提供最理想的支持。這兩種技術(shù)都可用于板上、板間和設備間通信,而且在許多應用場(chǎng)合被同時(shí)用于同一系統。RapidIO能將這兩種互連的優(yōu)勢結合到單個(gè)互連中,并可顯著(zhù)節省功率和成本。
RapidIO 是嵌入式系統的最佳互連選擇。RapidIO具有與PCIe和以太網(wǎng)相似的功能,并具有其它互連技術(shù)無(wú)法復制的功能,如:低時(shí)延、低抖動(dòng)的系統事件分發(fā);組合式鏈路層和網(wǎng)絡(luò )層流量控制機制;可配置的誤碼檢測和模糊拓撲路由可實(shí)現高效的備份、高可靠性和可用性;讀/寫(xiě)和進(jìn)程間通信消息語(yǔ)義的硬件實(shí)現。這些功能允許系統架構師創(chuàng )建性能更高、功耗更低并且更容易擴展的系統。
評論