RSS
当前位置 : 主页>电脑文章>电脑硬件>

内存基本知识

来源:互联网 作者:佚名 时间:12-10 11:23:59 浏览:

内存正式的叫法是内存储器,以示与外存储器区别,有时它也叫做主存。之所以叫做内存储器,是因为在物理上它安装在计算机内部,通常是安装在主板上。它的作用就是供暂时存储处理器需要处理的数据或处理后的结果。即是说,内存是计算机处理器的工作空间。它是处理器运行的程序和数据必须驻留于其中的一个临时存储区域。内存存储是暂时的,因为数据和程序只有在计算机通电或没有被重启动时才保留在这里。在关机或重启动之前,所有修改过的数据应该保存到某种永久性的存储设备上(如硬盘),以便将来它可以重新加载到内存里。

构成内存的部件或器件叫做RAM,是“random access memory(随机存取存储器)”的缩写。因此有时也将内存称为RAM,这是因为用户可以随机地(并且迅速地)读取内存中的任何位置上的数据,并能将数据写入到希望的位置上。但这个名称有些误导,经常被错误地理解。例如,只读存储器(ROM)也是可随机访问的,但它与系统的 RAM不同,因为存在其中的数据不会因为断电而丢失,也不会被随意地向其中写入数据;磁盘存储器也是随机可访问的,但我们也不把它看作RAM。这是因为,磁盘存储器虽然可以随时读取和写入,但在断电时磁盘存储器仍可靠其磁性将数据保存住而不丢失。

内存的容量常以字节、千字节和兆字节来表示。实际上磁盘存储器的容量也是由这些术语来表示。内存和磁盘存储器之间的区别,可以以放着桌子和文件柜的一个小办公室来比喻。

在这个通俗的比喻里,文件柜代表系统的磁盘存储器(如硬盘),程序和数据存储在这里以便长期保存。桌子代表系统的主存,它允许在桌边工作的人(处理器)直接访问桌上的任何文件。文件代表可以加载到内存里的程序和文档。要操作一个特定的文件,首先必须从柜子里取出它并放到桌子上。如果桌子足够大,可以一次在上面打开多个文件。同样,如果系统有更多的内存,就可以运行更多更大的程序,操作更多更大的文档。

在系统里添加硬盘空间就像将一个更大的文件柜摆到办公室里,可以永久存储更多的文件。将更多的内存加到系统里就像换一张更大的桌子,用户可以同时工作于更多的程序和数据。

这个比喻和计算机里实际工作方式的不同在于当一个文件加载到内存时,它是实际被加载文件的一个副本,原始的文件仍驻留在硬盘上。注意由于内存的临时性特征,在加载到内存之后发生变化的所有文件必须在系统关闭前存回硬盘。如果改变了的文件没有被保存,则硬盘上文件的原始副本仍然是未改动的。这就像是对桌面上的文件所作的任何修改当办公室关门时都被丢弃,尽管原来文件本身仍在文件柜里。

物理上讲,系统里的主存由一组芯片组成的模块组成,它被安装在主板的相应内存插槽上。这些芯片或模块的电子和物理设计都不同,必须与装载它们的系统兼容才能正确地工作。在本章里,会讨论在不同系统里安装的各种芯片和模块。

为了更好地理解系统里的物理内存,应该明白它在系统里的位置以及是怎样嵌入系统里的。现代的PC里主要有三种类型的物理内存芯片:

ROM。只读存储器。即只能有条件的写入,但可随机读取;断电后存储在其中的数据不会丢失。它的作用是,保存不能丢失的,计算机运行时必须使用的程序和数据,如主板BIOS及适配卡的BIOS等。目前在嵌入式系统,如掌上电脑等更加普遍地使用ROM,但在这些系统中通常称为闪存或固件。它们具有ROM的性质。

DRAM。动态随机访问存储器。即可随机的写入也可随机的读取;断电后存储在其中的数据即刻丢失。这种内存的另一重要特点是,需要每隔一定的时间,将存储在其中的数据重新写入一次,即刷新。DRAM的作用是,保存处理器需要使用的程序和需要处理的数据的拷贝,和处理器处理之后的数据。

SRAM。静态RAM。它与DRAM特性类似,只是不需要定时刷新。由于SRAM的价格比DRAM昂贵,但比DRAM速度快,因此它往往作为缓存使用。

 

内存储器的性能——速度和类型

内存的速度

内存的速度和性能问题会令一些人感到困惑,这是因为内存速度通常以ns(纳秒)表示,而处理器速度总是用MHz(兆赫兹)或GHz(吉赫兹)表示。最近一些更新更快的内存也用MHz表示速度,这更增加了迷惑性。下面提出一种将它们互相转换的方法。

纳秒被定义为一秒的十亿分之一——即10-9秒,这是一个非常短的时间。为了更直观地体现,我们用光速来说明,光在真空里的速度是每秒299 792公里。在十亿分之一秒里,一束光只能传输29.98厘米,比通常的标尺都短。

芯片和系统的速度一直使用兆赫兹(MHz)来表示,即每秒百万个周期。现在有的系统已带有2000MHz2GHz或每秒二十亿个周期)或更快的处理器,在一两年之内就可以看到达到 3GHz4GHz的处理器。

使用这些不同的术语讨论速度是令人费解的,因此将它们比较一下可能会有趣些。表5-1对于过去、今天和未来的PC速度给出了纳秒(ns)和兆赫兹(MHz)之间的关系。

5-1  处理器的兆赫兹(MHz)表示与以纳秒(ns)为单位的周期时间的关系

时钟速度

周期时间

时钟速度

周期时间

时钟速度

周期时间

4.77MHz

210ns

225MHz

4.4ns

750MHz

1.33ns

6MHz

167ns

233MHz

4.3ns

766MHz

1.31ns

8MHz

125ns

250MHz

4.0ns

800MHz

1.25ns

10MHz

100ns

266MHz

3.8ns

833MHz

1.20n5

12MHz

83ns

300MHz

3.3ns

850MHz

1.18ns

16MHz

63ns

333MHz

3.0ns

866MHz

1.15ns

20MHz

50ns

350MHz

2.9ns

900MHz

1.11ns

25MHz

40ns

366MHz

2.7ns

933MHz

1.07ns

33MHz

30ns

400MHz

2.5ns

950MHz

1.05ns

40MHz

25ns

433MHz

2.3ns

966MHz

1.04ns

50MHz

20ns

450MHz

2.2ns

1000MHz

1.0ns

60MHz

17ns

466MHz

2.1ns

1100MHz

0.91ns

66MHz

15ns

500MHz

2.0ns

1133MHz

0.88ns

75MHz

13ns

533MHz

1.88ns

1200MHz

0.83ns

80MHz

13ns

550MHz

1.82ns

1300MHz

0.77ns

100MHz

10ns

566MHz

1.77ns

1400MHz

0.71ns

120MHz

8.3ns

600MHz

1.67nx

1500MHz

0.67ns

133MHz

7.5ns

633MHz

1.58ns

1600MHz

