摘要
1、介紹
2、安裝
3、使用
摘要:1、介紹
反射記憶體整合在反射記憶體卡上,我們使用的是pci匯流排的反射記憶體卡pci5565,還有pcie和其它匯流排型別的反射記憶體卡,原理差不多。在兩台計算機的pci插槽插兩塊反射記憶體卡,然後通過光纖連線。常見的反射記憶體卡大小有128m和256m的,當在a卡的位址0x10000寫入資料,就會觸發資料通過光纖寫入到b卡相同的位址,從而實現資料的共享。
反射記憶體的組網主要有環狀和星狀,所謂環狀就是a卡的出口光纖連線b卡的入口,b卡的出口光纖連線c卡的入口,以此類推,最後一張卡的出口光纖再連線a卡的入口。當環網中任何一張卡的資料發生變更都會傳輸到下一張卡,最後回到它自身結束傳遞。所謂星狀是指使用反射記憶體hub裝置做資料的**,類似一台交換機,從而達到星狀網路裡所有卡上相同記憶體位址空間的資料一致。
2、安裝
安裝包括硬體安裝和軟體的安裝。
硬體安裝就是把反射記憶體卡插入到計算機的pci插槽,然後通過光纖連線兩張卡。
(1) 首先需要確認你的計算機是否有pci插槽,可以開啟機箱檢視主機板上有沒有預留pci插槽。
(2) 設定反射記憶體卡上的s1和s2值,s1和s2都是8位的開關,例如s1的第一位開關控制反射記憶體是否開啟冗餘模式,第二位控制是否打
開高效能開關,第三位和第四位一起控制需要使用的反射記憶體空間的大小,等等。預設s1的設定全部是off,建議開始就使用預設
設定就好了。 s2用來設定當前反射記憶體卡的nodeid, 全網的反射記憶體卡需要nodeid唯一,不能重複。所以同乙個反射記憶體網
絡最多支援256塊反射記憶體卡。
1)如上圖反射記憶體卡最左邊的卡板可能和機箱pci插卡處不匹配,無法插入,可以用螺絲刀把卡板拆除直接插卡。
2)反射記憶體卡的插針可能會比機箱的pci插槽寬,只要能插入就可以,多餘插針沒插入沒關係。
3)插卡前計算機要關機斷電,防止靜電。
4)光纖連線的時候要保證出口線接入口線,入口線接出口線。
3、使用
可以把反射記憶體當作乙個檔案,使用時需要先開啟反射記憶體,然後往某個規劃好的位址寫固定大小的資料,這時資料會從本地記憶體io到
反射記憶體,此處的io有兩張模式:dma和pio,dma模式是不需要計算機cpu的參與直接通過pci匯流排把資料io到反射記憶體,pio需要
cpu參與。故一般推薦使用dma模式傳輸。然後這些資料會在幾十微秒內通過光纖傳輸到下乙個反射記憶體結點,很快整個反射記憶體網路
節點都會收到資料,但可能並不是所有節點都需要這份資料,這裡你可以通過傳送事件來通知需要這份資料的節點去讀取資料。接收數
據的節點讀取對應位址固定大小的資料,這樣就完成了兩個節點資料的快速交換。
具體到專案中的使用,可以把之前需要使用socket通訊的地方改換成反射記憶體通訊。在**中include驅動程式中的標頭檔案和實現**即
可使用對應的api函式。
後話:我們當前的使用還比較簡單,還沒有嵌入到專案中使用。在使用反射記憶體測試時,發現有一張卡的資料會有一兩位值發生跳變並且
dma模式也打不開。諮詢了國內的技術支援,然他們也解決不了,當前正在聯絡國外的技術支援,老外的效率相當的慢。。。
後面有進展和新的問題,我再更新 ~
ORACLE 使用超過2G記憶體
在http blog.chinaunix.net u1 50863 showart 411877.html海鷗大哥的部落格上看見這個帖子,覺得很有用。保留下來日後仔細研究。他人的成果不敢據為己有,特此宣告下。伺服器 hpdl 580g 2 雙cpu 6g記憶體 win2003 enterprise ...
iOS反射 2 類方法的反射
1.nsobject常用方法 類別判斷,也可以說是動態方法 objc view plain copy student stu student alloc init autorelease iskindofclass判斷物件是否屬於某個類 或者 子類 if stu iskindofclass pers...
反射技術的應用 2
using system using system.collections.generic using system.linq using system.text using system.io using system.reflection 這個例子的應用場景是這樣的 我知道乙個屬性,像potit...