高速串行總線技術(shù)發(fā)展與應(yīng)用分析
雖然在嵌入式系統(tǒng)中有許多連接元件的方法,但最主要的還是以太網(wǎng)、PCI Express和RapidIO這三種高速串行標(biāo)準(zhǔn)。所有這三種標(biāo)準(zhǔn)都使用相似的串行解串器(SerDes)技術(shù),它們提供的吞吐量和時(shí)延性能都要超過寬的并行總線技術(shù)。隨著這些標(biāo)準(zhǔn)的不斷發(fā)展,今后的趨勢(shì)將是采用通用SerDes技術(shù)。這意味著這些協(xié)議提供的原始帶寬不會(huì)有明顯的差異。相反,每種協(xié)議的用途將取決于如何使用帶寬。
本文引用地址:http://cafeforensic.com/article/157630.htm大多數(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),如讀和寫,以及被稱為數(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ò)來說這是最有效的處理方式。以太網(wǎng)唯一的物理層流量控制機(jī)制是PAUSE,它將中斷傳輸一定的時(shí)間。有限的物理層流量控制意味著以太網(wǎng)將采用棄包的方式處理擁塞。
相反,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ù)包。
圖1:RapidIO嵌入式控制符和PCIe DLLP。
在圖的中間部分,器件B中的一個(gè)緩存空出來了。此時(shí)器件B必須告知器件A它能發(fā)送數(shù)據(jù)包了。在右邊底部的PCIe部分,DLLP在當(dāng)前數(shù)據(jù)包的傳送完成之前是無法得到傳送的。在右邊頂部的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)一步描述。
評(píng)論