0.63ns

150MHz

6.7ns

650MHz

1.54ns

1700MHz

0.59ns

166MHz

6.0ns

666MHz

1.5ns

1800MHz

0.56ns

180MHz

5.6ns

700MHz

1.43ns

1900MHz

0.53ns

200MHz

5.0ns

733MHz

1.36ns

2000MHz

0.5ns

从上表可以看出,随着时钟速度的提高,周期时间也相应地下降。

如果分析这张表,可以清晰地发现,在典型PC里使用多年的60ns DRAM内存与400MHz和更高的处理器速度比较起来是完全不够的。在1998年以前,PC里使用的大部分DRAM存储器的访问时间为60ns或更大,这相当于16.7MHz或更低的速度。这个极慢的16MHz内存已经安装在 300MHz或更高速度的系统里,因此处理器和主存性能之间存在着很大的不匹配。2000年的主流内存是100MHz133MHz内存,分别称为PC100PC1332001年初,200MHz266MHz的双数据速率(DDR)内存和800MHzRDRAM越来越流行。

1GHz处理器要从133MHz内存读多个字节的数据时会发生什么情况?会出现大量的等待状态!一个等待状态是处理器在等待数据就绪之前必须执行的一个额外的“什么也不做”的周期。由于内存周期为7.5ns133MHz),而处理器周期为1ns1GHz),处理器需要执行6个等待状态,然后数据才会在第7个周期准备好。以这种方式增加等待状态实际是将处理器速度减慢至内存速度,在本例中仅为133MHz。为了减少所需的等待状态数,已出现了几种更快的内存和高速缓存。

PC的发展史上,内存一直难于跟上处理器的速度,需要多级高速缓存来缓和处理器对较慢主存的请求。表5-2给出了PC里系统板(主板)速度以及主存或RAM的不同类型和速度之间的发展和关系以及这些变化对总带宽的影响。

5-2  内存总线带宽

内存总线

内存总线宽度

内存总线速度

数据周期/

带宽

类型

bytes)

MHz)

时钟周期

MB/sec)

FPM DRAM

8

22

1

17

EDO DRAM

8

33

1

266

PC66 SDRAM

8

66

1

533

PC100 SDRAM

8

100

1

800

PC133 SDRAM

8

133

1

1066

PC1600 DDR-SDRAM

8

100

2

1600

PC2100 DDR-SDRAM

8

133

2

2133

PC600 RDRAM

2

300

1

1200

PC700 RDRAM

2

350

2

1400

PC800 RDRAM

2

400

2

1600

PC800 RDRAM Dual Channel

4

400

2

3200

一般来讲,内存总线的吞吐量与处理器总线的吞吐量相等时系统性能最高。比较表5-2中内存总线的速度与表5-3中处理器总线的速度就会发现,一些内存总线的速度与某些处理器总线的速度是相等的;多数情况下,与CPU总线吞吐量匹配的内存最适合于那些使用这种CPU的系统

5-3根据其带宽的大小列举了各种处理器总线的相对速度。

5-3  处理器总线带宽

CPU总线类型

CPU总线宽度

CPU总线速度

数据周期/

带宽

 

bytes)

MHz)

时钟周期

MB/sec)

33MHz 486 CPU FSB

32

33

1

133

66MHz 64位CPU FSB

64

66

1

533

100MHz 64位CPU FSB

64

100

1

800

133MHz 64位CPU FSB

64

133

1

1066

200MHz 64位CPU FSB

64

100

2

1600

266MHz 64位CPU FSB

64

133

2

2133

400MHz 64位CPU FSB

64

100

4

3200

FSB=Front Side Bus(前端总线)

下面对表5-3中所提到的DRAM类型作一简单介绍(只介绍其中最主要的)。

DRAM芯片类型

快速页模式DRAM

标准的DRAM是通过分页(paging)技术进行访问的。正常的内存访问需要选择一个行地址和一个列地址,这会耗费时间。分页通过保持行地址不变而只改变列地址,可以对给定行的所有内存数据进行更快的访问。使用这种技术的内存被称为页模式(Page Mode)或快速页模式(Fast Page Mode, FPM)内存。页模式的其他变种包括为静态列(Static Column)或半字节模式(Nibble Mode)内存。

内存分页是一种改善内存性能的简单机制。为了进一步提高内存访问速度,系统已发展成允许对DRAM进行更快的访问。一个重要的变化是在486和以后的处理器里实现了突发模式访问。突发模式是利用大多数内存访问的连续特性。对一个给定的访问在建立行和列地址之后,使用突发模式,就可以访问后面3个相邻的地址,而不需额外的延迟或等待状态。一个突发访问通常限制为4次正常访问。为了描述这个过程,我们经常以每次访问的周期数表示计时。一个标准DRAM的典型突发模式访问表示为x-y-y-yx是第一次访问的时间(延迟加上周期时间),y表示后面每个连续访问所需的周期数。

如,60ns DRAM通常运行5-3-3-3突发模式定时。这表示第一次访问总共需要5个周期在66MHz系统总线上,这大约是75ns5×15ns周期),后续的周期则每个都需要3个周期(3×15ns=45ns)。你可以看到,实际的系统定时小于内存从技术上讲的标称值。若没有突发技术,内存访问则为5-5-5-5,因为每个内存传输都需要完整的延迟。

支持分页和这种突发技术的DRAM存储器叫做快速页模式(Fast Page Mode, FPM)内存。这个术语来自对同一页上的数据可以用更少的延迟进行内存访问的能力。1995年及之前的大多数486Pentium系统都使用FPM内存。

EDO RAM

1995年,Pentium系统里出现了一种叫做EDO(扩展数据输出)的新型RAM。它是FPM内存的改进形式,也被称为超页模式(Hyper Page Mode)。EDOMicron Technology研制并获得专利。EDO内存包含专门制造的允许在连续访问之间进行时间重叠的芯片。名称为扩展数据输出(Extended Data Out),即允许下一个访问周期与前一个周期重叠,从而使每个周期大约节省10ns

EDO RAM一般是72针的SIMMSingle Inline Memory Module,单内联内存模块)形式,图5-2(本节后面的部分)显示了这种SIMM的物理特性。

为了实际使用EDO内存,主板芯片必须支持它。1995年推出的Intel 430FX(希神)之后的大多数主板芯片都提供了对EDO的支持。

SDRAM

SDRAM,即同步DRAM(Synchronous DRAM),是一种与内存总线时钟同步运行的DRAM。SDRAM使用高速、定时的接口可以极高速度的突发传输信息。SDRAM消除了异步DRAM里的大部分延迟,因为信号已经与主板时钟保持同步。

EDO RAM一样,芯片组必须支持这种内存以使它在系统里可用。从1997年的430VX和 430TX开始,Intel后来的大多数芯片组都支持SDRAM。

SDRAM的性能比FPM和EDO RAM有了很大的提高。SDRAM有几种规范,分别是:PC66、PC100和PC133。

SDRAM以DIMM(Dual Inline Memory Module,双内联内存模块)的形式安装在系统主板上,本章后面的图5-3显示了DIMM的物理特性。

