《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 高速串行總線技術(shù)發(fā)展與應(yīng)用分析
高速串行總線技術(shù)發(fā)展與應(yīng)用分析
摘要: 雖然在嵌入式系統(tǒng)中有許多連接元件的方法,但最主要的還是以太網(wǎng)、PCI Express和RapidIO這三種高速串行標(biāo)準(zhǔn)。所有這三種標(biāo)準(zhǔn)都使用相似的串行解串器(SerDes)技術(shù),它們提供的吞吐量和時(shí)延性能都要超過(guò)寬的并行總線技術(shù)。隨著這些標(biāo)準(zhǔn)的不斷發(fā)展,今后的趨勢(shì)將是采用通用SerDes技術(shù)。這意味著這些協(xié)議提供的原始帶寬不會(huì)有明顯的差異。相反,每種協(xié)議的用途將取決于如何使用帶寬。
關(guān)鍵詞: 高速 串行 總線
Abstract:
Key words :

雖然在嵌入式系統(tǒng)中有許多連接元件的方法,但最主要的還是以太網(wǎng)、PCI Express和RapidIO這三種高速串行標(biāo)準(zhǔn)。所有這三種標(biāo)準(zhǔn)都使用相似的串行解串器(SerDes)技術(shù),它們提供的吞吐量和時(shí)延性能都要超過(guò)寬的并行總線技術(shù)。隨著這些標(biāo)準(zhǔn)的不斷發(fā)展,今后的趨勢(shì)將是采用通用SerDes技術(shù)。這意味著這些協(xié)議提供的原始帶寬不會(huì)有明顯的差異。相反,每種協(xié)議的用途將取決于如何使用帶寬。

大多數(shù)設(shè)計(jì)人員都很熟悉基本的以太網(wǎng)協(xié)議特征。以太網(wǎng)是一種'盡力而為'的數(shù)據(jù)包傳送方式。在以太網(wǎng)物理層上建立的軟件協(xié)議,如TCP/IP,需要提供信息的可靠傳輸,因?yàn)榛谝蕴W(wǎng)的系統(tǒng)一般在網(wǎng)絡(luò)層執(zhí)行流量控制,而不是在物理層。一般基于以太網(wǎng)的系統(tǒng)帶寬都要超配20%到70%。因此以太網(wǎng)最適合高時(shí)延的設(shè)備間應(yīng)用,或帶寬要求較低的板上/板間應(yīng)用。

相反,PCI Express(PCIe)針對(duì)板上互連的數(shù)據(jù)包可靠傳送作了優(yōu)化,這種場(chǎng)合的典型時(shí)延在毫秒數(shù)量級(jí)。PCIe協(xié)議交換的是事務(wù)處理層數(shù)據(jù)包(TLP),如讀和寫(xiě),以及被稱為數(shù)據(jù)鏈路層數(shù)據(jù)包(DLLP) 的少量特殊鏈路信息。DLLP用于鏈路管理功能,包括物理層的流量控制。PCIe后向兼容傳統(tǒng)的PCI和PCI-X器件,這些器件認(rèn)為處理器位于總線層的頂部,因此PCIe具有能夠充分利用與PCI相關(guān)的軟件和硬件知識(shí)產(chǎn)權(quán)的優(yōu)勢(shì)。正如后文要討論的那樣,傳統(tǒng)PCI總線對(duì)交換式PCIe協(xié)議有很大的約束。

RapidIO 技術(shù)則針對(duì)嵌入式系統(tǒng)作了優(yōu)化,尤其是那些要求多處理單元合作的嵌入式系統(tǒng)。與PCIe一樣,RapidIO協(xié)議交換的是數(shù)據(jù)包和被稱為控制符的少量特殊鏈路信息。RapidIO兼具PCIe和以太網(wǎng)的特性。例如,RapidIO可以提供可靠和非可靠的數(shù)據(jù)包傳送機(jī)制。RapidIO也具有許多獨(dú)特的功能,因此最適合板上、板間以及短距離(小于100米)的設(shè)備間應(yīng)用。

物理層

