DDR3和DDR4内存的区别是什么,都有哪些提高? 从使用和原理来讲讲吧

谢邀。DDR4已经在市面上好几年了,DDR5的draft也已经起草完毕,它的支持已经在视线可及的地平线上。作为BIOS从业者,可以说内存初始化是BIOS中最重要的部分。别的答案从使用方面多有涉猎,但技术上则语焉不详。我今天就从DDR4到底比DDR3强在哪里,DDR5又有些什么特性可以期待。

DDR3和它的先辈们

可以说DDR4是DDR系列从SDRAM脱胎以来,变化最大的一次。为什么这么说呢?如果我们看DDR3和它的前辈们的演变关系:

注意我红框标出的DRAM的核心频率基本不变,传输速度的提高是通过增加prefetch的位数(黄框)来做到的。例如同样是100MHz的核心频率,SDRAM一周期取一次,它和内存控制器的速度是100M T/s(这里的T是传输的意思);DDR上升沿下降沿各取一次,相当于2次prefetch,Bus速度变成200;DDR2变成4n prefetch,Bus speed变成400;DDR3,照此办理,8n带来了800。

DDRx的核心频率一直维持在100Mhz到266MHz的水平上,每代速度的提升都是靠倍增Prefetch的个数来达到的。我们看DDR2和DDR3的对照表:

DDR2,注意看Clock rate。(来源wikipedia,参考资料1)
DDR3,注意看cell array clock(来源wikipedia,参考资料2)

这么做有什么好处吗?当然最重要的是降低成本和省电了。如果看看内存颗粒里面的结构:

DDR2,4n prefetch

和外部Bus速度相同的是紫色部分(front end),而大片白色的部分(back end)都是工作在核心频率下,也就是100~266HMz下。低速带来了两个好处:

1.低频漏电流小,功耗低。

2.工艺简单,可以大规模堆量。

聪明的工程师从DDR开始不停的倍增prefetch,帽子戏法一而再,再而三上演,DDRx的外部总线带宽稳步提升,成本却提高不大,两全其美,太棒了。直到DDR4,这个故事不能够继续上演。

DDR4来了

DDR4当然和前代每次变化一样,降低了电压;增加了地址线Ax,所以可以支持更大容量。除此之外,有个明显的不同变化,prefetch的变化停止了。

DDR4和DDR3一样,只有8n的prefetch,但为了提升前端Front End的总线速度,不得不在核心频率上动起了手脚:

DDR4,来源wikipedia(参考资料3)

核心频率不在徘徊在100~266HMz,直接200起跳,到400Mhz。因为核心频率提高,8bit的prefetch不变,总线速度才得以提升。

现在我给大家留一个思考题,为什么DDR3之前可以不停提高prefetch,而DDR4却不行了?这里给一点提示,和Cache line和BL(Burst Length)有关。我过一阵会把这篇回答贴到专栏,在那里我会公布答案,也欢迎在评论区留言。

DDR4还有个巨大且很有意思的改变,也和效能有关。那就是Bank Group:

随着Bank Group还带来了两个新Timing:tCCD_S和tCCD_L。CCD代表“Column to Column Delay”。S是Short,L是Long。每个Group都可以单独工作,一次完整的8n prefetch不需要等待另一个group,所以是短的delay,也就是tCCD_S,一般是4。Group内部,每次都要等待一个更长的时间,也就是tCCD_L,tCCD_L随不同频率各不相同。

如果我们的数据十分凑巧,都分布在不同的group中,Bank Group会带来巨大的性能提升。最好情况下,2个bank group和16n prefetch的提升一样,4个bank group和32n prefetch一样。如果我们的数据刚好都在一个bank group中,频率又十分高,最坏情况,bank group不会带来任何好处。借助Bank interleave,我们的实际情况一般在最好和最坏之间。

DDR4借助核心频率的提升和bank group,性能提升不少。即使PC4-12800和PC3-12800相比,无论功耗和性能,都有不少提高。

DDR5会带来什么?

DDR5的标准尚未公布,据悉会进一步降低电压,这当然是拜现在芯片工艺提升所赐。另外prefetch会进一步从8n prefetch变成16n prefetch。

有同学会问了,你刚才说了DDR4不能从8n变成16n,是碰到了巨大的问题。为什么DDR5又没有问题了呢?因为协议没有公布,等公布后我们再来回顾这个问题。

(0)

相关推荐