5-4给出了不同的SDRAM DIMM的定时、实际速度和标定速度。

5-4  SDRAM定时、实际速度和标定速度

定时

实际速度

标定速度

15ns

66MHz

PC66

10ns

100MHz

PC66

8ns

125MHz

PC100

7.5ns

133MHz

PC133

DDR SDRAM

双倍数据速率(Double Data Rate, DDRSDRAM内存是对标准SDRAM的改进设计,在这种内存里数据传输速度可以提高一倍。DDR内存并不将实际时钟频率加倍,而是通过在每个传输周期里传输2次来获得加倍的性能,一次在周期的前沿(下降),另一次在周期的后沿(上升)(见图5-1)。这类似于RDRAM操作的方式,即使使用与之同样的总时钟和定时信号,也可以有效地将传输率提高一倍。

DDR的支持存在于Intel和其他厂商最新的芯片组里。DDR-SDRAM使用新的带有184个引脚的DIMM模块设计。图5-4给出了DDR SDRAM DIMM

DDR DIMM用于PC200100MHz×2)或PC266133MHz×2)操作,通常工作于2.5v。它们本质上是PC100PC133 DIMM的扩展。目前最新的DDR SDRAM标准是DDR333DDR400

RDRAM

RDRAM,即Rambus DRAM,是一种在1999年后期出现在高端PC系统里的崭新内存设计。1996年,IntelRambus签署了一项合同,承诺到2001年他们会支持RDRAM内存。

Rambus使用以极高速率通信的专门设备改进了实际上的芯片到芯片内存总线。令一些人感兴趣的是这种技术首先是为游戏系统开发的,它首先在Nintendo 64系统里流行起来,后来也在 Sony Playstation 2平台上使用了。

使用FPMEDOSDRAM的传统内存系统称为宽通道系统(wide channel system),它们的内存通道和处理器的数据总线一样宽,Pentium和以上的型号为64位。DIMM是一种64位宽的设备,即可以一次传输给它64位数据(或8个字节)。

RDRAM却是一种窄通道设备。它一次只传输16位(2个字节)数据(加上两个可选的校验位),但速度却快得多。

RIMM通常运行在800MHz上,即单通道总的吞吐率为每秒800×21.6GB,与PC1600 DDR SDRAM速度相同。而且,传输之间的延迟更小,因为它们都同步地运行于一个循环系统里,而且只有一个方向。要进一步提高速度,同时使用2个或4RDRAM通道是可能的,从而将内存吞吐率提高到3.2GBsec6.4GBsec。目前Intel 840850芯片组支持双通道 RDRAM

RDRAM内存总线是一条经过总线上的所有设备和模块的连续线路,每个模块在相对的两端有输入和输出引脚。因此,任何不未插上RDRAM内存的RIMM插槽必须填入一个连接模块以保证路径是完整的。

5-1给出了时钟和数据周期之间的关系。你可以看到,同一段时间里有5个完整的时钟周期(每个周期都有一个下降沿和一个上升沿)和10个数据周期。一个RDRAM数据报文总是开始于一个偶(下降)转换,以用于同步目的。


 

5-1  RDRAM时钟和数据周期的关系

 

RDRAM芯片安装在RIMM模块里。RIMM(见图5-5)的大小和物理形状类似于当前的 DIMM,但它们是不能替换的。

内存模块——SIMMDIMMRIMM

最初,系统通过单独的芯片安装内存。由于其设计方式,它们经常被称为DIPDual Inline Package,双内联封装)芯片。最初的IBM XTAT在主板有36个插座用于这些单独芯片,然后更多的芯片安装在插到总线插槽里的内存卡上。

后来,是把内存焊接在主板或扩展卡里。这样可以防止芯片的偏离,使得连接更加牢固,但同时也会引起另一个问题。如果一个芯片真的坏了,用户需要去掉焊接并重焊接一个新的芯片,或者拆卸包含坏芯片的主板或内存卡。这种方法比较昂贵,而且使得解决内存问题更为困难。

因此需要一种既可焊接又可拆卸的芯片,这就提出了内存模块的概念。前面曾介绍过的SIMMDIMMRIMM就是一种内存模块。它们的外形,就是一个焊接有若干个内存芯片——FPM RAMEDO RAMSDRAMDDR SDRAMRDRAM——的小长条形的插卡。

SIMM有两种主要的物理类型——30针(8位加上1个可选的校验位)和72针(32位加上4个可选的校验位)——它们具有各种容量和其他参数。30针的SIMM72针的SIMM要小。两种版本在一面或两面上都有芯片。

DIMM也有两种类型,通常使用标准SDRAMDDR SDRAM芯片,这两种类型可以通过其物理特性加以区分。标准DIMM具有168针,每一面都有1个槽口,在连接的地方还有2个槽口;而DDR DIMM184针,每一面有2个槽口,在连接的地方只有1个槽口。所有的DIMM都是64位(非奇偶校验)或72位(奇偶校验或纠错码IECC])宽。SIMMDIMM的主要物理差别在于 DIMM模块每一面的信号针数不同,这是它们被称为双内联内存模块的原因,也是它们只比 SIMM1英寸但却多出好多针脚的原因。

RIMM也是双面的,目前只有一种RIMM,它有184个针脚,每一面有1个槽口,连接的地方中间有2个槽口。RIMMECC版有16位数据宽度,ECC版则都是18位宽。


5-2  典型的72针SIMM,这是36位版本,其尺寸与32位相同

5-3  典型的168针SDRAM DIMM。图中为72位,其尺寸与64位相同

我们在主板上常看到安装SIMMDIMMDDR DIMMRIMM内存模块(俗称SIMM条、DIMM条、DDR DIMM条和RIMM条)的插槽,它们分别叫做SIMM槽、DIMM槽、DDR DIMM槽和RIMM槽。

考虑到这些内存模块的存储容量,它们实际是非常紧密的,而且有多种容量和速度。表5-5列出了SIMM、DIMM和RIMM的各种容量。

 


5-4  典型的184针DDR DIMM,图中为72位,其尺寸与64位版本相同

5-5  典型的184针RIMM,图中为18位,其尺寸与16位版本相同

 

5-5  SIMM、DIMM和RIMM容量

30针SIMM容量

容量

有校验SIMM

无校验SIMM

256KB

256KB × 9

256KB × 8

1MB

1MB × 9

1MB × 8

4MB

4MB × 9

4MB × 8

16MB

16MB × 9

16MB × 8

72针SIMM容量

 

 

容量

有校验/ECC SIMM

无校验SIMM

1MB

256KB × 36

256KB × 32

2MB

512KB × 36

512KB × 32

4MB

1MB × 36

1MB × 32

8MB

2MB × 36

1MB × 32

16MB

4MB × 36

4MB × 32

32MB

8MB × 36

8MB × 32

64MB

16MB × 36

16MB × 32

128MB

32MB × 36

32MB × 32

168/184针DIMM/DDR DIMM容量

 

 

容量

