现代的PC(包括NB)都是以存储器为核心的多总线结构,即CPU只通过存储总线与主存储器交换信息(先在Cache里找数据,如果找不到,再去主存找)。输入输出设备通过I/O总线直接与主存储器交换信息。在I/O设备和主存储器之间配置专用的I/O处理器。CPU不直接参与I/O设备与主存储器之间的信息传送。
存储器分为内部存储器和外部存储器(或者叫主存储器和辅助存储器)。内部存储器简称内存,也可称为主存。从广义上讲,只要是PC内部的易失性存储器都可以看作是内存,如显存,二级缓存等等。外部存储器也称为外存,主要由一些非易失性存储器构成,比如硬盘、光盘、U盘、存储卡等等。
内存作为数据的临时仓库,起着承上启下的作用,一方面要从外存中读取执行程序和需要的数据,另一方面还要为CPU服务,进行读写操作。所以主存储器快慢直接影响着PC的速度。下面我就从内存的原理开始谈起。
一、原理篇
内存工作原理
1.内存寻址
首先,内存从CPU获得查找某个数据的指令,然后再找出存取资料的位置时(这个动作称为“寻址”),它先定出横坐标(也就是“列地址”)再定出纵坐标(也就是“行地址”),这就好像在地图上画个十字标记一样,非常准确地定出这个地方。对于电脑系统而言,找出这个地方时还必须确定是否位置正确,因此电脑还必须判读该地址的信号,横坐标有横坐标的信号(也就是RAS信号,Row Address Strobe)纵坐标有纵坐标的信号(也就是CAS信号,Column Address Strobe),最后再进行读或写的动作。因此,内存在读写时至少必须有五个步骤:分别是画个十字(内有定地址两个操作以及判读地址两个信号,共四个操作)以及或读或写的操作,才能完成内存的存取操作。
2.内存传输
为了储存资料,或者是从内存内部读取资料,CPU都会为这些读取或写入的资料编上地址(也就是我们所说的十字寻址方式),这个时候,CPU会通过地址总线(Address Bus)将地址送到内存,然后数据总线(Data Bus)就会把对应的正确数据送往微处理器,传回去给CPU使用。
3.存取时间
所谓存取时间,指的是CPU读或写内存内资料的过程时间,也称为总线循环(bus cycle)。以读取为例,从CPU发出指令给内存时,便会要求内存取用特定地址的特定资料,内存响应CPU后便会将CPU所需要的资料送给CPU,一直到CPU收到数据为止,便成为一个读取的流程。因此,这整个过程简单地说便是CPU给出读取指令,内存回复指令,并丢出资料给CPU的过程。我们常说的6ns(纳秒,秒-9)就是指上述的过程所花费的时间,而ns便是计算运算过程的时间单位。我们平时习惯用存取时间的倒数来表示速度,比如6ns的内存实际频率为1/6ns=166MHz(如果是DDR就标DDR333,DDR2就标DDR2 667)。
4.内存延迟
内存的延迟时间(也就是所谓的潜伏期,从FSB到DRAM)等于下列时间的综合:FSB同主板芯片组之间的延迟时间(±1个时钟周期),芯片组同DRAM之间的延迟时间(±1个时钟周期),RAS到CAS延迟时间:RAS(2-3个时钟周期,用于决定正确的行地址),CAS延迟时间 (2-3时钟周期,用于决定正确的列地址),另外还需要1个时钟周期来传送数据,数据从DRAM输出缓存通过芯片组到CPU的延迟时间(±2个时钟周期)。一般的说明内存延迟涉及四个参数CAS(Column Address Strobe 行地址控制器)延迟,RAS(Row Address Strobe列地址控制器)-to-CAS延迟,RAS Precharge(RAS预冲电压)延迟,Act-to-Precharge(相对于时钟下沿的数据读取时间)延迟。其中CAS延迟比较重要,它反映了内存从接受指令到完成传输结果的过程中的延迟。大家平时见到的数据3—3—3—6中,第一参数就是CAS延迟(CL=3)。当然,延迟越小速度越快。
二、外观篇
由于笔记本的空间设计要求,笔记本内存比台式机内存条要窄,通常采用SO-DIMM模组规范,布线也比较紧凑,针脚也为标准的200Pin。我们经常看到的内存上,一般的元件有内存颗粒、电路板、SPD芯片、排阻(终结电阻)和针脚。下面我来分别介绍一下。
1.颗粒
内存颗粒就是大家平时见到内存上一个个的集成电路块。颗粒是内存的主要组成部分,颗粒性能可以说很大程度上决定了内存的性能,常见的颗粒有以下一些参数。
A.厂商
市场上生产内存颗粒的厂商主要有Hynix(现代电子),Samsung Electronics(***电子),Micro(美光),Infineon(英飞凌),Kingmax(胜创)等等。不过需要注意的一点是,“内存颗粒”和“内存条”是完全不同的两回事。能够生产内存颗粒的厂商全球没几个,而有了内存颗粒后内存条的生产就要简单得多,生产者自然要多得多。充斥市场的杂牌内存条与品牌内存条有着根本的区别,它们在成本上也有很多不同。Kingston、Kingmax、金邦等大的品牌内存条采用的都是符合Intel规定的6层PCB板和现代、***等内存大厂的内存颗粒,按照严格的工艺进行生产;而那些杂牌内存条虽然号称“***”、“现代”,其实就是一些小厂和作坊,他们拿来大厂内存颗粒的切割角料,焊到劣质的PCB板上就下了线,品质完全没有保证,而且经常与一些大的经销商结成联盟来生产和销售,价格波动也更容易受到渠道因素的影响。
B.内存芯片类型
内存芯片类型分SDRAM,DDR SDRAM,DDRⅡ SDRAM、SDRAM、DDR SDRAM和DDR SDRAM同出一门,都属SDRAM系,因此三者的颗粒在外观上不容易分辨,。但是由于采用的物理技术不同,三者在电路,延迟,带宽上还是有很大区别的,区分三者一般都是看颗粒的参数或者针脚和缺口位置,后面我会重点讲DDR和DDRⅡ技术。
C.内存工艺和工作电压
SDRAM内存工艺主要以CMOS为主,内存的工作电压和内存的芯片类型有很大关系,在JEDEC(Joint Electron Device Engineering Council 电子元件工业联合会)的规范中,SDRAM的工作电压是3.3V,DDR是2.5V,DDRⅡ是1.8V。
D.芯片密度
位宽及刷新速度芯片的密度一般都会用bit为单位进行表示(1B=8bit),比如16Mbit是16Mbit÷ 8bit=2MB也就是单颗芯片是2MB的。还有一个参数就是位宽,SDRAM系的位宽是64bit,采用多少个颗粒(一般为偶数)组成64bit也是不一样的。比如一个芯片是4bit的,那么要用16个同样的芯片才能组成64bits的,如果芯片是16bit那么只须4个就可以了。举个例子,256MB的内存可以用512bits÷8×4颗=256MB,4颗×16bit=64bit来组成,一般表示为512Mbits×16bit或64MB×16bit。刷新速度,内存条是由电子存储单元组成的,刷新过程对以列方式排列在芯片上的存储单元进行充电。刷新率是指被刷新的列的数目。两个常用的刷新率是2K和4K。2K模式能够在一定的时间内刷新较多的存储单元并且所用时间较短,因此2K所用的电量要大于4K。4K模式利用较慢的时间刷新较少的存储单元,然而它使用的电量较少。一些特殊设计的SDRAM具有自动刷新功能,它可自动刷新而不借助CPU或外部刷新电路。建立在DRAM内部的自动刷新,减少了电量消耗,被普遍应用于笔记本电脑。
E.Bank
内存的Bank一般分为物理Bank和逻辑Bank。物理Bank体现在SDRAM内存模组上,"Bank 数"表示该内存的物理存储体的数量。(等同于"行"/Row)。逻辑Bank表示一个SDRAM设备内部的逻辑存储库的数量。(现在通常是4个bank)。此外,对于主板,它还表示DIMM连接插槽或插槽组,例如Bank 0 或 Bank A。这里的Bank是内存插槽的计算单位,它是电脑系统与内存之间数据总线的基本工作单位。只有插满一个BANK,电脑才可以正常开机。举个例子,1个SDRAM线槽一个Bank为64bit,而老早以前的EDO内存是32bit的,必须要安装两根内存才能正常工作。主板上的Bank编号从Bank 0开始,必须插满Bank 0才能开机,Bank 1以后的插槽留给日后升级扩充内存用。
F.电气接口类型
一般的电气接口类型与内存类型对应,如SDRAM是SSTL_3(3.3V)、DDR是 SSTL_2(2.5V)、DDRⅡ是SSTL_18(1.8V)。
G.内存的封装
现在比较普遍的封装形式有两种BGA和TSOP两种,BGA封装分FBGA,μBGA,TinyBGA(KingMAX)等等,TSOP分TSOPⅠ和TSOPⅡ。BGA封装具有芯片面积小的特点,可以减少PCB板的面积,发热量也比较小,但是需要专用的焊接设备,无法手工焊接。另外一般BGA封装的芯片,需要多层PCB板布线,这就对成本提出了要求。此外,BGA封装还拥有芯片安装容易、电气性能更好、信号传输延迟低、允许高频运作、散热性卓越等许多优点,它成为DDRⅡ官方选择也在情理之中。而TSOP相对来说工艺比较成熟,成本低,缺点是频率提升比较困难,体积较大,发热量也比BGA大。
H.速度及延迟
一般内存的速度都会用频率表示。比如大家常常看到的SDRAM 133、DDR 266、DDRⅡ 533其实物理工作频率都是133MHz,只是采用了不同的技术,理论上相当于2倍或4倍的速率运行,还有一种表示速度方法是用脉冲周期来表示速度,一般是纳秒级的。比如1/133MHz=7ns,说明该内存的脉冲周期是7ns。内存延迟我前面说过了,参数一般为4个,也有用3个的,数字越小表示延迟越小,速度越快。
I.工作温度
工作温度:工业常温(-40 - 85度);扩展温度(-25 - 85度)
2.电路板
电路板也称PCB版,是印刷电路板电子板卡的基础,由若干层导体和绝缘体组成的平板。电路图纸上的线路都蚀刻在其上,然后焊接上电子元件。由于所有的内存元件都焊在电路版上,因此电路板的布线是决定内存稳定性的重要方面,跟据Intel的规范,DDR内存必须使用6层PCB版才能保证内存的电气化功能和运行的稳定性。所以建议大家购买大厂的产品,不要使用来历不明的山寨货。
3.SPD及SPD芯片
SPD(Serial Presence Detect)— 串行存在侦测,SPD是一颗8针的EEPROM(Electrically Erasable Programmable ROM 电子可擦写程序式只读内存), 容量为256字节~2KB,里面主要保存了该内存的相关资料,如容量、芯片厂商、内存模组厂商、工作速度、是否具备ECC校验等。SPD的内容一般由内存模组制造商写入。支持SPD的主板在启动时自动检测SPD中的资料,并以此设定内存的工作参数。当开机时PC的BIOS将自动读取SPD中记录的信息,如果没有SPD,就容易出现死机或致命错误的现象。建议大家购买有SPD芯片的内存。
4.排阻
排阻,也称终结电阻(终结器)是DDR内存中比较重要的硬件。DDR内存对工作环境提出很高的要求,如果先前发出的信号不能被电路终端完全吸收掉而在电路上形成反射现象,就会对后面信号的影响从而造成运算出错。因此目前支持DDR主板都是通过采用终结电阻来解决这个问题。 由于每根数据线至少需要一个终结电阻,这意味着每块DDR主板需要大量的终结电阻,这也无形中增加了主板的生产成本,而且由于不同的内存模组对终结电阻的要求不可能完全一样,也造成了所谓的“内存兼容性问题”。由于DDR II内部集成了终结器,这个问题上得到了比较完美的解决。
5.针脚(Pin)
Pin-针状引脚,是内存金手指上的金属接触点。由于不同的内存的针脚不同,所以针脚也是从外观区分各种内存的主要方法。内存针脚分为正反两面,例如笔记本DDR内存是200Pin,那么正反两面的针脚就各为200÷2=100个。此外,有些大厂的金手指使用技术先进的电镀金制作工艺,镀金层色泽纯正,有效提高抗氧化性。保证了内存工作的稳定性
存储器分为内部存储器和外部存储器(或者叫主存储器和辅助存储器)。内部存储器简称内存,也可称为主存。从广义上讲,只要是PC内部的易失性存储器都可以看作是内存,如显存,二级缓存等等。外部存储器也称为外存,主要由一些非易失性存储器构成,比如硬盘、光盘、U盘、存储卡等等。
内存作为数据的临时仓库,起着承上启下的作用,一方面要从外存中读取执行程序和需要的数据,另一方面还要为CPU服务,进行读写操作。所以主存储器快慢直接影响着PC的速度。下面我就从内存的原理开始谈起。
一、原理篇
内存工作原理
1.内存寻址
首先,内存从CPU获得查找某个数据的指令,然后再找出存取资料的位置时(这个动作称为“寻址”),它先定出横坐标(也就是“列地址”)再定出纵坐标(也就是“行地址”),这就好像在地图上画个十字标记一样,非常准确地定出这个地方。对于电脑系统而言,找出这个地方时还必须确定是否位置正确,因此电脑还必须判读该地址的信号,横坐标有横坐标的信号(也就是RAS信号,Row Address Strobe)纵坐标有纵坐标的信号(也就是CAS信号,Column Address Strobe),最后再进行读或写的动作。因此,内存在读写时至少必须有五个步骤:分别是画个十字(内有定地址两个操作以及判读地址两个信号,共四个操作)以及或读或写的操作,才能完成内存的存取操作。
2.内存传输
为了储存资料,或者是从内存内部读取资料,CPU都会为这些读取或写入的资料编上地址(也就是我们所说的十字寻址方式),这个时候,CPU会通过地址总线(Address Bus)将地址送到内存,然后数据总线(Data Bus)就会把对应的正确数据送往微处理器,传回去给CPU使用。
3.存取时间
所谓存取时间,指的是CPU读或写内存内资料的过程时间,也称为总线循环(bus cycle)。以读取为例,从CPU发出指令给内存时,便会要求内存取用特定地址的特定资料,内存响应CPU后便会将CPU所需要的资料送给CPU,一直到CPU收到数据为止,便成为一个读取的流程。因此,这整个过程简单地说便是CPU给出读取指令,内存回复指令,并丢出资料给CPU的过程。我们常说的6ns(纳秒,秒-9)就是指上述的过程所花费的时间,而ns便是计算运算过程的时间单位。我们平时习惯用存取时间的倒数来表示速度,比如6ns的内存实际频率为1/6ns=166MHz(如果是DDR就标DDR333,DDR2就标DDR2 667)。
4.内存延迟
内存的延迟时间(也就是所谓的潜伏期,从FSB到DRAM)等于下列时间的综合:FSB同主板芯片组之间的延迟时间(±1个时钟周期),芯片组同DRAM之间的延迟时间(±1个时钟周期),RAS到CAS延迟时间:RAS(2-3个时钟周期,用于决定正确的行地址),CAS延迟时间 (2-3时钟周期,用于决定正确的列地址),另外还需要1个时钟周期来传送数据,数据从DRAM输出缓存通过芯片组到CPU的延迟时间(±2个时钟周期)。一般的说明内存延迟涉及四个参数CAS(Column Address Strobe 行地址控制器)延迟,RAS(Row Address Strobe列地址控制器)-to-CAS延迟,RAS Precharge(RAS预冲电压)延迟,Act-to-Precharge(相对于时钟下沿的数据读取时间)延迟。其中CAS延迟比较重要,它反映了内存从接受指令到完成传输结果的过程中的延迟。大家平时见到的数据3—3—3—6中,第一参数就是CAS延迟(CL=3)。当然,延迟越小速度越快。
二、外观篇
由于笔记本的空间设计要求,笔记本内存比台式机内存条要窄,通常采用SO-DIMM模组规范,布线也比较紧凑,针脚也为标准的200Pin。我们经常看到的内存上,一般的元件有内存颗粒、电路板、SPD芯片、排阻(终结电阻)和针脚。下面我来分别介绍一下。
1.颗粒
内存颗粒就是大家平时见到内存上一个个的集成电路块。颗粒是内存的主要组成部分,颗粒性能可以说很大程度上决定了内存的性能,常见的颗粒有以下一些参数。
A.厂商
市场上生产内存颗粒的厂商主要有Hynix(现代电子),Samsung Electronics(***电子),Micro(美光),Infineon(英飞凌),Kingmax(胜创)等等。不过需要注意的一点是,“内存颗粒”和“内存条”是完全不同的两回事。能够生产内存颗粒的厂商全球没几个,而有了内存颗粒后内存条的生产就要简单得多,生产者自然要多得多。充斥市场的杂牌内存条与品牌内存条有着根本的区别,它们在成本上也有很多不同。Kingston、Kingmax、金邦等大的品牌内存条采用的都是符合Intel规定的6层PCB板和现代、***等内存大厂的内存颗粒,按照严格的工艺进行生产;而那些杂牌内存条虽然号称“***”、“现代”,其实就是一些小厂和作坊,他们拿来大厂内存颗粒的切割角料,焊到劣质的PCB板上就下了线,品质完全没有保证,而且经常与一些大的经销商结成联盟来生产和销售,价格波动也更容易受到渠道因素的影响。
B.内存芯片类型
内存芯片类型分SDRAM,DDR SDRAM,DDRⅡ SDRAM、SDRAM、DDR SDRAM和DDR SDRAM同出一门,都属SDRAM系,因此三者的颗粒在外观上不容易分辨,。但是由于采用的物理技术不同,三者在电路,延迟,带宽上还是有很大区别的,区分三者一般都是看颗粒的参数或者针脚和缺口位置,后面我会重点讲DDR和DDRⅡ技术。
C.内存工艺和工作电压
SDRAM内存工艺主要以CMOS为主,内存的工作电压和内存的芯片类型有很大关系,在JEDEC(Joint Electron Device Engineering Council 电子元件工业联合会)的规范中,SDRAM的工作电压是3.3V,DDR是2.5V,DDRⅡ是1.8V。
D.芯片密度
位宽及刷新速度芯片的密度一般都会用bit为单位进行表示(1B=8bit),比如16Mbit是16Mbit÷ 8bit=2MB也就是单颗芯片是2MB的。还有一个参数就是位宽,SDRAM系的位宽是64bit,采用多少个颗粒(一般为偶数)组成64bit也是不一样的。比如一个芯片是4bit的,那么要用16个同样的芯片才能组成64bits的,如果芯片是16bit那么只须4个就可以了。举个例子,256MB的内存可以用512bits÷8×4颗=256MB,4颗×16bit=64bit来组成,一般表示为512Mbits×16bit或64MB×16bit。刷新速度,内存条是由电子存储单元组成的,刷新过程对以列方式排列在芯片上的存储单元进行充电。刷新率是指被刷新的列的数目。两个常用的刷新率是2K和4K。2K模式能够在一定的时间内刷新较多的存储单元并且所用时间较短,因此2K所用的电量要大于4K。4K模式利用较慢的时间刷新较少的存储单元,然而它使用的电量较少。一些特殊设计的SDRAM具有自动刷新功能,它可自动刷新而不借助CPU或外部刷新电路。建立在DRAM内部的自动刷新,减少了电量消耗,被普遍应用于笔记本电脑。
E.Bank
内存的Bank一般分为物理Bank和逻辑Bank。物理Bank体现在SDRAM内存模组上,"Bank 数"表示该内存的物理存储体的数量。(等同于"行"/Row)。逻辑Bank表示一个SDRAM设备内部的逻辑存储库的数量。(现在通常是4个bank)。此外,对于主板,它还表示DIMM连接插槽或插槽组,例如Bank 0 或 Bank A。这里的Bank是内存插槽的计算单位,它是电脑系统与内存之间数据总线的基本工作单位。只有插满一个BANK,电脑才可以正常开机。举个例子,1个SDRAM线槽一个Bank为64bit,而老早以前的EDO内存是32bit的,必须要安装两根内存才能正常工作。主板上的Bank编号从Bank 0开始,必须插满Bank 0才能开机,Bank 1以后的插槽留给日后升级扩充内存用。
F.电气接口类型
一般的电气接口类型与内存类型对应,如SDRAM是SSTL_3(3.3V)、DDR是 SSTL_2(2.5V)、DDRⅡ是SSTL_18(1.8V)。
G.内存的封装
现在比较普遍的封装形式有两种BGA和TSOP两种,BGA封装分FBGA,μBGA,TinyBGA(KingMAX)等等,TSOP分TSOPⅠ和TSOPⅡ。BGA封装具有芯片面积小的特点,可以减少PCB板的面积,发热量也比较小,但是需要专用的焊接设备,无法手工焊接。另外一般BGA封装的芯片,需要多层PCB板布线,这就对成本提出了要求。此外,BGA封装还拥有芯片安装容易、电气性能更好、信号传输延迟低、允许高频运作、散热性卓越等许多优点,它成为DDRⅡ官方选择也在情理之中。而TSOP相对来说工艺比较成熟,成本低,缺点是频率提升比较困难,体积较大,发热量也比BGA大。
H.速度及延迟
一般内存的速度都会用频率表示。比如大家常常看到的SDRAM 133、DDR 266、DDRⅡ 533其实物理工作频率都是133MHz,只是采用了不同的技术,理论上相当于2倍或4倍的速率运行,还有一种表示速度方法是用脉冲周期来表示速度,一般是纳秒级的。比如1/133MHz=7ns,说明该内存的脉冲周期是7ns。内存延迟我前面说过了,参数一般为4个,也有用3个的,数字越小表示延迟越小,速度越快。
I.工作温度
工作温度:工业常温(-40 - 85度);扩展温度(-25 - 85度)
2.电路板
电路板也称PCB版,是印刷电路板电子板卡的基础,由若干层导体和绝缘体组成的平板。电路图纸上的线路都蚀刻在其上,然后焊接上电子元件。由于所有的内存元件都焊在电路版上,因此电路板的布线是决定内存稳定性的重要方面,跟据Intel的规范,DDR内存必须使用6层PCB版才能保证内存的电气化功能和运行的稳定性。所以建议大家购买大厂的产品,不要使用来历不明的山寨货。
3.SPD及SPD芯片
SPD(Serial Presence Detect)— 串行存在侦测,SPD是一颗8针的EEPROM(Electrically Erasable Programmable ROM 电子可擦写程序式只读内存), 容量为256字节~2KB,里面主要保存了该内存的相关资料,如容量、芯片厂商、内存模组厂商、工作速度、是否具备ECC校验等。SPD的内容一般由内存模组制造商写入。支持SPD的主板在启动时自动检测SPD中的资料,并以此设定内存的工作参数。当开机时PC的BIOS将自动读取SPD中记录的信息,如果没有SPD,就容易出现死机或致命错误的现象。建议大家购买有SPD芯片的内存。
4.排阻
排阻,也称终结电阻(终结器)是DDR内存中比较重要的硬件。DDR内存对工作环境提出很高的要求,如果先前发出的信号不能被电路终端完全吸收掉而在电路上形成反射现象,就会对后面信号的影响从而造成运算出错。因此目前支持DDR主板都是通过采用终结电阻来解决这个问题。 由于每根数据线至少需要一个终结电阻,这意味着每块DDR主板需要大量的终结电阻,这也无形中增加了主板的生产成本,而且由于不同的内存模组对终结电阻的要求不可能完全一样,也造成了所谓的“内存兼容性问题”。由于DDR II内部集成了终结器,这个问题上得到了比较完美的解决。
5.针脚(Pin)
Pin-针状引脚,是内存金手指上的金属接触点。由于不同的内存的针脚不同,所以针脚也是从外观区分各种内存的主要方法。内存针脚分为正反两面,例如笔记本DDR内存是200Pin,那么正反两面的针脚就各为200÷2=100个。此外,有些大厂的金手指使用技术先进的电镀金制作工艺,镀金层色泽纯正,有效提高抗氧化性。保证了内存工作的稳定性