分类: LINUX

2014-09-12 09:41:58

原文地址:内存重要参数详解 RAS CAS 作者:Reny

http://blog.chinaunix.net/u/9205/showart_1091970.h
时序

  内存的时序参数一般简写为 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接口也就难得一见了。

【转贴】内存重要参数详解 RAS CAS的更多相关文章

  1. linux的vm.overcommit_memory的内存分配参数详解

    公司的redis有时background save db不成功,通过log发现下面的告警,很可能由它引起的: [13223] 17 Mar 13:18:02.207 # WARNING overcom ...

  2. Nginx主配置参数详解,Nginx配置网站

    1.Niginx主配置文件参数详解 a.上面博客说了在Linux中安装nginx.博文地址为:http://www.cnblogs.com/hanyinglong/p/5102141.html b.当 ...

  3. mysql5.6主从参数详解

    mysql5.6的主从相当的不错,增加了不少参数,提升了主从同步的安全和效率,以下是mysql5.6主从参数详解. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  4. Mysqldump 参数详解(全)

    Mysqldump 参数详解(全) http://www.open-open.com/lib/view/open1358172843762.html mysqldump -S /tmp/mysql33 ...

  5. mysqldump的常用语句及各参数详解

    mysqldump的常用语句及各参数详解 分类: MySQL 2011-01-11 17:55 1368人阅读 评论(0) 收藏 举报 数据库mysql服务器tableinsertdatabase m ...

  6. Nginx 主配置文件参数详解

    Nginx 主配置文件参数详解 Nginx 安装完毕后,会有响应的安装目录,安装目录里 nginx.conf 为 nginx 的主配置文件, ginx 主配置文件分为 4 部分,main(全局配置). ...

  7. ASP.NET性能监视参数详解

    性能监视器- Performance Monitor 性能监视器是Windows自带的系统资源和性能监视工具. 性能监视器能够量化地提供CPU使用率, 内存分配状况, 异常派发情况, 线程调度频率等信 ...

  8. JAVA命令参数详解

    JAVA命令参数详解 JAVA命令详解 结构 说明 Java 和 OldJava JIT 选项 另请参阅 结构 java [ options ] class [ argument ... ] java ...

  9. JVM的参数详解(转)

    12年毕业到先在处理第一年外这几年纯属于打酱油,当初自学Java然后就出来找工作了,还有第一家面试就通过了挺幸运的 但之后的这段时间一直是处于吃老本的状态.最近心情真的很不好,各种黄老邪!一直处于堕落 ...

随机推荐

  1. window、BOM、 document、 DOM

    window:  顾名思义,窗口,浏览器窗口.是Window构造函数的一个实例对象. 它包含浏览器的一些属性和方法,如screen,location,history,setInterval等. // ...

  2. java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK

    在pom.xml文件中添加如下依赖: <!-- https://mvnrepository.com/artifact/cn.easyproject/orai18n --> <depe ...

  3. 【概率论】3-1:随机变量和分布(Random Variables and Discrete Distributions)

    title: [概率论]3-1:随机变量和分布(Random Variables and Discrete Distributions) categories: Mathematic Probabil ...

  4. 2018CCPCFINAL B Balance of the Force 枚举最大值

    题意 n个人能选择黑暗面和光明面,选择两个面分别能获得\(L_i\)和\(R_i\)的力量,有m对人不能选择同一面,问n个人的力量中的最大值-最小值尽可能小为多少. \(1<=n<=2\t ...

  5. c++容器 算法 迭代

    #include <iostream> #include <vector> using namespace std; int main() { // 创建一个向量存储 int ...

  6. Python语法 - 生成器

    生成器基本概念 1 生成器不会把结果保存在一个系列中,而是保存生成器的状态,在每次进行迭代时返回一个值,直到遇到StopIteration异常结束 2 生成器表达式能做的事情列表解析基本都能处理,只不 ...

  7. Java微信公众号开发梳理

    Java微信公众号开发梳理 现在微信公众平台的开发已经越来越普遍,这次开发需要用到微信公众平台.因此做一个简单的记录,也算是给那些没踩过坑的童鞋一些启示吧.我将分几块来简单的描述一下,之后会做详细的说 ...

  8. pwn学习日记Day21 《程序员的自我修养》读书笔记

    Linux内核装载ELF过程 (1)bash进程调用fork()系统调用创建一个新的进程 (2)新的进程调用execve()系统调用执行指定的ELF文件,原先的bash进程继续返回等待刚才启动的新进程 ...

  9. 会声会影x7 每次安装均会提示:已安装这个产品的另一个版本

    会声会影x7 每次安装均会提示:已安装这个产品的另一个版本 卸载C++2008 的库就行了 文章来源:刘俊涛的博客 欢迎关注,有问题一起学习欢迎留言.评论

  10. Oracle SQL的优化

    SQL的优化应该从5个方面进行调整:1.去掉不必要的大型表的全表扫描2.缓存小型表的全表扫描3.检验优化索引的使用4.检验优化的连接技术5.尽可能减少执行计划的Cost SQL语句:是对数据库(数据) ...