有校验/ECC DIMM

无校验DIMM

8MB

1MB × 72

1MB × 64

16MB

2MB ×72

2MB × 64

32MB

4MB × 72

4MB × 64

64MB

8MB × 72

8MB × 64

128MB

16MB × 72

16MB × 64

256MB

32MB × 72

32MB × 64

512MB

64MB × 72

64MB × 64

1024MB

128MB × 72

128MB × 64

184针RIMM容量

 

 

容量

有校验/ECC RIMM

无校验RIMM

64MB

32MB × 18

32MB × 16

128MB

64MB × 18

64MB × 16

256MB

128MB × 18

128MB × 16

物理RAM的容量与识别

内存标识的识别

5-6展示了一种来自于Micron Technologies公司的典型存储芯片的标记,该公司是一个流行芯片和存储模块的制造厂家。大多数存储器厂商采用类似的方式对它们的芯片进行编号,但是如果用户真想试着识别某一个芯片的话,最好还是查阅这类制造厂商的资料以获得更多的信息。

75表示以纳秒为单位的芯片速度,这里为7.5纳秒或者133MHz

产品号中通常包含着有关芯片类型和容量的参数。以MT48LC8M8A2TG-75L芯片为例,其各项数据解释如下:

MT=Micron Technologies

48=    SDRAM

LC=    3.3V CMOS

8M8=   8百万个行数 × 8位宽

A2=    设备版本号

TG=    TSOP(Thin Small Outline Package,小型薄包装)

75=  7.5纳秒(133MHz)额定速度

L=     低电压

注意  不同厂商的标记是不一样的,这里的示例只用于解释目的。

由于该芯片是8位宽的,我们来看一看如何用8个或16个这种芯片构成一个完整的64 DIMM。如果使用16个芯片,则称为双面的DIMM,芯片将被安排成逻辑上堆叠的形式,以使得两个8MB × 8芯片组成的内存体如同一个16MB × 8芯片组的内存体一样工作。如果使用8个芯片,则可构成8MB × 64位,这和8MB × 8字节一样,也等价于64MBDIMM;如果使用16个芯片,则构成128MB双面DIMM;如果使用9个或者18个芯片,就可以构成带奇偶校验/ECC(纠错码)的72位宽DIMM

除了产品号,许多芯片还专设有4位数字用于指示以周、日表示的制造日期。例如0021表示的是该芯片是在2000年的第21周生产的。如果要进一步分析芯片数据的话,请与制造商或者销售商联系以取得它的类型信息。


5-6  典型内存芯片上的标记(Micron提供)

 

SIMM和DIMM也有一些难于解释的号码。不幸的是,还没有工业标准来对这些模块编号,所以如果用户想理解这些数字的话就需要与制造商联系。

有时在SIMM或DIMM上无法找到容量标记和其他信息。这种情况下可以到芯片厂商的网址查询芯片的型号,在那里用户可以得到所需的参数(参见图5-7)。

 

5-7 DIMM的前后视图,带有指示型号、容量或速度的难以解释的标记

即便无法解释标签上有关DIMM的信息也没有关系,只要能读懂芯片的型号就可以。

比如有一种芯片上有HyundaiHY)的标记,型号为HY57V651620-TC10。在Hyundai Memory网站上发现这种芯片的数据表格,但无法确认是谁制造了这种芯片。虽然它的左边有 HY-3U1606这些数字,但有可能无法在现代公司的产品中找到与之相关且相符合的信息。没关系,只要看一看该芯片所带的型号信息,就能够找出有关这种芯片的所有想要的信息。

根据DIMM芯片上的这些数据,它们是10ns的芯片,而且它们可被归入66MHz SDRAM DIMMPC66)规范——尽管它们在技术上可达到100MHz。若为8ns125MHz)则是PC100规范的DIMM,若为7.5ns则是PC133规范的DIMM。它们是64M位的芯片,构成为4MB×16(行列结构)。每一面有4个芯片,构成一个64位的4MB×64位芯片组(或者4MB×8字节,共32MB)。另一面也有同等数量的芯片,并在电路或逻辑上叠加到原来的2倍,这是因为DIMM最多只能有 64位。这样总体构成一个8MB×64位即8MBX 8字节共64MB的存储器。在右边附加的一颗微芯片是存放芯片特性数据的EPROM,它包含有被主板读取并籍以配置存储芯片控制器的数据c由于已没有其他芯片,故该芯片缺少附加的8位来构成72位带错误纠检功能的DIMM

现在,在解释了芯片型号再加上相关信息的基础上,我们已能描述出该芯片是一块64MB双面、无错误校验功能的PC-66SDRAMDIMM

存储体

存储体是指当用某一规格的内存模块与指定的系统搭配时,内存模块的组合方式。如使用72线SIMM内存模块(内存条)在Pentium系统中时,一个存储体就需要两块这样的内存模块。有关存储体与内存模块之间的关系如表5-6。其实,存储体是一个主板系统规定了的使用内存模块的限制。

5-6  不同系统上的存储体宽度

处理器

数据总线

内存体大小(无奇偶校验)

内存体大小(有奇偶校验)

每个内存体的30针SIMM数

每个内存体的72针SIMM数

每个内存体的168针DIMM数

8088

8位

8位

9位

1

n/a

n/a

8086

16位

16位

18位

2

n/a

n/a

286

16位

16位

18位

2

n/a

n/a

386SX,SL,SLC

16位

16位

18位

2

n/a

n/a

486SLC,SLC2

16位

16位

18位

2

n/a

n/a

386DX,

32位

32位

36位

4

1

n/a

486SX,DX,

32位

32位

36位

4

1

n/a

DX2,DX4,5x86

 

 

 

 

 

 

Pentium,K6

64位

64位

72位

8

2

1

PPro,PⅡ,Celeron,

64位

64位

72位

8

2

1

PⅢ,P4,Athlon/Duron

 

 

 

 

 

 

你可能已经想到,30SIMM对于32位或者64位系统(指486Pentium)来说并不理想,因为每个存储体必须有4个或者8SIMM。由于今天这些SIMM芯片的容量可以是1MB4MB 16MB,这就意味着486系统中的一个30SIMM的存储体的容量为4MB16MB64MB,在 Pentium系统里则为8MB32MB128MB内存,而不会是其他值。在一个32位或64位系统中使用30脚的SIMM将人为地限制内存的配置,这种系统是不值得推荐的。如果一个32位系统(例如 486处理器的PC机)使用72SIMM,则每个SIMM可作为一个独立的存储体;而且它可以被单独地加入或者拆卸,而不必像30SIMM那样要求4个一组地进行。这就使得内存配置较为简单和灵活。当前那些使用SIMM64位系统中,一般用272SIMM构成一个存储体。

内存芯片的速度

当替换一个坏掉的存储块或升级一个新的存储块时,原则上应安装与之同一类型且速度相同的存储块。如果要用一个不同的存储块来代替坏块,那么至少它的速度应等于或者快于原来的坏块。

