實時反射內(nèi)存網(wǎng)絡是一種為使多個獨立的計算機進行數(shù)據(jù)共享而特別設計的共享內(nèi)存系統(tǒng)。實時反射內(nèi)存網(wǎng)絡在系統(tǒng)中的每個節(jié)點放置一個共享內(nèi)存的獨立的拷貝。每個節(jié)點都有寫入數(shù)據(jù)訪問和讀取本地內(nèi)存的權(quán)限。當數(shù)據(jù)寫入本地內(nèi)存,FPGA 捕獲并發(fā)送數(shù)據(jù)到實時反射內(nèi)存中網(wǎng)絡下數(shù)據(jù)寫入本地內(nèi)存并送到下一節(jié)點,數(shù)據(jù)寫入本地內(nèi)存并送到下一節(jié)點,直到數(shù)據(jù)回到源發(fā)送的節(jié)點才將網(wǎng)絡中的數(shù)據(jù)移除。
由于這種特別的硬件和一系列的節(jié)點,在極短的時間內(nèi),網(wǎng)絡中所有的節(jié)點都被更新,在同樣的地址有同樣的數(shù)據(jù)。本地處理器可以隨時訪問內(nèi)存中的數(shù)據(jù),而不需要以隨時訪問內(nèi)存中的數(shù)據(jù),而不需要通過網(wǎng)絡進行訪問。由此,每個計算機都有新的的內(nèi)存數(shù)據(jù)拷貝。在 4節(jié)點的實例中,僅需要 2.1us,所有的計算機都會收到寫入實時反射內(nèi)存的數(shù)據(jù)。實時反射內(nèi)存卡(節(jié)點)由本地內(nèi)存,PCI(或 PCIE,VME)接口,和提供計算機訪問和實時網(wǎng)絡內(nèi)存網(wǎng)絡更新的仲裁邏輯組成。實時反射內(nèi)存卡可以與計算機總線連接,安裝在VME,PCI/PCI-X,CPCI,PCIE 和其它標準系統(tǒng)中。這可以使大多部工作站和單板計算機通過實時網(wǎng)絡內(nèi)存連接而不用考慮與背板接口的互通性。其它串行網(wǎng)絡連接計算機和 PLC 進行連接的地方,但它不是所有應用的解決方案。實時反射內(nèi)存在實時是主要考慮因素的的系統(tǒng)中起到很大的作用。在需要低潛伏期,高速通迅的系統(tǒng)中,實時反射內(nèi)存提供超高性能硬件和易用性。使用類似實時反射內(nèi)存的低軟件開銷,高速,硬件驅(qū)動網(wǎng)絡在整個網(wǎng)絡和獨立的網(wǎng)絡節(jié)點有低的潛伏期,短潛伏時間性能對建立一個仿真的實時系統(tǒng)是十分重要的。
PCI5565 PCI-5565 PMC5565 VMIC5565 反射內(nèi)存 反射內(nèi)存卡 GE反射內(nèi)存
反射內(nèi)存網(wǎng)中的每個反射內(nèi)存節(jié)點(任何5565反射內(nèi)存卡)以菊花鏈的形式用光纖線互聯(lián)。第一塊卡的發(fā)送必須連接到第二塊卡的接收端,第二塊卡的發(fā)送端連接到第三塊卡的接收端,以此類推,直到再連接到第一塊卡的接收端完成一個完整的環(huán)形連接。也可以將所有節(jié)點連接到一個或多個ACC-5595反射內(nèi)存HUB,每個節(jié)點的接收和發(fā)送都必須連接,如果沒有檢測到光信號或失去同步反射內(nèi)存卡RFM-5565將不會發(fā)送數(shù)據(jù)包(例如光纖線已損壞)。反射內(nèi)存網(wǎng)中每個節(jié)點的節(jié)點號必須一,節(jié)點號通過板上的撥碼開關(guān)S2進行設置,任何兩個節(jié)點不能有設置成同一個節(jié)點號,每個板卡的節(jié)點號可以在通過NODEID進行讀取顯示,節(jié)點號的順序并不重要。
主系統(tǒng)對反射內(nèi)存卡的板載SDRAM的寫操作后,反射內(nèi)內(nèi)卡的硬件檢測電路將自動發(fā)起一個整個反射內(nèi)存網(wǎng)的數(shù)據(jù)傳輸動作。這個寫操作可以是一個簡單的PIO寫或是一個DMA周期。當產(chǎn)生一個對SDRAM的寫操作時,RFM-5565反射內(nèi)存卡自動將數(shù)據(jù)和其它相關(guān)的信息寫入到發(fā)送緩沖器中(其它相關(guān)信息包括節(jié)點號,數(shù)據(jù)地址等信息),在發(fā)送緩沖器中,發(fā)送電路檢測數(shù)據(jù),并且將數(shù)據(jù)變成一個4到64字節(jié)長度可變的數(shù)據(jù)包。通過光纖接口發(fā)送到下一個板卡的接收端口。接收電路檢查數(shù)據(jù)包是否有錯誤,當無錯誤發(fā)生時數(shù)據(jù)被接收。接收電路解開數(shù)據(jù)包并且將數(shù)據(jù)存儲到板載的接收緩沖器。在接收緩沖器中,另一個電路將數(shù)據(jù)寫入到本地的SDRAM的和源節(jié)點相同的地址中。同時,該電路將數(shù)據(jù)同時發(fā)送到發(fā)送FIFO中,重復這個處理過程直到這個數(shù)據(jù)返回到源節(jié)點的接收端,在源節(jié)點中,接收電路檢測到數(shù)據(jù)包的NODEID和源節(jié)點的NODEID相同,因此將數(shù)據(jù)包從網(wǎng)絡中移除,這樣所有的節(jié)點數(shù)據(jù)都被更新了。所以計算機將數(shù)據(jù)寫入其本地網(wǎng)絡內(nèi)存卡后的,極短時間內(nèi),網(wǎng)上所有計算機都可以訪問這個新數(shù)據(jù)。網(wǎng)絡內(nèi)存卡使用簡單的讀寫方式,網(wǎng)絡內(nèi)存網(wǎng)上的數(shù)據(jù)傳輸是純硬件操作,不需要考慮網(wǎng)絡的通信協(xié)議,軟件上只需要幾行代碼就可完成對網(wǎng)絡內(nèi)存卡的讀、寫操作,因此它與以太網(wǎng)等其他傳統(tǒng)網(wǎng)絡相比具有更低的數(shù)據(jù)傳輸延遲、更快的傳輸速度,更簡單靈活的使用操作,可以滿足實時系統(tǒng)快速反應周期的要求,而采用其他網(wǎng)絡就很難滿足這種要求。
反射內(nèi)存是一種通過局域網(wǎng)在互連的計算機間提供高效的數(shù)據(jù)傳輸?shù)募夹g(shù),強實時網(wǎng)絡設計人員已經(jīng)越來越多地采用這種技術(shù)。反射內(nèi)存實時局域網(wǎng)的概念十分簡單,就是設計一種網(wǎng)絡內(nèi)存板,在分布系統(tǒng)中實現(xiàn)內(nèi)存至內(nèi)存的通信,并且沒有軟件開銷。每臺計算機上插一塊反射內(nèi)存卡,卡上帶有雙口內(nèi)存,各層軟件既可以讀也可以寫這些內(nèi)存,當數(shù)據(jù)被寫入一臺機器的反射內(nèi)存卡的內(nèi)存中后,反射內(nèi)存卡自動地通過光纖傳輸?shù)狡渌B在網(wǎng)絡上的反射內(nèi)存卡的內(nèi)存里,通常,只需幾百納秒的時間延遲,所有的反射內(nèi)存卡上的內(nèi)存將寫入同樣的內(nèi)容。而各成員在訪問數(shù)據(jù)時,只要訪問本地的反射內(nèi)存卡中的內(nèi)存即可
實時網(wǎng)絡需求
為提升計算能力,人們自然地想到研發(fā)性能更強的計算機,如天河系列等超級計算機應運而生,但超級計算機研制周期長、成本大、應用領(lǐng)域受限。為此,提出了集群系統(tǒng)概念,計算機集群系統(tǒng)是通過網(wǎng)絡將PC機或工作站連接起來組成高性能計算系統(tǒng)。集群系統(tǒng)將一個任務并行在多臺計算機上執(zhí)行,組成一個實時系統(tǒng)。
在實時系統(tǒng)中,系統(tǒng)終結(jié)果的正確性不僅依賴于每一步計算得到的邏輯結(jié)果,而且依賴于得到結(jié)果的時刻,任務的完成時間是實時系統(tǒng)的決定性特征。根據(jù)實時性能的要求程度,實時系統(tǒng)可認為兩類,即軟實時和硬實時系統(tǒng)。對于軟實時系統(tǒng),要求事件相應是實時的,但并不是嚴格強制的。但是,對于硬實時系統(tǒng)來講,每個任務都有一個處理截止事件,任務必須在規(guī)定的時間內(nèi)完成,否則會影響全局任務的完成,給系統(tǒng)帶來不希望的破壞或者造成不可恢復的災難性后果。目前許多實時系統(tǒng)都采用硬實時系統(tǒng),因為具有更強的實時性能。實時系統(tǒng)的應用需要實時互聯(lián),構(gòu)建實時網(wǎng)絡,完成數(shù)據(jù)在網(wǎng)絡節(jié)點間的實時傳輸。
實時網(wǎng)絡必須具備高速、可靠、可預測三個特點,重要的是通信的可預測性,可預測性是指實時網(wǎng)絡中各個節(jié)點之間數(shù)據(jù)傳輸?shù)臅r間是確定的。隨著實時網(wǎng)絡應用領(lǐng)域的不斷擴展,目前已不僅僅局限于計算機集群系統(tǒng)的互聯(lián),而是廣泛地應用在各種具有實時需求的互聯(lián)系統(tǒng)中,如半實物仿真、高速數(shù)據(jù)獲取等。
實時網(wǎng)絡發(fā)展過程中,出現(xiàn)過兩種設計思路:基于單一總線的多CPU共享全局內(nèi)存和基于網(wǎng)絡的分布式內(nèi)存:
相比基于單一總線的多CPU共享全局內(nèi)存系統(tǒng),在基于網(wǎng)絡的分布式內(nèi)存體系中每個節(jié)點只訪問自己的本地內(nèi)存,不存在內(nèi)存占有沖突,由于這種方式能夠避免大量的總線仲裁控制時間而成為實時網(wǎng)絡的主要設計方式。
實時網(wǎng)絡要保證高速、可靠、可預測這三大指標,但千兆以太網(wǎng)、光纖通道(Fiber Channel,F(xiàn)C)協(xié)議等,在可預測性上很差,首先是因為通過設備驅(qū)動和軟件網(wǎng)絡協(xié)議的工作模式增加了額外的不確定開銷,其次是同樣存在共享沖突和碰撞的問題(如千兆以太網(wǎng)GBE中采用CSMA/CD載波監(jiān)聽多路訪問/沖突檢測機制、FC協(xié)議采用令牌環(huán)仲裁等)進一步增加了傳輸時間的不確定性。光纖反射內(nèi)存網(wǎng)很好的解決了上述問題。
反射內(nèi)存網(wǎng)是基于網(wǎng)絡的分布式內(nèi)存硬實時網(wǎng)絡的一種設計思想,特點:1)反射內(nèi)存網(wǎng)硬件實現(xiàn)分布式RAM之間數(shù)據(jù)的傳輸、共享,整個過程具有很低的實現(xiàn)延遲;2)反射內(nèi)存網(wǎng)依靠硬件實現(xiàn)、不需要復雜的網(wǎng)絡協(xié)議控制,能夠在相同的傳輸帶寬下達到更高的有效速率;3)反射內(nèi)存網(wǎng)對數(shù)據(jù)的各種處理是通過硬件電路實現(xiàn),在固定的時鐘頻率下周期工作,沒有不確定的時間開銷,確保數(shù)據(jù)處理的可預測性。
反射內(nèi)存卡節(jié)點延時測試方法:
反射內(nèi)存卡數(shù)據(jù)傳輸過程全部由硬件完成,在windows這種非實時操作系統(tǒng)下和實時vxworks操作系統(tǒng)下由軟件測試這種節(jié)點延時都是不可取的。
反射內(nèi)存卡、,首先它是一個PCI設備,提供給用戶128MB的讀寫空間。當一節(jié)點有寫入操作時,自動通過光纖鏈路將數(shù)據(jù)同步到所有節(jié)點。這一系列傳輸寫入操作由硬件完成。兩個節(jié)點間更新的延時為100ns級。
Sdram時鐘:66MHZ
FIFO時鐘:106MHZ
下面提供兩種方式來說明或測試節(jié)點傳輸延時:
A:理論計算方式
Sdram時鐘:66MHZ
FIFO時鐘:106MHZ
在系統(tǒng)無數(shù)據(jù)傳輸過程是由PCI總線通過橋片PCI9656將數(shù)據(jù)寫入到SDRAM中,在寫SDRAM的同時數(shù)據(jù),地址和控制數(shù)據(jù)打包發(fā)送至發(fā)送FIFO,這個過程是同時進行的,SERDES在接收到FIFO數(shù)據(jù)的中斷后,立即將FIFO的數(shù)據(jù)讀取至SERDES完成并串轉(zhuǎn)換并發(fā)送至光纖收發(fā)器,F(xiàn)IFO的讀取時間約只需要4個周期。在較短距離時,光纖傳輸?shù)臅r間約為零,不予考慮。在接收端SERDES將光纖收發(fā)器數(shù)據(jù)進行并串轉(zhuǎn)換。送至接收FIFO,接收FIFO中斷本地SDRAM控制器,將數(shù)據(jù)寫入SDRAM,完成本次數(shù)據(jù)的更新過程。SDRAM時鐘周期時間為15NS左右,F(xiàn)IFO時鐘周期為9.4NS,
由此可以計算出理論時間 15*21+9.4*10≈405ns。
B:硬件觸發(fā)方式
由于光纖收發(fā)器數(shù)據(jù)傳輸?shù)目焖偬匦?,由軟件來來測試時間誤差較大,本方法對兩個節(jié)點上的數(shù)據(jù)信號進行采集并測量延時。測試探頭分別測試節(jié)點A的SDRAM和節(jié)點B的SDRAM信號,發(fā)送特征數(shù)據(jù),并在B節(jié)點等待觸發(fā)信號。由示波器看到信號延時。觸發(fā)后在節(jié)點B用軟件觀察數(shù)據(jù)是否更新到節(jié)點B,改變特征數(shù)據(jù)及觸發(fā)條件,可重復數(shù)次測特征數(shù)據(jù)與SDRAM控制信號??梢杂涗浹訒r約得出延時大小。
2.網(wǎng)絡內(nèi)存卡帶寬測試:
網(wǎng)絡內(nèi)存卡帶寬測試可采用本公司提供的軟件進行測試或采用RFM2G下的命令行工具測試不同數(shù)據(jù)大小包的傳輸速度。
審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1620文章
21510瀏覽量
598943 -
內(nèi)存
+關(guān)注
關(guān)注
8文章
2903瀏覽量
73541 -
網(wǎng)絡
+關(guān)注
關(guān)注
14文章
7389瀏覽量
88216
發(fā)布評論請先 登錄
相關(guān)推薦
評論