内存名称详解PC-66这种内存使用66MHz的频率,而这也是第一代的SDR SDRAM内存。
PC-100同样的,这种内存只是将工作频率提升到了100MHz,工作在CAS3模式下。
PC-133这次改变还是只是将频率提升到133MHz,同样工作在CAS3模式下。
PC-150这种内存并非官方发布的一个版本,而PC-150实际上就是一个超频版的内存。
通常这种内存可以运行在150MHz频率CAS3模式或者是133MHz频率CAS2模式下,但是据说Corsair 的PC-150内存可以在150MHz 的频率下以CAS2的模式工作。
PC-166另外一类超频内存,只是单纯的超频使得频率达到了一个新高点而已,仍然运行在CAS3之下。
PC-180可以算作是另类的超频内存了,它简单的将频率提升到了180MHz,但是我个人认为这种内存没有实际使用的意义,因为毕竟现在DDR内存的价格已经是非常便宜了。
DDR SDRAMDDR内存按照速度分类就可以用两种方法来进行分类了。
第一种就是以DDRXXX这种方式命名。
后边的“XXX”就表示了这个内存是以两倍于XXX的速度运行的内存。
另外一种就是以PCXXXX进行命名。
后边的“XXXX”就是内存的带宽。
PC1600此类DDR内存就是最早的一代DDR内存了。
它的工作频率为200MH(由于是DDR内存,所以频率增加一倍,就是100MHz x2所以实际上这类内存是工作在200MHz的频率下的),而工作模式为CAS2.5。
DDR266/PC2100现在最普遍见到的DDR内存,工作频率为266MHz,工作模式为CAS2.5。
PC2400又是一个非官方版本的DDR内存。
实际上就是通过对内存颗粒的筛选、改造而制造成质量上乘的超频DDR内存。
这样,让它们可以在150MHz(实际使用中双倍变为300MHz)的频率下工作在CAS2的模式下。
Corsair就是其中的一个厂商。
DDR333/PC2700官方发布的一个DDR内存版本,通过将内存频率增加到166MHz DDR(实际工作中双倍变为333MHz)的CAS2.5模式,来提升系统性能。
PC3000DDR内存的一个超频版,将内存超频到183 x 2的366MHz,并且工作在CAS2的模式下。
同样的,这些内存还是由比如象Corsair这样的一些大内存生产商提供。
DDR400/PC3200目前还没有通过官方认可,工作的频率——200MHz DDR(实际工作频率为400MHz)。
RDRAMRDRAM 内存的命名方式和DDR内存非常相似。
统一命名采用PCXXX的格式,而其中的XXX 就接近于内存实际工作频率。
PC600这是第一代的RDRAM。
工作频率为300MHz DDR (也就是实际工作频率为600MHz)。
PC700也是第一代的RDRAM内存。
工作频率为356MHz DDR (也就是实际工作频率为712MHz)。
PC800这也是第一代的RDRAM内存版本。
工作频率为400MHz DDR (实际工作频率为800MHz)。
这是至今为止能买到的最高频率的内存。
PC1066这是RDRAM中新的一代内存,它运行在533MHz DDR之下,实际工作频率达到了1.66MHz。
很明显这是和Intel的Northwood P4想搭配使用的,因为Northwood P4正好也是使用的533MHz的前端总线频率。
PC1200未来的16-bit 的RDRAM内存。
和PC1066/800类似,他的运行频率将在600MHz DDR (实际为1200MHz这个频率之下)。
也许大家都注意到了,前边我们所提到的内存都是16位的。
而我们从技术特点上分析16位的内存都对于高要求的系统来说已经有点捉襟见肘了,所以,市场迫切需要32位的RDRAM内存面市。
而正因为这样,才有了我们后边的RIMMXXXX系列内存。
RIMMXXXX内存是32位RDRAM内存的一个标示方式。
后边的XXXX就表示的是内存的带宽。
RIMM 3200未来的32-bit的RDRAM内存。
而这个时候RIMM 3200 将会运行在400MHz DDR频率之下 (实际工作频率为800MHz),这个速度和PC800的RDRAM正好一样,但是实际上它们也有了质的不同了——毕竟这是32位的存储器了。
RIMM 420032位的RDRAM内存,运行频率为533MHz DDR (实际频率为1066MHz)——同PC1066 RDRAM 运行速度类似。
RIMM 480032位的RDRAM内存,工作频率为600MHz DDR (实际频率为1200MHz)——同PC1200 RDRAM 的速度一样。
计算内存带宽内存的带宽总量可能是决定一组内存的性能的重要标准之一了。
这个是什么意思呢?其实真正理解起来不难,而且还非常容易计算。
我们刚才所说的内存带宽总量其实就是在理想状态下这一组内存在一秒内所能传输的最大数据容量。
公式也很简单:内存带宽总量(MBytes) = 最大时钟速频率 (MHz) x 总线宽度 (bits) x 每时钟数据段数量/ 8好了,我们还是来解释解释吧。
“每始终数据段数量”这个是最好理解的了——你只需要记住,如果你的内存是SDR那么这里这个值就等于1,如果您使用的是DDR或者是RDRAM 的话,那么这个值就是2。
然后我们再将这个值除以8的意义就是将位这个单位换算成为字节。
所以说,对于一般的标准PC2100 DDR内存来说,他的最大时钟频率应该是133MHz,而它的内存总线宽度为64bit,每时钟数据段数为2。
所以(133x64x2)/8 = 2128MB/s。
一秒种能够传输2128MB,现在你知道为什么叫做PC2100了吧?再来一个例子。
这次就拿PC800的RDRAM来计算吧。
最大时钟频率为400MHz,内存总线宽度为16bit,每时钟数据段数为2,那么套用公式了之后就是(400x16x2)/8 = 1600MB/s。
从这里的大家可以看的出来吧,PC2100的DDR内存能够提供高达2.1GB/s 的带宽,而RDRAM内存的带宽只能达到1.6GB/s,但是需要大家注意的是,由于RDRAM是曾对使用,两条内存一共可以3.2GB/s的内存带宽,而新一代的RIMM内存(总线为32位的RDRAM内存) 将会使用两个数据通道进行工作,所以,他们的带宽几一下增加了一倍——这样就成为了3.2GB/s,并且单独一条内存即可使用。
我们后边的讨论可能会将重心放在SDRAM内存上,因为毕竟这种内存是时至今日用得最多的一种内存。
内存时钟首先要我要理性的给大家说,内存的性能并不单单只是由它传送数据的快慢决定的。
内存从接受到请求到对这个请求作出反应也是决定内存的性能一个非常重要的因素。
而现在大多数的内存性能都被这个重要的因素所制约着,它就是——持续反应时间(潜伏期)。
由于当前RDRAM的持续反应时间比较高,所以,在很大程度上影响了RDRAM内存的性能,并且RDRAM的价格比较高昂,导致现在很多人已经不在向往RDRAM,而投向了DDR内存的怀抱。
内存设置参数行地址控制器 (CAS)行地址控制器(CAS)可能是最能决定内存模块对数据请求进行响应的因素之一了。
通常我们把这个叫做CAS延迟,一般来说,在SDR SDRAM中,我们可以设定为2 或者3(当然是根据自己内存的具体情况而定)。
对于DDR内存来说,我们一般常用的设定为2 或者2.5。
内存中最基本的存储单元就是柱面,而这些柱面通过行和列的排列组成了一个矩阵。
而每个行和列的坐标集就代表了一个唯一的地址。
所以内存在存取数据的时候是根据行和列的地址集来进行数据搜索的。
寻址到可用(Trp)/CAS到RAS (CMD)相对而言,Trp以及CMD时间并没有CAS时间那么重要,但是也是足以影响内存的性能的了。
一般这个地方设置的值为3 (时钟循环),如果把这个这个值改小为2,就可以提升一点内存性能。
列地址控制器(RAS) /其他延迟内存本身就是一个非常复杂的零部件,可以这么说,计算机内部工作过程最复杂的就是存储器了。
但是幸好这些烦琐的工作对于我们这些最终用户来说是透明的,而我们平时用来判断内存性能、质量好坏的这些参数也只是其中的一些部分而已。
有两个是不得不提到的,那就是RAS延迟和另外两个延迟。
RAS 通常为6个始终循环,但是实际上在超频中可以将它修改为5。
Command rate(指令比率)是另外一个比较普遍的延迟。
允许进行的设置为1T或者是2T,而通常2T是默认的设置,1T就要比2T稍微快一点点。
另外一个需要注意的地方就是Row Cycle Time (Trc,列循环时间),这个参数一般为3或者2。
其他一些和内存紧密相关的参数:Bank 激活时间Bank 循环时间已装载数据到充电前时间已装载数据到激活时间Bank到Bank延迟大多数的这些参数都是在内存出厂的时候由厂商根据内存的型号种类设定好了的,比如说PC2100 DDR, PC800 RAMBUS, PC133 SDR等等,他们不同的内存会给他们设置不同的参数。
而我们不能够自己随意的改动它。
校验内存和缓冲内存和以上我们介绍的内存又有不一样的地方。
为了同步内存的时钟频率(这在一些特殊的情况下要求特别严格),数据在输出前是要首先被放到一个叫做“校验区”的存储模块中,这样很多人都把这种内存叫做“校验内存”。
这样就可以保证所有从内存中读出的数据都是“同步”的,这样就可以避免很多的数据读写错误了。
这样的一个校验过程将会消耗掉一个时钟循环,所以理论上CAS 2的校验内存将会和CAS 3的非缓冲内存性能相当——不要嫌弃,这一切都是为了数据的稳定。
也许有一些朋友会注意到,当他们把内存设置到CAS 2工作模式下的时候,反而系统的性能还没有默认的CAS 2.5/3好了,这是什么原因呢?我的理解是这样的:内存根本就不能稳定的工作在那种模式下,而用户强行的将内存设置为那种工作模式,这样的话就会在存取数据的时候不时的造成数据“丢失”,这样数据不能取得,当然就只能重新读取,这样就浪费掉了很多的时间,当然系统效率就变低了哦。
举个例子方便理解吧。
内存试着去搜索所有的行和列,但是如果它在这个时钟循环中并没有能够完成这次数据读取,那么就只有等待下一个循环,本来用一个时钟循环就能够解决的问题而现在需要用两个时钟循环甚至三个去完成,这就明显的降低了系统效率。
这个时候,越是高的频率越容易导致错误。
内存交错模式由于在这些延迟的时间间隔内,内存是不能进行读写工作的,所以这个等待时间也造成了内存暂时工作停止。
为了避免这种情况发生,内存就可以使用交错模式,但是一般来说,内存默认这项功能是关闭的。
如果要提高性能的话,那么就把这个模式设置为2-way甚至4way。
我们再来复习一遍内存的循环过程“CAS -> CMD -> RAS -> 输出数据”。