一些用户在混用不同速度的芯片时经常发生故障。由于主板、芯片组以及内存类型五花八门,很难用统一的规则来识别它们;如果难以确定系统中应该安装什么类型的内存模块,可以查看一下主板的说明书以获得更多信息。

用更快的同类型存储模块替换旧模块并不能提高系统的性能,因为系统仍会以原来的速度进行存取操作。使用DIMMRIMM模块的系统会从模块上安装的SPD ROM中读取这些模块的速度和定时等信息,然后再对应地配置芯片组(内存控制器)。在这些系统中,通过安装更快的模块,系统性能可能会有所提高,但首先芯片组必须要支持这项功能。

在强调定时和可靠性的基础上,IntelJEDEC的有关标准建议了达到一定性能水平应使用的模块类型。例如,Intel制定了PC66PC100以及PC133标准以提供对多种新芯片组的支持,这些标准保证了哪些芯片符合Intel的定时和性能指标。对于100MHz或更高速的芯片,在内存定时上已没有更大的弹性空间。

当内存有坏块或者其刷新时间赶不上系统时间时,将会出现同样的症状。通常的表现是频繁的内存检测失败或者系统根本不工作。通电自检(POST)也会报告错误。如果不能确定系统配置的芯片类型,应该与系统制造商或者某个信誉良好的芯片供应商联系。

镀金触点内存与镀锡触点内存

许多人没有正确理解一个系统中SIMMDIMM的电路触点的重要性。SIMMDIMM RIMM都可以采用镀金或者镀锡的触点形式。人们往往认为镀金触点在各种情况下都能保证最好的性能,但事实上这并不正确。要获得最可靠的系统,必须把镀金触点的模块装在镀金的插座上,或把镀锡的模块用于镀锡的插座。

如果忽略了这一点而把镀金触点的内存插入镀锡的插座中或把镀锡触点内存的插入镀金插座中,系统将会出现错误。而这种错误发生并不是立即孤,可能需要在安装后的6个月到1年之间发生。这是由于一种称为“腐蚀效应”引起的。有关“腐蚀效应”的概念已超出本课程的范围,大家如有兴趣可查看相关的网站或相关书藉。

因此,最好的配置是“金对金”,即把镀金包装的模块与主板上镀金的插座相搭配。目前多数DIMMRIMM系统采用这种设计方式。

如果用户的内存已经是混用的,正确的解决办法是用与插座相符的适当的内存模块进行替换。另一个不愿看到的解决办法就是等待问题的发生(据我的经验,大约6个月到1年),然后拔出内存模块,清洁接口,重新装好——周而复始地进行。如果只有一个或者两个系统,这可能是比较好的方法。但是如果有成百上千个系统就不可行了。如果用户的系统不支持奇偶校验和 ECCError Correcting Code)内存(当前大多数内存没有此功能),当错误发生时,用户可能无法立即确定错误是否与内存本身有关(通用保护异常、被损坏、数据和文件被毁等等也会造成系统错误)。

清洁法存在的一个问题是金表面形成的坚硬锡氧化物层很难被清除,经常需要研磨物(例如用擦除器或者砂布)。这不能在干燥条件下进行,因为所产生的静电流足以毁坏芯片。取而代之应该使用一种接口清洁剂来润滑接口,潮湿的接口将把摩擦或研磨(研磨粉)时产生的静电的潜在破坏力减到最小。

另一个需要引起注意的问题是接点处镀层的厚度。有人总是害怕它太薄而在插入一两次之后就被磨损完了。当然镀层的厚薄取决于应用所要求的耐磨性。由于金是比较昂贵的,所以厂商总是在保证适当的耐磨性的要求下尽可能地减小其厚度。

为了提高耐磨性,经常在金中加入少量的钴和镍元素以提高镀金薄膜层的硬度。这样做成的涂层材料就叫做“硬金”,用它可以做出摩擦系数极低耐磨特性极好的涂层。镀有硬金层的接点通常能承受成百上千次的插拔操作而不会出问题。使用硬质材料做成衬底要比单独使用金更能够提供一些机械上的附加支持来更好的增强硬金涂层的耐磨性。镍经常因此而被推荐作为衬底。

奇偶校验和ECC

内存天生是不可避免要出现错误的。这些错误通常分为两大类:硬错误(hard fail)和软错误(soft error)。

最好理解的是硬错误,即芯片工作一段时间后,由于缺陷、物理破坏或其他问题而永久性的损坏。要修复这种错误通常要求替换一些存储硬件,如芯片、SIMMDIMM。硬错误的出现.频率可以用HER来表示。

另一类潜藏的错误是软错误,这些错误不是永久性的,而且它们不会再发生或者只是偶尔会再次发生(通过关机重启系统,软错误就可以被有效的“修复”)。软错误的出现频率可以用 SER来表示。

引起软错误的原因可能有:

电源不稳或电压抖动。这可能由有缺陷的电源或者变化的外部电源引起。

类型或速度不匹配。内存中芯片设置必须是正确的类型,而且要与系统存取速度相匹配。

无线电波干扰。由离系统很近的无线电发送机引起,因为它们能在系统的线路和回路中产生电信号(干扰)。

静电放电。产生瞬间电火花,可以改变数据。

不适时的脉冲。数据没有适时到达指定地点,引发错误。经常由不正确的主板设置引起,使得内存的速度慢于系统的速度?或者是由于处理器或其他部件超频引起。

宇宙射线干扰。

如何处理这些软错误呢?仅仅忽略它们显然不是处理问题的最佳方法,但不幸的是那正是今天大多数厂商和销售商们所做的。最好的方法是增强系统的容错能力,这意味着要在PC系统中实现检测和尽可能纠错的方法。现代PC机中容错能力被分为基本的三级:

无奇偶校验。

奇偶校验。

ECCError Correcting Code,纠错码)。

无奇偶校验的系统根本就没有容错能力。它们之所以被使用仅仅是因为其价格最低。它不用附加任何内存芯片,不像奇偶校验或ECC技术那样。因为一个带奇偶校验的字节是9位而不是无奇偶校验的8位,这种内存价格将高出12.5%。而且无奇偶校验的内存的控制器件相对简单,因为它不需要逻辑门来计算奇偶校验或者ECC的检测位。使用电源最少的便挑式系统可以从中受益,因为DRAM内存芯片的减少将导致它的电源消耗的减少。最后,存储系统的数据总线也相应变窄,从而减少了数据缓冲器的数量。静电导致内存错误的可能性在现代的办公室台式电脑中估计约为几个月一次。错误出现的频率也取决于用户拥有的内存大小。

对于那些不是用于要求严格的应用中的低端系统来说,这样的错误率是可以忍受的。这样,它们最后的市场价格就不能反映奇偶校验和ECC内存条的价值,而那些错误也不得不被忍受。