在物理層/鏈路層,這些協(xié)議在流量控制和誤碼恢復(fù)方面有很大的區(qū)別。以太網(wǎng)流量控制主要是在網(wǎng)絡(luò)層用軟件實(shí)現(xiàn)的,因?yàn)閷?duì)大型網(wǎng)絡(luò)來(lái)說(shuō)這是最有效的處理方式。以太網(wǎng)唯一的物理層流量控制機(jī)制是PAUSE,它將中斷傳輸一定的時(shí)間。有限的物理層流量控制意味著以太網(wǎng)將采用棄包的方式處理?yè)砣?br />
相反,PCIe和RapidIO的物理層流量控制機(jī)制可確保數(shù)據(jù)包的可靠傳送。每個(gè)包都會(huì)被發(fā)送器保留直到被確認(rèn)。如果檢測(cè)到發(fā)送誤碼,鏈路維護(hù)協(xié)議可確保發(fā)生誤碼的數(shù)據(jù)包得到重傳。

PCIe 保證采用數(shù)據(jù)鏈路層數(shù)據(jù)包(DLLP)發(fā)送,而RapidIO則使用控制符進(jìn)行發(fā)送。與DLLP不同的是,RapidIO控制符可以被嵌入在數(shù)據(jù)包內(nèi),這樣可以實(shí)現(xiàn)低時(shí)延的RapidIO流量控制信息(如緩存占用量)交換,將允許更快地發(fā)送更多的數(shù)據(jù)包。圖1闡明了這一概念。在最左邊部分,器件A不能向器件B發(fā)送任何數(shù)據(jù)包,因?yàn)槠骷﨎中的緩存是滿的。器件B在向器件A連續(xù)發(fā)送數(shù)據(jù)包。

在圖的中間部分,器件B中的一個(gè)緩存空出來(lái)了。此時(shí)器件B必須告知器件A它能發(fā)送數(shù)據(jù)包了。在右邊底部的PCIe部分,DLLP在當(dāng)前數(shù)據(jù)包的傳送完成之前是無(wú)法得到傳送的。在右邊頂部的RapidIO部分,控制符被嵌入進(jìn)了正在發(fā)送的數(shù)據(jù)包內(nèi)。因此與其它協(xié)議相比,RapidIO協(xié)議能以更低時(shí)延和更高吞吐量完成可靠的數(shù)據(jù)包傳送。將控制符嵌入進(jìn)數(shù)據(jù)包的能力使得RapidIO流量控制的其余功能比PCIe或以太網(wǎng)都要豐富,后文對(duì)此將有進(jìn)一步描述。

除了更有效的流量控制外,將控制符嵌入進(jìn)數(shù)據(jù)包使得RapidIO具有PCIe和以太網(wǎng)目前無(wú)法提供的能力??刂品梢杂脕?lái)低時(shí)延和低抖動(dòng)地在整個(gè)RapidIO系統(tǒng)中分配事件,如圖2所示。

這一功能可以支持將公共實(shí)時(shí)時(shí)鐘信號(hào)分配到多個(gè)端點(diǎn)或?yàn)樘炀€系統(tǒng)分配幀信號(hào)等應(yīng)用,還可以用于發(fā)送其它系統(tǒng)事件信息,以及實(shí)現(xiàn)多處理器系統(tǒng)中的調(diào)試。如圖2 所示,PCIe的DLLP在每次通過(guò)交換機(jī)傳送時(shí)都會(huì)引入很大的時(shí)延和抖動(dòng)。相反,RapidIO協(xié)議允許在整個(gè)RapidIO架構(gòu)中分配信號(hào)時(shí)具有低于 10個(gè)單位間隔(UI)的抖動(dòng)性能和每次交換低于50ns的時(shí)延性能,并且與數(shù)據(jù)包業(yè)務(wù)無(wú)關(guān)。

