高速串行總線技術(shù)發(fā)展與應用分析
雖然在嵌入式系統(tǒng)中有許多連接元件的方法,但最主要的還是以太網(wǎng)、PCI Express和RapidIO這三種高速串行標準。所有這三種標準都使用相似的串行解串器(SerDes)技術(shù),它們提供的吞吐量和時延性能都要超過寬的并行總線技術(shù)。隨著這些標準的不斷發(fā)展,今后的趨勢將是采用通用SerDes技術(shù)。這意味著這些協(xié)議提供的原始帶寬不會有明顯的差異。相反,每種協(xié)議的用途將取決于如何使用帶寬。
本文引用地址:http://butianyuan.cn/article/157630.htm大多數(shù)設計人員都很熟悉基本的以太網(wǎng)協(xié)議特征。以太網(wǎng)是一種'盡力而為'的數(shù)據(jù)包傳送方式。在以太網(wǎng)物理層上建立的軟件協(xié)議,如TCP/IP,需要提供信息的可靠傳輸,因為基于以太網(wǎng)的系統(tǒng)一般在網(wǎng)絡層執(zhí)行流量控制,而不是在物理層。一般基于以太網(wǎng)的系統(tǒng)帶寬都要超配20%到70%。因此以太網(wǎng)最適合高時延的設備間應用,或帶寬要求較低的板上/板間應用。
相反,PCI Express(PCIe)針對板上互連的數(shù)據(jù)包可靠傳送作了優(yōu)化,這種場合的典型時延在毫秒數(shù)量級。PCIe協(xié)議交換的是事務處理層數(shù)據(jù)包(TLP),如讀和寫,以及被稱為數(shù)據(jù)鏈路層數(shù)據(jù)包(DLLP) 的少量特殊鏈路信息。DLLP用于鏈路管理功能,包括物理層的流量控制。PCIe后向兼容傳統(tǒng)的PCI和PCI-X器件,這些器件認為處理器位于總線層的頂部,因此PCIe具有能夠充分利用與PCI相關的軟件和硬件知識產(chǎn)權(quán)的優(yōu)勢。正如后文要討論的那樣,傳統(tǒng)PCI總線對交換式PCIe協(xié)議有很大的約束。
RapidIO 技術(shù)則針對嵌入式系統(tǒng)作了優(yōu)化,尤其是那些要求多處理單元合作的嵌入式系統(tǒng)。與PCIe一樣,RapidIO協(xié)議交換的是數(shù)據(jù)包和被稱為控制符的少量特殊鏈路信息。RapidIO兼具PCIe和以太網(wǎng)的特性。例如,RapidIO可以提供可靠和非可靠的數(shù)據(jù)包傳送機制。RapidIO也具有許多獨特的功能,因此最適合板上、板間以及短距離(小于100米)的設備間應用。
物理層
在物理層/鏈路層,這些協(xié)議在流量控制和誤碼恢復方面有很大的區(qū)別。以太網(wǎng)流量控制主要是在網(wǎng)絡層用軟件實現(xiàn)的,因為對大型網(wǎng)絡來說這是最有效的處理方式。以太網(wǎng)唯一的物理層流量控制機制是PAUSE,它將中斷傳輸一定的時間。有限的物理層流量控制意味著以太網(wǎng)將采用棄包的方式處理擁塞。
相反,PCIe和RapidIO的物理層流量控制機制可確保數(shù)據(jù)包的可靠傳送。每個包都會被發(fā)送器保留直到被確認。如果檢測到發(fā)送誤碼,鏈路維護協(xié)議可確保發(fā)生誤碼的數(shù)據(jù)包得到重傳。
PCIe 保證采用數(shù)據(jù)鏈路層數(shù)據(jù)包(DLLP)發(fā)送,而RapidIO則使用控制符進行發(fā)送。與DLLP不同的是,RapidIO控制符可以被嵌入在數(shù)據(jù)包內(nèi),這樣可以實現(xiàn)低時延的RapidIO流量控制信息(如緩存占用量)交換,將允許更快地發(fā)送更多的數(shù)據(jù)包。圖1闡明了這一概念。在最左邊部分,器件A不能向器件B發(fā)送任何數(shù)據(jù)包,因為器件B中的緩存是滿的。器件B在向器件A連續(xù)發(fā)送數(shù)據(jù)包。
圖1:RapidIO嵌入式控制符和PCIe DLLP。
在圖的中間部分,器件B中的一個緩存空出來了。此時器件B必須告知器件A它能發(fā)送數(shù)據(jù)包了。在右邊底部的PCIe部分,DLLP在當前數(shù)據(jù)包的傳送完成之前是無法得到傳送的。在右邊頂部的RapidIO部分,控制符被嵌入進了正在發(fā)送的數(shù)據(jù)包內(nèi)。因此與其它協(xié)議相比,RapidIO協(xié)議能以更低時延和更高吞吐量完成可靠的數(shù)據(jù)包傳送。將控制符嵌入進數(shù)據(jù)包的能力使得RapidIO流量控制的其余功能比PCIe或以太網(wǎng)都要豐富,后文對此將有進一步描述。
評論