若不清楚內存的工作方式建議查看https://api.xiaoheihe.cn/v3/bbs/app/api/web/share?h_camp=link&h_src=YXBwX3NoYXJl&link_id=f8ae70f191ea
1.爲什麼雙通道可以提升性能?
DDR4內存單個通道數據線的位寬是64bit,消費級平臺只有兩條內存通道總位寬爲64*2=128bit,而帶寬=頻率*位寬,所以DDR4雙通道增強性能的本質是提升了帶寬即數據吞吐量。
![]()
DQ即爲數據線
2.DDR5的單根雙通道
DDR5的單根雙通道是兩條32bit位寬的子通道和單根DDR4一樣都是64bit位寬,所以並不能直接提升帶寬,唯一的優勢是兩個子通道可以分別獨立進行讀寫,一些場景可以優化延遲,但是和我們所說的128bit雙通道根本不是一個東西。
3.DDR5爲什麼要搞雙子通道?
自DDR1-DDR3內存的核心頻率沒有任何增長,IO頻率卻每代都在翻倍,根本原因在於每代提升預取寬度,DDR1爲2bit,DDR2爲4bit,DDR3爲8bit。預取簡單來說就是一次尋址多次數據,每次尋址都有固定開銷而所需數據往往是連續的,所以乾脆將其後幾位的數據一同輸出給CPU,如8bit預取就是將尋址到的1bit數據+其相鄰地址後7bit數據一同發送。
由於內存內部是8個array是共享地址線的,所以一次尋址這8個array會同步輸出1bit,也就是1*8=8bit,同時進行預取,將後7位連續地址上的數據也輸出出去,合計就是8*8=64bit
![]()
array
內存總線位寬64bit,那麼實際輸出的數據就是64*8=512bit=64字節,正好對應CPU內部緩存的緩存行64字節的大小,刷新一個完整的緩存行。
DDR4則是加入bank group和提升一倍核心頻率直接讓IO頻率翻倍,預取寬度還是8bit
DDR5受限於技術和成本沒法翻倍核心頻率,那麼只能加預取,也就是16bit。但是這樣就有個問題一個通道64bit預取16bit,那麼輸入到緩存的數據總量是64*16=1024bit=128字節,一個緩存行只有64字節大小,多出來的部分就直接變成無用垃圾,所以就有了把64bit通道分成兩個32bit通道的操作,32*16=512bit=64字節,完美。
當然DDR5又加了一倍bank group還集成了PMIC這也是重要改變。
4.補充:bank group是幹嘛的?
DDR3只有bank沒有bank group,全部bank共享IO gating這時候訪問內存同一時間只能訪問一個bank
![]()
DDR3
DDR4增加bank group將全部bank分成2組或者4組,每個組稱爲一個bank group,不同bank group可以同時被訪問,同一個bank group內的bank只能被訪問一個,這樣就實現了多個bank被同時訪問,提升帶寬。
![]()
DDR4
5.補充:核心頻率/IO頻率/等效頻率
核心頻率:內存顆粒內部的頻率,由於電容充放電速度遠遠比不上mos管開關速度所以做不了很高。
IO頻率:IO緩衝區的頻率,一般也被稱爲內存實際頻率
等效頻率:由於DDR內存在一個時鐘週期上下沿各傳輸一次數據,所以IO頻率*2=等效頻率,商家宣傳的默認也是等效頻率
如下圖等效頻率爲3900Mhz,IO頻率爲1950Mhz,內存控制器頻率1950Mhz
![]()
6.問題:DDR5對遊戲提升如何?再提預取寬度對遊戲貌似影響已經不算很大了。
更多遊戲資訊請關註:電玩幫遊戲資訊專區
電玩幫圖文攻略 www.vgover.com