PCIe和以太網(wǎng)可以選擇擴(kuò)展各自的規(guī)范以允許事件獲得低時(shí)延的分配。引入類似控制符的概念對(duì)以太網(wǎng)來(lái)說(shuō)是很大的進(jìn)步。以太網(wǎng)生態(tài)系統(tǒng)下已有幾家組織正在改進(jìn)存儲(chǔ)應(yīng)用中的以太網(wǎng)能力,其中就可能需要用到類似控制符的概念。以太網(wǎng)還準(zhǔn)備采用簡(jiǎn)單的XON/XOFF流量控制來(lái)進(jìn)一步增強(qiáng)性能。

PCIe目前不允許將DLLP嵌入進(jìn)TLP,因?yàn)檫@一概念不能兼容傳統(tǒng)的PCI/X總線操作。嵌入TLP的DLLP會(huì)產(chǎn)生沒(méi)有數(shù)據(jù)可以放置到傳統(tǒng)總線上的周期。PCIe端點(diǎn)可以工作在存儲(chǔ)-轉(zhuǎn)發(fā)模式,確保數(shù)據(jù)包在轉(zhuǎn)發(fā)給總線之前全部接收到,代價(jià)是時(shí)延的顯著增加和吞吐量的降低。由于PCIe主要用于單處理器系統(tǒng)的板上互連,并且一直需要保持與傳統(tǒng)總線標(biāo)準(zhǔn)的兼容,PCIe陣營(yíng)不太可能允許DLLP被嵌入進(jìn)TLP。

帶寬選項(xiàng)

除了流量控制和鏈路維護(hù)外,以太網(wǎng)、PCIe和RapidIO在物理/鏈路層方面的最顯著區(qū)別是所能支持的帶寬選項(xiàng)。以太網(wǎng)帶寬具有一代增加10倍的悠久歷史。以太網(wǎng)目前工作在 10Mbps、100Mbps、1Gbps和10Gbps。一些專用器件甚至支持2Gbps(2.5GBaud)。下一代以太網(wǎng)將能工作在40Gbps和 /或100Gbps。

PCIe和RapidIO采用了不同的方法,因?yàn)榘迳?、板間和設(shè)備間互連要求功率與數(shù)據(jù)流匹配。因此與以太網(wǎng)相比, PCIe和RapidIO支持更多的通道速率和通道帶寬組合。PCIe 2.0允許通道工作在2Gbps或4Gbps(2.5和5Gbaud),而RapidIO支持1、2、2.5、4和5Gbps(1.25、2.5、 3.125、5和6.25Gbaud)的通道速率。PCIe和RapidIO都支持從單個(gè)通道到16個(gè)通道的通道帶寬組合。PCIe規(guī)范中還支持32通道端口。對(duì)于給定的通道帶寬,RapidIO端口可以提供多于或少于PCIe的帶寬,因此允許系統(tǒng)設(shè)計(jì)人員調(diào)整系統(tǒng)中用于數(shù)據(jù)流的功率大小。

傳輸層

RapidIO和以太網(wǎng)標(biāo)準(zhǔn)都是模糊拓?fù)浣Y(jié)構(gòu)。任何端點(diǎn)組都可以用任何拓?fù)浣Y(jié)構(gòu)連接,包括環(huán)形、樹(shù)形、網(wǎng)狀、超立方體以及超復(fù)雜網(wǎng)絡(luò)等更深?yuàn)W的幾何圖形。數(shù)據(jù)包則根據(jù)它們的網(wǎng)絡(luò)地址在這些拓?fù)渲型瓿陕酚伞;ヂ?lián)網(wǎng)協(xié)議(IP)地址就是一種以太網(wǎng)網(wǎng)絡(luò)地址。 RapidIO網(wǎng)絡(luò)地址被稱為目的識(shí)別符,簡(jiǎn)稱destID。

與拓?fù)錈o(wú)關(guān)的(Topology-agnostic)協(xié)議可實(shí)現(xiàn)各種資源備份和冗余功能。例如,一些系統(tǒng)使用N+1備份策略來(lái)確保高可用性和可靠性,而不用顯著增加硬件數(shù)量。(備份功能將未使用的設(shè)備作為在用設(shè)備的備份。在N+1 備份機(jī)制時(shí),N個(gè)元件有一個(gè)共同的備份,因此當(dāng)N個(gè)元件中的一個(gè)發(fā)生故障時(shí)系統(tǒng)可以繼續(xù)工作。這個(gè)策略也被稱為1:N備份)。支持不同拓?fù)溥x項(xiàng)還允許系統(tǒng)設(shè)計(jì)人員通過(guò)匹配數(shù)據(jù)路徑和數(shù)據(jù)流程消除系統(tǒng)中的性能瓶頸。系統(tǒng)擴(kuò)展和演變?cè)赗apidIO和以太網(wǎng)絡(luò)中是不受約束的。