在任何速度下,没有容错能力的系统都是冒险地认为内存错误不太可能发生。另一个风险是,即便发生了内存错误,它引起的损失也是少于添加那些检错所需的硬件的价值。然而,危险在于这些错误经常导致严重的后果。计算时的一个内存错误会导致错误的值进入银行支票。在一个服务器上,一个内存错误会迫使系统挂起并且会降低局域网内所有客户系统的效率,继而引起数据流的丢失。最后,一个非奇偶校验和ECC误码纠检的系统难于跟踪错误,而不像奇偶校验和ECC系统那样简单,它们至少能把出错的内存隔离出来,从而减少了解决问题所要的时间和花费。

1. 奇偶校验

奇偶校验是通过记录一串数据中10个数的奇偶性来判断数据串在传输过程中是否有错误的一种校验方法。奇偶校验能检测到错误,但却无法纠正系统错误。

IBM的工业标准设置是9个内存芯片构成一个内存体,每个芯片处理一位数据:每个字符8位,加上一个奇偶校验位。奇偶校验位允许内存控制电路对其他8位进行标记——保证系统中每个字节完整性的内置检查。如果电路检测到错误,计算机停止工作并显示信息通知用户发生了故障。如果用户使用了GUI操作系统如WindowsOS2,奇偶校验错误通常使之进入锁定状态。当重启系统时,BIOS会检测错误并显示相应的错误信息。

让我们看一看奇偶校验是如何检测错误的,以及其后继者ECC的细节。ECC不仅能检测而且能在运行中纠正错误。

因为一个字节的8位被单独存放在内存中,一个奇偶产生/检测器——作为CPU的一部分或者是位于主板上某个特定的芯片上——通过对每字节数据位中的“1”的个数来进行计数。如果发现有偶数个“1”,奇偶产生/校验器产生一位“1”并存放于奇偶校验内存的第9位(奇偶校验位)中,这使得 9位中“1”的个数为奇数。如果原来的8位中有奇数个“1”,则产生的奇偶校验位为“0”以使得9位中“1”的个数为奇数。基本的原则就是奇偶校验位所取的值要能够使得被存储的9位(8个数据位加1个校验位)中“1”的个数为奇数。如果系统使用偶校验,原理是一样的,只是所取的校验位应保证“1”的个数为偶数。系统使用奇校验还是偶校验都没有关系,它将采用其中一个,显然这与存储芯片有明显关系。记住一个字节中8个数据位编号为0 1 2 3 4 5 6 7。下面的例子将使之更容易被理解:

数据位编号:0  1  2  3  4  5  6  7  奇偶校验位

数据位的值:1  0  1  1  0  0  1  1  0

在这个例子里,由于数据位中“厂的位数为奇数(5),所以校验位必须置为0以保证9位中有奇数个“1”。

下面是另一个例子:

数据位编号:0  1  2  3  4  5  6  7  奇偶校验位

数据位的值:1  1  1  1  0  0  1  1  1

示例中由于数据位中共有偶数个“1”(6),因此校验位必须是0以使9位中“1”的个数为奇数。

当系统从存储器中读回数据时,它将检测校验信息。如果9位的字节中有偶数个“1”,则该字节一定是出错了的。系统无法确定是哪一位出错或者是不是仅有1位出错。例如,如果有3位被改变,该字节仍会出现校验错;如果有两位被改变,反而能够通过而不会被检测到。因为多位出错(在一个字节中)是很少见的,这个方案给出了一个合理的且易于廉价实现的方法来检测内存的好坏。

当一个奇偶校验错误被检测到时,主板的奇偶校验检测回路会产生一个不可屏蔽中断(NMI),挂起当前任务并转入错误处理。NMI引起ROM中的一段例程被调用执行。该例程清除屏幕并在屏幕左上方显示一段信息。该信息随着系统类型的不同而不同。大多数系统在奇偶校验检测到错误时并不挂起CPU,而是选择重启系统或是忽略错误继续工作。另外,这些系统可能会以和IBM不一样的方式来显示校验错误信息,尽管信息所代表的基本意思是一样的。例如,大多数带Phoenix BIOS的系统显示下列信息:

Memory parity interrupt at xxxx:xxxx

TypeShut off NMI, TypeReboot, other keys to continue

或者

I/O card parity interrupt at xxxx:xxxx

TypeShut off NMI, TypeReboot, other keys to continue

第一条信息表明主板出现了奇偶校验错误(奇偶校验1),第二条则表明是扩展插槽出现奇偶校验错误(奇偶校验2)。注意以xxxx:xxxx形式给出的出错内存地址表示的是(段:偏移)地址,而不是IBM信息中的线性地址。(段:偏移)地址的形式仍然能够找出出错的单个字节的地址。

看到这条信息后,用户有三种方法来处理:

按下S键,关闭奇偶校验检测功能,把系统从第一次发生校验错误的地方恢复过来继续运行。

按下R键强迫系统重启,丢失所有未保存的工作。

按其他任意键使系统恢复并保持校验检测开启。

如果问题发生,很有可能会再次引起校验检测中断。通常谨慎的办法是按S键,关闭奇偶校验检测以便能保存用户的工作。在这种情况下,最好是把工作保存在软盘上,以防止可能的硬盘出错。同时应该避免覆盖以前保存的正确文件,因为有可能会把被内存错误破坏了的数据加以保存。因为奇偶校验检测已被禁止,操作将不会被中断。然后再关闭系统电源,重启,再运行已有的内存诊断软件来尽力追踪错误。在一些情况下,POST过程会在重新启动时发现错误,但用户通常需要运行一些高级的诊断程序,可能几次之后就可定位错误。

有些使用AMI BIOS的系统显示奇偶错误信息的形式如下:

ON BOARD PARITY ERROR ADDRHEX=xxxxx

或者

OFF BOARD PARITY ERROR ADDRHEX=xxxxx

这些信息表明在通电自检期间发生了内存错误,错误位置就在显示的信息中。第一条信息指出错误发生在主板上,第二条则指出错误发生在扩展插槽适配卡上。AMI BIOS也会以如下形式显示内存错误信息:

