若不清楚内存的工作方式建议查看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