相反,PCIe在頂層支持帶單個(gè)根聯(lián)合體(Root Complex)的樹(shù)狀結(jié)構(gòu)。PCIe還使用了多種路由算法,具體取決于TLP類型。PCIe支持的單路拓?fù)涫莻鹘y(tǒng)PCI/X總線支持的一部分。PCIe 標(biāo)準(zhǔn)已經(jīng)用多根I/O虛擬化(MRIOV)進(jìn)行了擴(kuò)展,進(jìn)一步增加了PCIe可以支持的物理拓?fù)鋽?shù)量。然而,由于MRIOV實(shí)現(xiàn)代價(jià)高,是否能被PCIe 生態(tài)系統(tǒng)采納還是未知數(shù)。PCIe元件還支持非透明橋接(NTB)功能,因此一個(gè)PCIe層可以訪問(wèn)另一個(gè)PCIe層中的確定存儲(chǔ)范圍。這種方法的系統(tǒng)可靠性和可用性將在后文作進(jìn)一步闡述。

許多基于以太網(wǎng)的系統(tǒng)功能也受限于樹(shù)形結(jié)構(gòu)。例如,許多以太網(wǎng)實(shí)現(xiàn)使用不同生成樹(shù)協(xié)議(STP)將可用鏈路組減少到樹(shù)形使用鏈路。作為將以太網(wǎng)擴(kuò)展到存儲(chǔ)網(wǎng)絡(luò)的一部分努力,協(xié)議中規(guī)定可以為以太網(wǎng)支持的4096個(gè)虛擬通道中的每個(gè)通道創(chuàng)建生成樹(shù),這樣可以允許同時(shí)使用更多的鏈路。然而,支持4096個(gè)虛擬通道會(huì)增加交換的復(fù)雜性,可能需要更多的緩存,并增加通過(guò)交換機(jī)的時(shí)延。

邏輯層

RapidIO、PCIe和以太網(wǎng)在邏輯層方面也有多個(gè)差異較大的地方。最明顯的區(qū)別是所支持的語(yǔ)義PCIe數(shù)據(jù)包支持基于地址的讀寫(xiě)語(yǔ)義。在PCIe系統(tǒng)中,發(fā)起讀或?qū)懙膶?shí)體必須知道系統(tǒng)的全局存儲(chǔ)器映射圖中的目標(biāo)地址,這對(duì)控制平面應(yīng)用而言是很自然的一種方法。然而,這種對(duì)全局地址映射圖的依賴性也會(huì)導(dǎo)致難以發(fā)展的緊耦合軟件系統(tǒng)。

PCIe協(xié)議也支持通過(guò)消息TLP的消息傳送。不過(guò)消息TLP只支持有限數(shù)量的功能,如中斷和復(fù)位信號(hào)。這點(diǎn)與以太網(wǎng)和RapidIO消息包有很大的不同,后者可用于進(jìn)程間通信。

與PCIe 不同,建立在以太網(wǎng)物理層之上的軟件協(xié)議只支持消息語(yǔ)義。在發(fā)送消息時(shí),發(fā)送者只需知道接收地址。尋址機(jī)制一般是分層的,因此沒(méi)有哪個(gè)節(jié)點(diǎn)必須知道所有的地址。地址可能會(huì)隨系統(tǒng)發(fā)展而改變,支持軟件單元實(shí)現(xiàn)相互間的松散耦合。這些屬性對(duì)數(shù)據(jù)平面應(yīng)用來(lái)說(shuō)是必要的。

