交換互聯(lián)協(xié)議之概述詳解
RapidIO是基于包交換互聯(lián)協(xié)議,主要作為系統(tǒng)內(nèi)部接口使用,如:芯片間、板間的通訊,速度能在GB/S數(shù)量級。如連接處理器、內(nèi)存、內(nèi)存映射的I/O設(shè)備。這些設(shè)備可能是網(wǎng)絡(luò)設(shè)備、內(nèi)存子系統(tǒng)或一般目的的計算。
RapidIO互連面向內(nèi)存映射的分布式內(nèi)存系統(tǒng)和子系統(tǒng)。這樣的系統(tǒng)由多個獨(dú)立的設(shè)備組成,它們之間使用DMA傳輸數(shù)據(jù)及設(shè)備間通過往后或往前傳輸信息以維護(hù)它們的一致性。
RapidIO是系統(tǒng)互連的一個定義。系統(tǒng)的概念,比如處理器編程模型,Cache、系統(tǒng)復(fù)位、中斷編程模型等超出了RapidIO架構(gòu)的范疇,但是,這些功能可以使用RapidIO網(wǎng)絡(luò)里提供的資源得以實(shí)現(xiàn),比如,RapidIO架構(gòu)提供必要的操作,以支持處理器編程模型,范圍從整體存儲有序化以維持嚴(yán)格的一致性到弱序化。在RapidIO架構(gòu)規(guī)范里對這些方面的任何參考引用僅僅是為了描述,RapidIIO的后續(xù)規(guī)范可能會進(jìn)一步定義這些系統(tǒng)功能。
雖然,這套RapidIO規(guī)范構(gòu)建是基于分布式內(nèi)存系統(tǒng),未來的版本會擴(kuò)展這些接口的能力和處理新的主題內(nèi)容,比如串行物理層,全局共享內(nèi)存,互相可操作性等,這些規(guī)范有滿足本規(guī)范的自己獨(dú)立的封裝。
RapidIO采用三層架構(gòu):邏輯、通用傳輸層、物理層。
1、邏輯層:定義端點(diǎn)要求的操作協(xié)議,以及必要的交易包格式,通過這些協(xié)議進(jìn)行目標(biāo)操作。邏輯層不針對特定的傳輸或物理接口,因此,它們規(guī)定位流格式。為層架構(gòu)里的較低層添加邏輯層的必要的位。因?yàn)閼?yīng)用程序使用不同的編程模型,所以,RapidIO結(jié)構(gòu)為了支持它們,拆分成一些子協(xié)議,當(dāng)前RapioIO邏輯層協(xié)議包括:
系統(tǒng)I/O協(xié)議規(guī)范:輸入輸出邏輯協(xié)議
消息傳遞協(xié)議規(guī)范。
在各自不同的封裝下的附加邏輯層協(xié)議規(guī)范
2、傳輸層:公共傳輸層協(xié)議描述包路由尋址機(jī)制,以便將RapidIO包從一個端點(diǎn)傳遞到另一個端點(diǎn),公共傳輸層是RapidIO所有的公共部分。
3、物理層:定義兩個設(shè)備之間的接口和傳包輸機(jī)制、流控制、電氣性能參數(shù)。
1.2 RapidIO特征集
RapidIO特征集和協(xié)議是基于通用計算和嵌入式應(yīng)用做了很多考慮,每一層的特征可以分成三類:功能方面的特征、物理方面的特征和性能方面的特征。
1.2.1邏輯層特征如果較大量的非相關(guān)數(shù)據(jù)封裝在一個包里,消息傳輸和DMA設(shè)備能改善互聯(lián)輸效率,所以,RapidIO包格式支持不同尺寸的數(shù)據(jù)包,因?yàn)橄鬟f編程模型從本質(zhì)上說是一個非相關(guān)非共享內(nèi)存模型,在RapidIO設(shè)備里,內(nèi)存空間某些部分僅能被一個處理器或一個控制消息傳遞接口的本地設(shè)備直接存取。
包頭盡可能小以降低控制負(fù)荷并且包的組織、封裝、拆解等操作更快更有效率。隨著一個包中包含的數(shù)據(jù)增加,包的效率也增加。RapidIO支持?jǐn)?shù)據(jù)負(fù)荷最大256字節(jié),消息對嵌入式控制應(yīng)用是非常重要的,所以,要支持大小數(shù)據(jù)域的變化和多包消息。
在系統(tǒng)里允許多次交易的并發(fā)傳輸,不僅能對單個設(shè)備進(jìn)行流水交易,還能在多個設(shè)備之間分時使用接口。不具備這些特征,系統(tǒng)通過率的大部分會被浪費(fèi)掉。
1.2.1.1功能特征
許多嵌入式系統(tǒng)是多處理器系統(tǒng),而非多處理系統(tǒng)。為了支持分布式I/O和分布式處理等要求,特別在網(wǎng)絡(luò)和路由市場,消息傳遞或基于軟件的一致性編程模型優(yōu)于傳統(tǒng)的計算機(jī)類型的全局共享內(nèi)存編程模型。RapidIO支持所有的這些編程模型。
無論是非常大還是非常小的系統(tǒng),都支持同樣的兼容的包格式,以滿足將來的擴(kuò)展和需求的變化。
讀-修改-寫原子操作對實(shí)現(xiàn)處理器之間,或者別的系統(tǒng)部件之間的同步是非常有用的。
RapidIO結(jié)構(gòu)支持50-60bit的地址,也支持較小系統(tǒng)的34bit本地地址。
如果較大量的非相關(guān)數(shù)據(jù)封裝在一個包里,消息傳輸和DMA設(shè)備能改善互聯(lián)輸效率,所以,RapidIO包格式支持變尺寸的數(shù)據(jù)包。
因?yàn)橄鬟f編程模型從本質(zhì)上說是一個非相關(guān)非共享內(nèi)存模型,RapidIO假設(shè)內(nèi)存空間某些部分僅能被一個處理器或一個相對于那個內(nèi)存空間是本地的設(shè)備直接存取。企圖存取這一部分內(nèi)存的遠(yuǎn)程設(shè)備必須通過一個控制消息傳遞接口的本地設(shè)備。
1.2.1.2物理特征
RapidIO包的定義是獨(dú)立于物理接口的寬度
協(xié)議和包的格式獨(dú)立于物理互連結(jié)構(gòu),如點(diǎn)到點(diǎn)環(huán)節(jié)、總線型、多維交換網(wǎng)絡(luò)、雙串口連接等等
RapidIO不依賴于物理架構(gòu)的帶寬或延遲
協(xié)議處理失序的包發(fā)送和接收
在RapidIO里不要求地理尋址,設(shè)備的標(biāo)識與它的地理位置無關(guān),但是能通過其它方式分配標(biāo)識符。
為了正確操作,某些設(shè)備有帶寬和延遲要求,RapidIO不應(yīng)該排除在系統(tǒng)實(shí)現(xiàn)時利用這些限制。
1.2.1.3性能特征
對網(wǎng)絡(luò)應(yīng)用,消息是非常重要的,所以為了提高效率,支持變化的大小數(shù)據(jù)域以及多包信息。
包頭盡可能小,以降低控制代價,使得包的組織、封裝、拆解效率更高。
多次交易允許并發(fā),防止系統(tǒng)性能的浪費(fèi)。
1.2.2傳輸層特征1.2.2.1功能特征
系統(tǒng)尺寸可以很大也可以很小,但是都是一樣的或兼容的包格式
因?yàn)镽apidIO僅有一個傳輸協(xié)議,在不同的具體的實(shí)現(xiàn)中的兼容性是被假設(shè)存在的
傳輸協(xié)議是靈活的,所以,適應(yīng)將來的應(yīng)用。
包總是被假設(shè)從一個源到一個目的地。
1.2.2.2物理特征
傳輸層定義獨(dú)立于物理接口的寬度。
在RapidIO里不要求地理尋址,設(shè)備的標(biāo)識與它的地理位置無關(guān),但是能通過其它方式分配標(biāo)識符。
1.2.2.3性能特征
包頭盡可能小,以降低控制代價,使得包的組織、封裝、拆解效率更高。
廣播和多播能夠通過在互聯(lián)結(jié)構(gòu)中的解釋傳輸信息來實(shí)現(xiàn)。
1.2.3物理層特征1.2.3.1功能特征
RapidIO在通訊的設(shè)備之間提供流控制機(jī)制,因?yàn)槿魏卧O(shè)備都不可能實(shí)現(xiàn)無限長度的數(shù)據(jù)緩沖。
1.2.3.2物理特征
連接可以是:點(diǎn)到點(diǎn)單向、一進(jìn)一出、8-bit或16bit端口
物理層協(xié)議和包格式在某種程度上獨(dú)立于物理互聯(lián)的拓?fù)浣Y(jié)構(gòu),然而,物理結(jié)構(gòu)假設(shè)是鏈?zhǔn)降?/p>
不依賴于物理結(jié)構(gòu)的帶寬或延遲
物理層協(xié)議處理失序和有序的包傳輸和接收
物理層協(xié)議容忍系統(tǒng)里因高頻操作或過高噪聲引起的瞬時錯誤
1.2.3.3性能特征
物理協(xié)議和包格式允許最小的到最大的數(shù)據(jù)符合尺寸
包頭盡可能小。以減輕控制代價,使得包的組織、封裝、拆解效率更高。
系統(tǒng)允許并發(fā)交易,以防止浪費(fèi)系統(tǒng)潛在性能
電器特性允許最高可能的速度。以備將來。