Memory Pari[y Error at xxxxx

或者

IO Card Parity Error at xxxxx

这些信息表明正常操作时,在所示地址发生了内存错误。第一个行表明是主板上的内存发生错误,第二个行表明是扩展插槽适配卡内存错误。

尽管大多数系统允许在奇偶校验错误发生后继续工作,甚至在接下来的处理中关掉奇偶校验功能,但在校验检测到错误之后继续工作是危险的。提供继续使用的选项是为了让用户在诊断和维护系统之前有时间存储未保存的工作,但要注意使用的方式。

注意上述信息是可以变化的,它们不仅与ROM BIOS有关,而且还与使用的操作系统有关。保护模式的操作系统(如多数Windows版本)会跟踪这类错误,并使用其自带的处理程序显示错误信息,这些信息往往与ROM显示的内容有所不同。上述错误可能会导致蓝屏或跟踪错误,但通常会给出内存或奇偶校验有关的错误提示。例如,当有这类错误发生时,Windows 98会显示“Memory parity error detected.System halted.”信息。

切记  当被告知有内存奇偶校验错误时,内存已被破坏。用户愿意用可能包含错误的数据来覆盖上次保存的正确文件吗?当然不。一定要使用另一个名字来保存工作。另外,出现奇偶错误之后,如果可以的话,将工作保存于软盘而尽量避免写入硬盘。因为如果将出错内存的内容写入硬盘,有可能会导致硬盘被破坏。

保存之后,找出奇偶校验错误的原因并修复系统。用户可能会选择关闭进一步的奇偶校验而忽略错误继续工作。这样做就好像在汽车漏油时松动油量警告指针以使得油压指示灯不再烦人一样。

2. ECC(纠错码)

ECC在错误检测上比简单的奇偶校验更进了一大步。ECC不仅能检测错误还允许修正一位错误。就是说,系统可以继续工作而不必中断也不会破坏数据。ECC像已在很多PC机上实现的那样,对于双位出错只能检测而不能修复。研究表明,大约98%的内存错误是单个位出错。对于最常用的ECC,内存控制器对已访问的数据字段进行单位的错误检测和修复(双位错误可被控制器检测但无法修正)。这种ECC又叫做SEC-DEDSingle-bit Error Correction-Double-bit Error Detection,单位错误修正-双位错误检测)。它要求在一个4字节的系统附加7位在原来的 32位上,而一个8字节的系统则要附加8位到原来的64位。一个4字节(32位)系统(如486)中 ECC的开销显然要大于不带或带奇偶校验的开销。但在一个8字节(64位)的系统(如 PentiumAthlon)中,ECC和奇偶校验的开销是一样的,因为它们都要求附加同样多的位(8位)。因此用户可购买带奇偶校验的SIMM36位)或DIMM72位)或RIMM18位)用于32位系统,且把它们用于ECC模式,如果芯片组支持ECC功能。如果该系统使用SIMM,两片36位(带奇偶校验)SIMM每面加上一片就构成一个存储体(共72位),ECC将在存储体一级被实现。若该系统使用DIMM,一片奇偶校验/ECC双用的72DIMM可被用作一个存储体来提供附加位。RIMM可以根据主板和芯片组的要求安装1片或2片,若要提供奇偶校验/ECC功能,则必须使用 18位版本。

ECC要求存储控制器在存储器读操作时计算检测位,读操作时在读和计算之间进行检测位的比较,而且如果必要的话,修正错误位。内存中附加的ECC检测逻辑在价格便宜和高性能的现代VLSI下是不重要的,但ECC确实会在写操作时影响内存。因为进行该操作时,必须等待检测位的到达和读取,系统也必须等待正确数据的到达。对一部分字段,整个字必须首先被读取,改写错误位,再检测新的检测位。这将使一部分写操作变成较慢的先读后写的操作。幸运的是这种情况很少发生,最多有一小部分出现,因而这种为增加系统可靠性的折衷方案是不错的。

许多内存错误是单位出错的,能被ECC纠正过来。综合这种容错技术可以为系统提供高可靠性和附带的可维护性。基于ECC的系统是服务器、工作站和要求苛刻的应用程序的一个好选择。对它们来说,潜在的错误引起的损失要比修正错误所需的额外内存和系统费用大得多。在保证这一点的同时,并不会失去系统的可靠性。如果用户认为其数据很重要,或者其系统进行的工作会很重要的话,应该采用ECC内存。没有一个自重的管理者会建造或者运行一个没有 ECC内存的网络服务器,哪怕是一个低端服务器。

通过设计一个允许用户选择ECC、奇偶校验或不带奇偶校验的系统,用户可以自己选择容错级别,以及对自己的数据下多大赌注。

 

DDR II技术

DDR II标准同DDR内存之间的比较,我们发现DDR II内存可以带来的好处还是相当多的,比如工作电压降低、封装改变、最高容量增大这些都使得DDR II内存较DDR内存有很大的技术提高。

其实DDR II标准最重要的改进并不在内存本身,而在于内存对于系统(主要是CPU芯片组)的需要,DDR II内存的发展目标就是进一步降低生产成本,降低功耗,并且向下兼容DDR内存,当然提升DDR II内存的效率也是很重要的一个要求。

DDR II开发中第一个问题就是对DDR的向下兼容性。这个要求其实是相当苛刻的,需要设计人员不能重新修订一个全新的内存规格,需要适应兼容性,不过内存所用芯片的针脚还是从184针(DDR)提高到了240针(DDR II)。

当然,兼容性很重要,但它毕竟不是全部。DDR II的主要目标还是提高性能。首先,也是最明显的,DDR II的工作频率提高了,目前DDR内存最高速度就是3.2GB/s,而即使是频率最低的DDR II内存的工作频率为200/266MHz(64位),但是其带宽却可以达到3.2-4.8GB/s。目前JEDEC已制订的DDR II规范为JEDECDDR II规格有400/533/667Mpbs数据传输率,它们的工作频率分别是200/266/333MHz,实际的带宽分别为3.2/4.8/5.4GB/s。同时,由于DDR II芯片全面上市时,计算机系统中将普遍采用双通道的内存,那么带宽将是惊人的10.8GB/s。这样的带宽对于AGP 3.0以及PCI-X来说也是足够了。

DDR II内存的新特性:

  频率的提升主要是源于制造技术的不断提高,以及核心的改进。现在的核心对数据包的预读取已经达到了4bit(之前是2bit)。这也就意味着核心的工作频率只是内存总线频率的四分之一。一个266MHz的芯片,外部总线频率就是533MHz,但其核心频率仅是133MHz,这对于现在的内存厂商而言来说并不是什么难事。

  另一个类似的革新就是执行期的增加:只要不与前面的操作命令冲突,就可以在波形的任何一个上升期来执行。这样一来,命令总线的频率就只需数据总线频率的一半了。

  那么我们随后就来详细看看DDR II内存中的革新部分:

DDR II性能提升最关键技术就是4bit预读取,上面图表示DDR IIDDR以及SDRAM内存的工作概况,Memory Cell Array(内存单元队列)同I/O Buffer(输入输出缓冲)之间进行的数据交换就是我们所说的内存交换。在实际工作中内存中有三种不同的工作速度,即:内存核心工作频率时钟频率以及数据总线传输速度

 普通的SDRAM内存是标准的同步内存(第一次让内存核心工作频率同时钟频率同步),其数据传输速度和时钟频率是一样的,也就是说其数据传输速度同内存单元队列同输入输出缓冲之间的速度是一样的。比如,PC-133 SDRAM内存,其内存核心频率为133Mhz,时钟频率也是133Mhz,数据总线交换速度为133Mhz,数据传输速度为133Mbps

DDR内存有一点差别,其内存核心频率和时钟频率是一样的,但数据传输速度则是时钟频率的两倍,因为其可以在时钟的上升延和下降延同时进行数据传输,这也就是说其单周期可以进行2bit的数据传输,因此DDR可以看做是SDRAM内存效率的两倍,比如DDR 266内存其内存核心频率为133Mhz,时钟频率则为266Mhz,因此DDR内存的数据传输速度为266Mbps

 DDR II内存则同DDR内存又有一些差别,其具备了4bit预读取技术,其实也可以理解为单周期可以进行4bit的数据传输,以此类推,DDRII内存相比DDR内存可以提高一倍的内存单元队列同输入输出缓冲之间的数据交换速度。衍生到实际的内存频率上来说,DDR II如果内存核心工作频率为133Mhz的话,时钟频率则提高到266Mhz,数据传输速度也同样达到了533Mbps。因此,实际工作频率为266MhzDDR II内存可以实现533Mbps的数据传输速度。