RapidIO同時(shí)支持讀/寫(xiě)和消息語(yǔ)義。除了明顯的架構(gòu)優(yōu)勢(shì)和系統(tǒng)靈活性外,對(duì)讀/寫(xiě)和消息處理的支持允許單路互連同時(shí)用于控制和數(shù)據(jù)平面。RapidIO系統(tǒng)因此要比必須結(jié)合PCIe和以太網(wǎng)的系統(tǒng)來(lái)得更簡(jiǎn)單,從而具有降低功耗和成本的優(yōu)勢(shì)。

PCIe不可能在其數(shù)據(jù)包定義中合并進(jìn)程間通信消息語(yǔ)義,因?yàn)榕c傳統(tǒng)PCI和PCI-X總線的操作相沖突。PCIe是圍繞根聯(lián)合體概念設(shè)計(jì)的,這個(gè)聯(lián)合體只包含系統(tǒng)中的處理器。在這個(gè)范例中,沒(méi)有消息處理是在PCIe到其它軟件實(shí)體上完成的,因此消息語(yǔ)義沒(méi)有價(jià)值。

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

消息語(yǔ)義的一種可能應(yīng)用是其它協(xié)議的封裝。RapidIO擁有封裝各種協(xié)議的標(biāo)準(zhǔn)。這種封裝能力給系統(tǒng)設(shè)計(jì)人員提供了許多優(yōu)勢(shì),包括未來(lái)將要證明的RapidIO背板。任何未來(lái)、傳統(tǒng)或?qū)S袇f(xié)議都可以用標(biāo)準(zhǔn)的RapidIO組件進(jìn)行封裝和傳送。例如,用于以太網(wǎng)封裝的現(xiàn)有 RapidIO規(guī)范就允許設(shè)計(jì)人員在基于RapidIO的系統(tǒng)中使用基于以太網(wǎng)的軟件。

以太網(wǎng)也支持封裝,并且有多種封裝標(biāo)準(zhǔn)可以選擇。RapidIO的封裝效率要比以太網(wǎng)高,因?yàn)橐蕴W(wǎng)協(xié)議層需要更多的頭部開(kāi)銷(xiāo)。

曾經(jīng)有個(gè)組織試圖對(duì)在PCIe類結(jié)構(gòu)上的各種協(xié)議封裝進(jìn)行標(biāo)準(zhǔn)化。但幾年前這個(gè)組織宣告失敗,因?yàn)檫^(guò)程太過(guò)復(fù)雜。由于與傳統(tǒng)總線相關(guān)的要求,很難將PCIe擴(kuò)展成適合嵌入式系統(tǒng)的結(jié)構(gòu)。

可靠性和可用性

大多數(shù)系統(tǒng)對(duì)可靠性和/或可用性都有要求。有可靠性和/可用性要求的系統(tǒng)需要誤碼檢測(cè)、誤碼提醒、故障元件分析與隔離以及恢復(fù)機(jī)制。從高層看,PCIe、RapidIO和以太網(wǎng)在所有這些方面都要相似的功能。不過(guò)在備份策略以及快速隔離系統(tǒng)使之免受故障元件影響的功能方面有很大差別。

起初,互聯(lián)網(wǎng)使用網(wǎng)絡(luò)層的軟件協(xié)議,在可能會(huì)經(jīng)歷嚴(yán)重?fù)p傷的網(wǎng)絡(luò)上提供可靠的通信。因此以太網(wǎng)的原始誤碼管理功能主要用于檢測(cè)、隔離和避免網(wǎng)絡(luò)中的新漏洞,而不是用于單個(gè)系統(tǒng)的魯棒性。系統(tǒng)可靠性通過(guò)網(wǎng)絡(luò)元件的復(fù)制來(lái)實(shí)現(xiàn)。后來(lái)的性能增強(qiáng)則增加了標(biāo)準(zhǔn)化的誤碼捕捉和誤碼提醒機(jī)制來(lái)簡(jiǎn)化網(wǎng)絡(luò)管理。

