理論極限值是可以計算的:1333mhz * 64bit(單通道,雙通道則128bit) / 8(位到位元組單位轉換) = 10.664gb/s。這只是理論,實際發揮還要看記憶體控制器,實際上1333單條跑出來的資料在7~9gb/s差不多了。
首先,實際中我沒見過記憶體速度超過10gb/s的情況,不知道是不是題主你把單位弄錯了?實際見過的像ramdisk之類的軟體,連續讀寫能達到的速度也不過5~8gb/s左右,如果是隨機讀寫,效能大概還要下降接近十分之一。
所以記憶體沒你想的那麼快。
其次,記憶體檢測不是把記憶體讀寫一遍就完事,讀寫完還要檢測讀寫資料是否一致,這些都是要通過cpu的alu完成,cpu的負載會非常重,而且很多時候也並非是大塊讀寫,而是4位元組甚至單位元組讀寫,這樣算下來,為了檢測乙個位元組的記憶體單元,cpu可能需要十幾個到幾十指令,這裡還包含不少算數指令,速度很慢。
這樣最終算下來,記憶體檢測的速度大概在100mb/s或者更慢,這還沒完,為了檢測記憶體的每個bit是否正確,通常來說要擦寫很多中不同的資料,比如uboot裡的記憶體檢測就寫了好幾次,如果以4位元組16進製制數來看,那麼寫入的東西包括:全0,全1,全5,全a,全f,基於位址的移位,位址值,位址值求反……
這還沒完,還要檢測實體地址的位址線是否有效,位址線可能會斷開、互繞、短路等等,還有一堆堆的數字要寫進去、讀出來,有些位址線還可能把同乙個記憶體位置錯誤的對映成兩個不同的位址,因此寫入的次序也有要求。
所以最終的結果就是記憶體檢測的時間非常漫長,不亞於壓縮一部像記憶體那麼大的**。
補充:以上僅限於用專門的記憶體檢測工具測試的效果,pc機開機自檢一般只做很簡單的測試,速度很快。
記憶體,有核心頻率
,i/o頻率,等效頻率,最後由等效頻率而算出頻寬,頻寬就等於記憶體的速度。
首先sdr時代,只有sdr-133是pc-133的標準,核心頻率
為133,由於srd為單向傳送所以等效頻率也是133,頻寬為1.06gb/s
然後是大家所熟悉的ddr時代,由於ddr的特性是雙向傳送,也就是說在讀的同時也可以寫,這樣就等於頻寬加大了一倍,所以ddr的等效頻率就需要核心頻率
x2,就拿133mhz的ddr來說吧,他的等效頻率就是266,也就是ddr 266hmz,當然頻寬也就提公升了一倍為2.1gb/s。
接著是ddr2
時代,ddr2
是擴充了資料預取,從ddr1的2bit擴大到了4bit,再加上資料上下行同行,(在這裡我引入乙個資料預期技術,這要從ddr開始講,因為ddr是雙向的,所以他需要資料預取,再讀寫的同時預取資料,這樣才能達到2倍的核心頻率而達到等效頻率),接著來講ddr2
,剛才說到ddr2的資料預取擴大了,因此i/o控制器滿足不了4bit,所以i/o頻率就必須翻倍,所以ddr2的等效頻率=核心頻率x2x2,比如pc2-6400(ddr2 800mhz)的演算法就是200(核心頻率)x2x2=800mhz,資料頻寬是6.4gb/s。
最後來說說ddr3,這個就更容易理解了,因為資料預取又擴大了,從ddr2的4bit翻倍成了8bit,所以i/o頻率又翻倍了,所以ddr3等效頻率=核心頻率x4x2,因此ddr3的等效頻率可以達到驚人的1600hmz。記憶體資料頻寬就=12.8gb/s
最後再說說,頻寬的演算法,記憶體頻寬=記憶體等效頻率x64/8,舉例ddr31600hmz的記憶體頻寬速度就=1600hmzx64/8=12.8gb/s。
如何區分DDR1 DDR2 DDR3記憶體條
ddr1,ddr2,ddr3記憶體條 ddr是double data rate雙倍速率同步動態隨機儲存器的英文縮寫 就是俗稱的一二三代記憶體條。這三種記憶體條工藝不同,介面不同,效能不同,互不相容。要區分它們,也不難。台式電腦記憶體 1 如果要我說哪種記憶體條最好區分,我會選ddr1,也就是一代記憶...
如何區分DDR1 DDR2 DDR3記憶體條
ddr1,ddr2,ddr3記憶體條 ddr是double data rate雙倍速率同步動態隨機儲存器的英文縮寫 就是俗稱的一二三代記憶體條。這三種記憶體條工藝不同,介面不同,效能不同,互不相容。要區分它們,也不難。台式電腦記憶體 1 如果要我說哪種記憶體條最好區分,我會選ddr1,也就是一代記憶...
DDR掃盲 DDR與DDR2 DDR3的區別
from ddr2與ddr的區別 1 速率與預取量 ddr2的實際工作頻率是ddr的兩倍,ddr2記憶體擁有兩倍於標準ddr記憶體的4bit預期能力。2 封裝與電壓 ddr封裝為tsopii,ddr2封裝為fbga ddr的標準電壓為2.5v,ddr2的標準電壓為1.8v。3 bit pre fet...