尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
朋友們買電腦玩玩遊戲或者工作往往面臨一個重要的選擇,是買1根16GB的記憶體呢,還是買兩根8GB的記憶體?甚至有人推薦買4根4GB的記憶體。到底何去何從呢?
做出選擇的根本落腳點無非是性能能否提高,和是否將來有擴展性。我們今天就通過實際的例子從這兩方面來了解一下。
雙通道和四通道
現在的CPU里面都集成了記憶體控制器。過去的記憶體控制器只有個控制單元,每次只能操作一個DIMM:
後來增加了新的控制單元可以支持同時操作兩個DIMM,這就是我們通常說的Dual Channel(雙通道):
現在更有了Quad Channel,也就是四通道。在兩路服務器上還有八通道。
通道多了,就可以同時訪問更多的記憶體,記憶體帶寬理論上雙通道可以翻翻,四通道可以達到四倍帶寬!而我們知道,相對CPU和Cache而言,記憶體的延遲要高一個數量級,很多指令都是阻塞在等待記憶體完成。有了多通道,多內核訪問記憶體也似乎可以各不干擾,太好了!
理論是好的,但現實使用的時候,卻沒有那麼美好。程序編譯出來要訪問的虛擬記憶體地址是連續的,是有局部性的。而我們的記憶體在BIOS初始化的時候物理記憶體也是連續分配的,例如我們有四根4G的DIMM,盡管我們啟動了四通道,地址分配還是
0~4G => DIMM 0
4~8G => DIMM 1
8~12G => DIMM 2
12~16G => DIMM 3
盡管操作系統可以在虛擬地址到物理地址的轉換上動一下手腳,但程序訪問的局部性卻沒有根本性的改變。一個例子是我們程序只申請了1G記憶體,很可能這些記憶體被分配到了一個DIMM上,多通道根本沒有用上!
解決的辦法之一是物理記憶體分配的時候加入Interleave的支持:
也就是把記憶體打散了平均分配在多跟DIMM上,進行交錯,從根本上讓多通道利用起來,也叫做Channel Interleaving(和Rank interleaving不同)。這個是服務器記憶體控制器上的技術,台式機也逐漸引入,切記在BIOS中打開,不打開多通道的特性就損失大半:
在台式機上,多通道只有大型程序,在記憶體使用量很大的時候才能有所幫助,對小程序幫助不大。我們來看幾個例子。
單通道VS雙通道
見參考資料1視頻,國外玩家用1根8G VS 2根4G雙通道的結果。考慮到很多人不能翻牆,我這里截幾個片段來大致說明一下結果:
喜聞樂見的吃雞
刺客信條:起源
GTA V
看門狗2
可以看出2根4G雙通道比8G單通道性能高出15%到50%!
單通道 VS 雙通道 VS 四通道
見參考資料2,4根4G四通道 VS 2根8G雙通道 VS 1個16G單通道:
這時四通道有時占一點優勢,有時差不多,而8G雙通道相對16G單通道來說完全沒有優勢!這和上面的那個結果似乎是相反的,這是為什麼呢?
答案就在記憶體的使用量上,如果記憶體占用不到後面的DIMM上去,多餘的通道就不會產生多大的價值。
結論
適合自己的才是最好的。如果僅僅上上網,記憶體用量不大,多通道就沒有價值,反倒將來的擴展性就很重要,買根8G的記憶體就好。如果玩遊戲,可以考慮買兩根8G記憶體。不建議買4G組成四通道,這樣擴展性就完全喪失了。
此圖文來源於網路,如有侵權請聯繫刪除。
今日推薦
電腦越來越卡,C盤快滿了,C盤中哪些東西可以刪呢?讓我來告訴你
為什麼手機一旦修了就會變得很難用?很多人都不知道
它是大陸「永不破產」的公司,從不打廣告,每年交稅高達一萬億!
實名手機卡欠費後,既不充錢也不註銷,時間久了有什麼後果?
電動兩輪車一鍵啟動,真的需要麼?這幾款電動車2年前就有了!