RapidIO具有與以太網(wǎng)類似的備份、誤碼捕捉和誤碼提醒功能。PCIe支持有限的備份策略,因?yàn)樗膫鬏攲觾H限于樹(shù)狀結(jié)構(gòu)。上文提及的PCIe非透明橋接(NTB)允許兩個(gè)或多個(gè)樹(shù)狀結(jié)構(gòu)進(jìn)行通信,足以實(shí)現(xiàn)1+1備份(也稱為1:1備份)。NTB很難拓展到采用N+M備份機(jī)制的系統(tǒng)。理論上多根I/O虛擬化(MRIOV)可以用來(lái)在PCIe系統(tǒng)中支持N+M備份,其中N+M的總數(shù)量不超過(guò)8。然而,由于MRIOV系統(tǒng)中的子樹(shù)無(wú)法相互通信,從故障恢復(fù)可能要求系統(tǒng)中斷運(yùn)行,目的是重新配置系統(tǒng),以便隔離故障元件,并采用新的元件。

與PCIe和RapidIO相比,以太網(wǎng)的誤碼檢測(cè)機(jī)制通常比較慢,因?yàn)橐蕴W(wǎng)是針對(duì)全球范圍內(nèi)分布的網(wǎng)絡(luò)設(shè)計(jì)的。PCIe和RapidIO都有誤碼檢測(cè)和提醒機(jī)制,其時(shí)延要比以太網(wǎng)小得多。

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

相反, RapidIO標(biāo)準(zhǔn)允許對(duì)誤碼作出特殊系統(tǒng)響應(yīng),如鏈路再學(xué)習(xí)。當(dāng)誤碼發(fā)生時(shí),系統(tǒng)會(huì)立即開(kāi)始棄包,或者它會(huì)保留包,并允許擁塞發(fā)生。RapidIO使用 '漏桶'式誤碼計(jì)數(shù)方法,并有兩個(gè)可配置門(mén)限。DEGRADED門(mén)限能盡早提醒系統(tǒng)管理軟件鏈路上正在發(fā)生誤碼。FAILED門(mén)限用于觸發(fā)丟包以實(shí)現(xiàn)用戶定義的誤碼率。RapidIO誤碼管理的靈活性反映了嵌入式系統(tǒng)設(shè)計(jì)人員的不斷變化需求。

流量控制

流量控制貫穿互連規(guī)范的物理、傳輸和邏輯層。流量控制功能非常重要,可確保系統(tǒng)在各種條件下都能正確和魯棒性地操作,這些條件包括部分故障和過(guò)載。流量控制機(jī)制允許盡可能高效和完整地使用可用帶寬。為了盡量減少由于超配高頻串行鏈路而浪費(fèi)的帶寬和功率,流量控制策略正變得越來(lái)越重要。

目前還不可能討論統(tǒng)一的以太網(wǎng)流量控制策略,因?yàn)樵S多不相干的以太網(wǎng)消息處理標(biāo)準(zhǔn)都有特殊協(xié)議流量控制策略來(lái)避免丟包。一般來(lái)說(shuō),這些標(biāo)準(zhǔn)的流量控制策略基于的是檢測(cè)到丟包時(shí)降低傳送速率。流量控制策略一般用軟件實(shí)現(xiàn),并且要求很強(qiáng)的緩存能力來(lái)實(shí)現(xiàn)重傳。

PCIe流量控制僅限于物理層。PCIe流量控制機(jī)制基礎(chǔ)是跟蹤數(shù)據(jù)包頭和數(shù)據(jù)塊的信用,并且對(duì)投遞、非投遞和完整事務(wù)的跟蹤是分開(kāi)的。

RapidIO 規(guī)定了物理層和邏輯層的流量控制機(jī)制。物理層流量控制機(jī)制設(shè)計(jì)用于處理幾個(gè)毫秒周期的擁塞。在物理層,RapidIO提供PCIe風(fēng)格的流量控制,并輔之以簡(jiǎn)單的重傳機(jī)制。簡(jiǎn)單的重傳機(jī)制能很高效地實(shí)現(xiàn),與PCIe風(fēng)格的流量控制相比性能損失最少。RapidIO物理層流量控制還包括基于虛擬輸出隊(duì)列的反壓機(jī)制。這種在RapidIO 2.0中引入的機(jī)制允許交換機(jī)和端點(diǎn)了解哪些目的地是擁塞的,并將業(yè)務(wù)發(fā)送到未擁塞的目的地。這種特性可以實(shí)現(xiàn)分布式?jīng)Q策制定,確??捎玫木W(wǎng)絡(luò)帶寬得到最大化的利用。決策制定的時(shí)延很低,因?yàn)閾砣畔⑹褂每刂品M(jìn)行交換,而這些控制符如前所述可以被嵌入RapidIO包。

