DDR内存的“秘密“

计算机系统性能的改善,不仅仅取决于cpu主频的提升,还与cpu和内存之间的存取速度密切相关。在经常帮别人推荐电脑配置的时候,我常常会被别人问起,不同类型内存之间的区别。
直接从SDR开始。基本上,理解SDR是理解后面所有内存的基础,让我们看一个架构:

 

它传输的速度有多快呢?这个当然就取决于具体内存的型号,不过有一点是可以肯定的,那就是这个Cell的工作频率,和连接它的总线的数据传输频率是一样的(图中的f)

也就是说,假如这个Cell以每秒30Mb的速度往外发数据,那么这个总线的传输速度就是30Mb,而且内存传输是同步的,也就是说,图中的每个时钟上升沿,就是数据传输的时刻,而数据也只在每个时钟上升沿才进行传输。
 
SDR的结构很简单,所以思考也很简单,比如我们想提高SDR的速度,怎么弄?那就是提高频率呗,频率提高了,传输速度就上去了。但事实上,频率提高伴随的是能量消耗的提高,而且还需要提高工作电压来维持系统的稳定性。

前面我们说到Cell不止一个,实际上Cell数量是很多的,这样的话,代价就太大了。怎么办?DDR就因此登场了。让我们看看DDR的示意图:

和SDR比多了一个什么?输入输出的缓冲,还有一个变化,就是时钟沿变了。其实从DDR的名称我们就可以知道,它的数据传输率应该是SDR的两倍。怎么做到的呢?那就是我们不仅在时钟上升沿传数据,还在时钟下降沿传数据。
说起来貌似很简单,但肯定有朋友会想到一个问题:你说变两倍就变两倍啊?工作频率f不变,哪里来的两倍的数据量呢?对了,所以图中才会多出来一个buffer。

在设计中用了一个小技巧:我们对两个DramCells使用相同的列地址线,这样就可以平行访问它们,并将数据从双行的数据总线中传出,这样,buffer得到的数据量就是两倍了。
这种设计的改变,代价是非常小的,却对内存的性能有很大的提升。
接下来就该谈DDR2了。其实DDR2所做出来的改进,也不是什么革新性的东西,看图就明白了:

就是把buffer和总线的工作频率提高了一倍。频率提高一倍,就意味着带宽提高一倍。有朋友有疑问了,你刚才不是说“频率提高伴随的是能量消耗和工作电压的提高”,代价很大么?

是的,但是请注意,带宽的提高,在这里是取决于buffer的频率提高,事实上,Cell array的频率是没变的,换句话说,我们只是提高了内存中某个适合被提高频率的部件的频率,相对于内存模组来说,这只是一个小部件,提高它的频率不会消耗很大的能量,代价小得多。
我们还是对IO buffer的line做手脚,这次把它的频率提升到4倍,带宽也到了4倍,请注意,此时Cellarray的频率(核心频率)还是不变的。
当然,DDR3的改进要比当年DDR2的改进还是要大一些的,比如,它把工作电压从1.8V降到了1.5V,因此电能消耗相对就减少了。除此以外,核心die尺寸的减小,也给DDR3的功耗带来了可观的节省,换句话说,我们可以用相同的功耗,来获得更高的频率了。
好,讲到这里,估计很多朋友都会得到这么一个印象:改进嘛,那就是绕着弯子去提高频率,你加buffer不也是为了“代价更好”地提高频率么?

对,这是因为带宽的大小,本质上就是由频率所决定的。但是这并不意味着频率可以无限制提升,由于总线频率越高,我们能利用的总线并行化程度就越低。

我们拿DDR2举例子,DDR2内存有240pin的引脚,所有与数据和地址总线相连的引脚,PCB上布线的长度都必须几乎相等,这无疑极大增加了设计难度。

更糟糕的是,DDR2规范规定了,每个通道只能有两个模组,DDR3呢?这玩意的数据传输率太高了,所以它每通道的内存模块数量已经被限制到一个了。
这给系统带来的直接影响就是:我们可用的最大内存容量变小了。要知道,内存控制器(大部分在北桥中)能搞定的内存通道数量是有限的,多了就控制不过来了,很多的主板,都最大只支持4个DDR2或者DDR3模组,想一想,4条内存(假设都是单模组),你能得到多少容量?

要知道理论上,32位处理器也能支持64G的内存啊,别说64位了(不谈操作系统影响,反正至少Linux是没有限制的)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

博涛1211

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值