DDR II的结构改变中,有一项是Posted CAS,可以通过这样的公式计算:写入延迟=读取延迟-1。这一个结构改动可以有效的提高总线效率。对于DDR而言,读取行、列数据时的时间间隔最少是13ns,这在同频率的DDR II芯片中就意味着4个时钟循环的浪费。为此在DDR II内存标准中增加了一个Post CAS的技术:

Post CAS实际上它是为了提高DDR II内存的利用效率而设定的。在Post CAS操作中,CAS信号(读写/命令)能够被插到RAS信号后面的一个时钟周期,CAS命令可以在附加延迟(Additive Latency)后面保持有效。原来的tRCDRASCAS和延迟)被ALAdditive Latency)所取代,AL可以在01234中进行设置。从上图的时序可以看出,Post CASAdditive Latency的好处。由于CAS信号放在了RAS信号后面一个时钟周期,因此ACTCAS信号永远也不会产生碰撞冲突。

在上图正常的操作中,此时的各项内存参数为:tRRD=2tRCD=4CL=4AL=0BL=4(BL就是突发数据长度,Burst Length)。我们看到tRRDRASRAS的延迟)为两个时钟周期,tRCDRASCAS的延迟)是四个时钟周期,因此在第四个时钟周期上面ACT(段激活)和CAS信号产生了碰撞,ACT向后移动一个时钟周期,因此大家可以看到后面的数据传输中间出现了一个时钟周期的BUBBLE(冲突)。

再来看看Post CAS的操作,此时的各项内存参数是:tRRD=2tRCD=4CL=4AL=3BL=4RAS被设在ACT信号后的一个时钟周期上,因此CASACT不会产生冲突,tRCDAL所取代(实际上大家可以想象到tRCD并没有减小,只是在概念上的转变,CAS向后一个时钟周期,但是AL要比tRCD短,通过调整可以取消信号命令的碰撞),在附加延迟过程中DRAM保持读命令。由于这种设计,ACTCAS不会再有碰撞,内存读取时序中也没有BUBBLE出现。

 采用了Posted CAS模式和附加延迟技术,在DDR II内存可以降低一定的系统损耗,从而让内存在确定的交叠时间下处理行、列操作,而不必要进行停顿。

DDR II内存的其它特点:

对于内存性能的提升来说内存延迟可能是最大的瓶颈,因为更高的延迟严重的阻碍了内存性能的发挥,从最初的FPEEDO内存到现在的DDR II内存实际内存带宽速度提升了10倍以上,但是实际上内存延迟却仅提升了3倍左右,这样看来内存延迟可能是今后阻碍内存性能继续提高的重要障碍。为了克服这个问题,DDR II规范其实参照了部分VCMESDRAM Lite内存规范,以上的两种内存规范都采用了小缓存(每个Bank 8kb),来绕过tRCD进行操作(tRCDRASCAS延迟,这是一个很会拖后腿的东西,尤其在较高的频率下),并可以避免进入错误的内存页中,但似乎在DDR II中这种借鉴并没有带来什么好处,DDR II内存的tRCD值至少为15ns

当然对于失败的RDRAM内存来说,其本身也是有值得学习的地方,在DDR II标准中功耗问题就是最早出现在RDRAM内存上的,因此DDR II设计的时候特别修改的工作电压,使得其功耗进一步降低,刚刚我们已经谈论过了DDR II内存具有4bit内存预读取功能,因此要达到比较高的数据传输率并不需要太高的工作频率,因此工作电压从标准DDR2.5V降低到1.8V

DDR II的架构,中开始尝试自动校准的可行性。原理是通过一个低速写入协议将某个数据集写入芯片中开始的,而这个低速协议要在芯片初始化(也就是校正)后才可以使用,不然就不允位4位写入。于是,必须有一个命令将扩展寄存器打开,并同时开始调试电阻值。然后,系统开始读入预先写入的数据集,如果需要更多的调试过程,就再次重复初始化过程。对于时间延迟而言,也要进行同样的调试。所以我们可以认为:给定的模块是根据系统环境来进行调试的!这是为了维护电路的稳定性而不得不采取的一项复杂的方式。不过很遗憾,这样的方式目前还得不到什么明显的改善。

DDR II的现状:

目前,Micron三星Elpida已经推出了各自的512MB DDR II内存芯片,我们可以从中或多或少了解一些到了2003年下半年时的情况:

  - 频率:533MHz

  - 结构:32×4、16×8、8×16;

  - 核心/芯片电压:1.8V;

  - 功率:304mW;

  - 封装:FBGA;

  - 附加功能:外置电路电阻调节。

三星DDR II原型

   DDR II内存无论从频率上还是性能上都得到了提高,能耗也下降了。FBGA的封装方式比起现在的TSOP-II方式而言可以将芯片排列的更为密集,并提高了信号的稳定性。根据Semico Research的数据,三年前,大约69%的内存芯片是供应给PC市场的,但现在只有46%了,通信、消费电子产品以及移动设备占据了剩下的份额。

  对于显卡而言,它比主板更需要高速的内存。在2002年底,GDDR-2/3标准确立,DDR II内存引入了显卡领域。nVidia以及CoGDDR-2标准输出带宽达到了1Gbit/s带宽,而ATIGDDR-3标准中运行频率更高,带宽也达到了1.4Gbit/s。这两种标准得到的频率分别是1GHz1.4GHz

  显卡厂商们实际上必不仅关注于DDR II内存的工作频率,他们需要的是花费更少、效率更高的产品。ATIElpida就对DDR II内存进行了一些改动,砍掉了所有不需要的东西,从而得到了符合移动领域需要的DDRII M。不过该产品目前在市场上的前景尚不明朗。

ELPIDA512Mbit DDR II内存,其采用FBGA封装,1.8V工作电压,数据传输速度533Mbps

  我们在DDR II身上似乎又看到了过去发生的故事。如果将DDR II的命运交给市场来排除其它因素的话,胜利者会是性价比更好的产品。而且,以后的发展也同样如此。DDR III也离我们并不遥远了不远(正在制订中),它的电压将降到1.2-1.5V,频率仅提升到800-1500MHz,带宽将达到12GB/s。但是有一个地方不会改变:DDR II芯片的成本接近DDRDDR III也将如此。

  DDR II内存大量上市会在2003年下半年(显示卡上的DDR II内存颗粒普及并不能代表DDR II颗粒的普及),到了那个时候,支持DDR II芯片组SiS656)也要上市了。Intel要在2004年才会推出相应的产品,但是无论怎样DDR II确实就要走到我们面前了,它将给我们带来一个全新感觉。