在圖的上面部分,數(shù)據(jù)源發(fā)送數(shù)據(jù)的速率比端點(diǎn)(EP)1接收數(shù)據(jù)包的速率快得多,這將導(dǎo)致一個(gè)擁塞狀態(tài)控制符由EP1發(fā)送到交換機(jī)2,它級(jí)聯(lián)在消息后面返回給源端。當(dāng)交換機(jī)2在與EP1連接的端口上檢測(cè)到擁塞時(shí),交換機(jī)2也能產(chǎn)生擁塞狀態(tài)控制符。一旦源接收到擁塞狀態(tài)控制符,它就開(kāi)始將數(shù)據(jù)包發(fā)送給EP2,并降低到達(dá)EP1的數(shù)據(jù)包發(fā)送速率。

RapidIO的邏輯層流量控制機(jī)制設(shè)計(jì)用于避免網(wǎng)絡(luò)中的擁塞,方法是計(jì)量發(fā)到網(wǎng)絡(luò)的確認(rèn)數(shù)據(jù)包數(shù)量,從而在網(wǎng)絡(luò)級(jí)管理?yè)砣?。這種方法與基于以太網(wǎng)的軟件協(xié)議非常相似。針對(duì)特殊流程的數(shù)據(jù)包接納可以通過(guò)XON/XOFF類協(xié)議,以及基于速率和信用的流量控制進(jìn)行管理。也許最重要的是,這些流量控制機(jī)制也能用于應(yīng)用層來(lái)提高軟件應(yīng)用性能。最好的一點(diǎn)是,這些流量控制機(jī)制可用硬件實(shí)現(xiàn),從而釋放寶貴的CPU資源,為用戶提供更高的價(jià)值。RapidIO流量控制機(jī)制可以確保基于RapidIO的系統(tǒng)能以高效、可預(yù)測(cè)的方式使用可用帶寬。

本文小結(jié)

以太網(wǎng)、PCIe和RapidIO都是基于相似的SerDes技術(shù),因此SerDes技術(shù)不再是這些技術(shù)的差異點(diǎn),而是它們使用可用帶寬的方式。每種技術(shù)都有最適合的專門(mén)應(yīng)用領(lǐng)域。

以太網(wǎng)最適合地理上分散的、具有長(zhǎng)時(shí)延并且??絡(luò)配置的網(wǎng)絡(luò)。PCIe則能對(duì)單板上的分層總線結(jié)構(gòu)提供最理想的支持。這兩種技術(shù)都可用于板上、板間和設(shè)備間通信,而且在許多應(yīng)用場(chǎng)合被同時(shí)用于同一系統(tǒng)。RapidIO能將這兩種互連的優(yōu)勢(shì)結(jié)合到單個(gè)互連中,并可顯著節(jié)省功率和成本。

RapidIO 是嵌入式系統(tǒng)的最佳互連選擇。RapidIO具有與PCIe和以太網(wǎng)相似的功能,并具有其它互連技術(shù)無(wú)法復(fù)制的功能,如:低時(shí)延、低抖動(dòng)的系統(tǒng)事件分發(fā);組合式鏈路層和網(wǎng)絡(luò)層流量控制機(jī)制;可配置的誤碼檢測(cè)和模糊拓?fù)渎酚煽蓪?shí)現(xiàn)高效的備份、高可靠性和可用性;讀/寫(xiě)和進(jìn)程間通信消息語(yǔ)義的硬件實(shí)現(xiàn)。這些功能允許系統(tǒng)架構(gòu)師創(chuàng)建性能更高、功耗更低并且更容易擴(kuò)展的系統(tǒng)。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。