内存重要参数详解
重新花时间温习一下memory的一些概念,找了一些之前保存的文档,介绍ddr的相关概念的。现已找不到原文链接。
时序
内存的时序参数一般简写为2/2/2/6-11/1T的格式,分别代表CAS/tRCD/tRP/tRAS/CMD的值。 2/2/2/6-11/1T中最后两个时序参数,也就是tRAS和CMD(Command缩写),是其中较复杂的时序参数。目前市场上对这两个参数的认识有一些错误,因为部分内存厂商直接用它们来代表内存性能。
CMD Rate
Command Rate译为“首命令延迟”,这个参数的含义是片选后多少时间可以发出具体的寻址的行激活命令,单位是时钟周期。片选是指对行物理Bank的选择(通过DIMM上CS片选信号进行)。如果系统指使用一条单面内存,那就不存在片选的问题了,因为此时只有一个物理Bank。
用更通俗的说法,CMD Rate是一种芯片组意义上的延迟,它并不全由内存决定,是由芯片组把虚拟地址解释为物理地址。不难估计,高密度大容量的系统内存的物理地址范围更大,其CMD延迟肯定比只有单条内存的系统大,即使是双面单条。Intel对CMD这个问题就非常敏感,因此部分芯片组的内存通道被限制到四个Bank。这样就可以比较放心地把CMD Rate限定在1T,而不理用户最多能安装多少容量的内存。
宣扬CMD Rate可以设为1T实际上多少也算是一种误导性广告,因为所有的无缓冲(unbuffered)内存都应具有1T的CMD Rate,最多支持四个Bank每条内存通道,当然也不排除芯片组的局限性。
tRAS
tRAS在内存规范的解释是Active to Precharge Delay,行有效至行预充电时间。是指从收到一个请求后到初始化RAS(行地址选通脉冲)真正开始接受数据的间隔时间。这个参数看上去似乎很重要,其实不然。内存访问是一个动态的过程,有时内存非常繁忙,但也有相对空闲的时候,虽然内存访问是连续不断的。tRAS命令是访问新数据的过程(例如打开一个新的程序),但发生的不多。
接下来几个内存时序参数分别为CAS延迟,tRCD,以及tRP,这些参数又是如何影响系统性能的呢?
CAS
CAS意为列地址选通脉冲(Column Address Strobe 或者Column Address Select),CAS控制着从收到命令到执行命令的间隔时间,通常为2,2.5,3这个几个时钟周期。在整个内存矩阵中,因为CAS按列地址管理物理地址,因此在稳定的基础上,这个非常重要的参数值越低越好。
过程是这样的,在内存阵列中分为行和列,当命令请求到达内存后,首先被触 发的是tRAS (Active to Precharge Delay),数据被请求后需预先充电,一旦tRAS被激活后,RAS才开始在一半的物理地址中寻址,行被选定后,tRCD初始化,最后才通过CAS找到精确的地址。整个过程也就是先行寻址再列寻址。从CAS开始到CAS结束就是现在讲解的CAS延迟了。因为CAS是寻址的最后一个步骤,所以在内存参数中它是最重要的。
tRCD
根据标准tRCD是指RAS to CAS Delay(RAS至CAS延迟),对应于CAS,RAS是指Row Address Strobe,行地址选通脉冲。CAS和RAS共同决定了内存寻址。RAS(数据请求后首先被激发)和CAS(RAS完成后被激发)并不是连续的,存在着延迟。然而,这个参数对系统性能的影响并不大,因为程序存储数据到内存中是一个持续的过程。在同个程序中一般都会在同一行中寻址,这种情况下就不存在行寻址到列寻址的延迟了。
tRP
tRP指RAS Precharge Time ,行预充电时间。也就是内存从结束一个行访问结束到重新开始的间隔时间。简单而言,在依次经历过tRAS, 然后 RAS, tRCD, 和CAS之后,需要结束当前的状态然后重新开始新的循环,再从tRAS开始。这也是内存工作最基本的原理。如果你从事的任务需要大量的数据变化,例如视频渲染,此时一个程序就需要使用很多的行来存储,tRP的参数值越低表示在不同行切换的速度越快。
颗粒封装技术
1、SIMM(Single Inline Memory Module,单内联内存模块)
内存条通过金手指与主板连接,内存条正反两面都带有金手指。金手指可以在两面提供不同的信号,也可以提供相同的信号。SIMM就是一种两侧金手指都提供相同信号的内存结构,它多用于早期的FPM和EDD DRAM,最初一次只能传输8bif数据,后来逐渐发展出16bit、32bit的SIMM模组,其中8bit和16bitSIMM使用30pin接口,32bit的则使用72pin接口。在内存发展进入SDRAM时代后,SIMM逐渐被DIMM技术取代。
2、DIMM
DIMM与SIMM相当类似,不同的只是DIMM的金手指两端不像SIMM那样是互通的,它们各自独立传输信号,因此可以满足更多数据信号的传送需要。同样采用DIMM,SDRAM 的接口与DDR内存的接口也略有不同,SDRAM DIMM为168Pin DIMM结构,金手指每面为84Pin,金手指上有两个卡口,用来避免插入插槽时,错误将内存反向插入而导致烧毁;DDR DIMM则采用184Pin DIMM结构,金手指每面有92Pin,金手指上只有一个卡口。卡口数量的不同,是二者最为明显的区别。
DDR2 DIMM为240pin DIMM结构,金手指每面有120Pin,与DDR DIMM一样金手指上也只有一个卡口,但是卡口的位置与DDR DIMM稍微有一些不同,因此DDR内存是插不进DDR2 DIMM的,同理DDR2内存也是插不进DDR DIMM的,因此在一些同时具有DDR DIMM和DDR2 DIMM的主板上,不会出现将内存插错插槽的问题。
3、RIMM
RIMM是Rambus公司生产的RDRAM内存所采用的接口类型,RIMM内存与DIMM的外型尺寸差不多,金手指同样也是双面的。RIMM有也184 Pin的针脚,在金手指的中间部分有两个靠的很近的卡口。RIMM非ECC版有16位数据宽度,ECC版则都是18位宽。由于RDRAM内存较高的价格,此类内存在DIY市场很少见到,RIMM接口也就难得一见了。