Z博士:一般来说,体现内存延迟的就是我们通常说的时序,如DDR2-800内存的标准时序:5-5-5-18,但DDR3-800内存的标准时序则达到了6-6-6-15、DDR3-1066为7-7-7-20、而DDR3-1333更是达到了9-9-9-25!
土老冒:俺想知道博士所说的5-5-5-18、6-6-6-15等数字每一个都代表什么。
Z博士:这4个数字的含义依次为:CAS Latency(简称CL值)内存CAS延迟时间,这也是内存最重要的参数之一,一般来说内存厂商都会将CL值印在产品标签上。
第二个数字是RAS-to-CAS Delay(tRCD),代表内存行地址传输到列地址的延迟时间。第三个则是Row-precharge Delay(tRP),代表内存行地址选通脉冲预充电时间。第四个数字则是Row-active Delay(tRAS),代表内存行地址选通延迟。
除了这四个以外,在AMD K8处理器平台和部分非Intel设计的对应Intel芯片组上,如NVIDIA nForce 680i SLI芯片组上,还支持内存的CMD 1T/2T Timing调节,CMD调节对内存的性能影响也很大,其重要性可以和CL相比。
其实这些参数,你记得太清楚也没有太大用处,你就只需要了解,这几个参数越低,从你点菜到上菜的时间就越快。
土老冒:好吧好吧,俺自己也听得一头雾水,只需要记得它越低越好就行了。那么俺想问,为什么DDR3内存延迟提高了那么多,Intel和众多的内存模组厂商还要大力推广呢?
Z博士:其实DDR3内存的延迟也不仅仅是这么简单。DDR3内存的频率和带宽相比DDR2有了成倍的提升,为了保证高频率下数据传递的精确性,DDR3内存的总体延迟相比DDR2有所提高。这种情况在DDR2替代DDR时也发生过。
之前三星的半导体记忆体产品专家曾指出,片面地认为CL数值大就认为DDR3延迟表现不及DDR2,是完全错误无知的观念。这位专家指出,事实上,JEDEC定下的DDR2-533的CL 4-4-4、DDR2-667的CL 5-5-5,其记忆体延迟均为15ns。
三星专表示,要计算整个内存的延迟值,还需要把内存颗粒运行频率计算在内。如果DDR3-1066、DDR3-1333及DDR3-1600的CL值分别为7-7-7、8-8-8及9-9-9,把内存颗粒运行频率计算在内,其延迟值应为13.125ns(7*1000/533.33)、12.0ns及11.25ns,相比DDR2改善约25%,因此把CAS数值当成内存的延迟值是不正确的。
由此看来,CL和延迟值是两个完全不同的概念,CL是指时钟周期,如CL=5,表示CL值为5个周期,而真正意义上的延迟值,是指延迟的绝对时间,单位是ns,频率越高,自然一个周期所用的绝对时间也越短。很多人以为DDR3内存的延迟大大的增加了,但实际上DDR3内存的绝对延迟值相比DDR2却降低了。
土老冒:原来是这么个情况,如此说来DDR3的CL值增加了,但真正意义上的延迟却降低了。
Z博士:而且你也不必担心,尽管JEDEC将DDR3内存的时序设定得很保守,但实力雄厚的内存模组厂商肯定会推出低延迟的DDR3内存,就如同在DDR2时代,尽管DDR2-800内存的JEDEC规定时序为5-5-5-18,但却有DDR2-800 3-3-3时序的内存诞生,尽管它们的价格不菲。
土老冒:听了博士的解释,俺对DDR3内存的延迟、时序有了更深一步的了解了。俺想知道,DDR3内存带来了频率、带宽的大幅度提升,它是通过什么方式实现的呢?
Z博士:其实DDR2升级到DDR3,还是采用了老套路。从DDR到DDR2,采用了4Bit数据预取架构来实现,从DDR2到DDR3,则是采用了8Bit数据预取架构。实际上DDR3-800内存的存储单元频率于DDR2-400一样,仅有100MHz,但由于DDR2采用4Bit预取技术、DDR3采用了8Bit预取技术,它们的频率可以分别达到400MHz和800MHz。
土老冒:听到这里俺又昏了,什么是数据预取技术?
Z博士:数据预取技术,即Prefetch,它并不是新技术,早在DDR时代就开始应用。它是在一个时钟周期内,其上行和下行都能够传输数据,因此其传输速率比当时只能通过下行传输数据的SDRAM提高了一倍。它上行传输一位数据,下行传输一位数据,在一个时钟周期内一共传输两位即2Bit数据给北桥,这2Bit数据首先从存储单元取出来,然后在输入/输出时钟上行核下行传输出去,这就是2Bit数据预取技术。
举个不太恰当的例子,数据预取技术可以理解成目前流行的BT下载。以前我们下载东西都是客户端从服务器端下载,而BT下载则是互相的,你在下载数据的同时也上传了数据。
土老冒:原来如此,俺基本上懂点了,博士再详细解释一下DDR3内存的数据预取技术吧。
DDR3内存采用8Bit数据预取技术提升频率