分享

内存与CPU匹配

 昵称6832620 2011-04-24

关于内存与CPU搭配的问题,是电脑爱好者最关心的问题之一。怎样搭配?在网上有成百上千篇文章,把人给看得眼花缭乱,如果不仔细分析判断,很难辨别哪个是正确的,哪个是错误的。据我分析,形成这种局面的原因有多种:一是CPU的外频跟前端总线的频率经常混用,有时还把前端总线跟HT总线也混同;二是三种内存(SDRAMDDR1 SDRAMDDR2 SDRAM)的特性不同,但是,经常被混同、混用;三是因为同一个频率有多种名称,各种名称经常被混用;四是IntelCPUAMDCPU特性不同,它们跟内存的搭配方法也不相同,但是经常被混同;五是AMDK8以前的CPUK8及以后的CPU特性不同,经常被混同;六是各个主板厂商对内存的设置经常采用不同的方法和名称,容易使人迷惑;七是文章写作年代不予注明,不知道说的是哪个年代的、用的是什么型号的内存;八是写作者的水平参差不齐,鱼龙混杂,有时很难辨别孰是孰非。因此,我在学习内存知识时,还真的花了不少时间。因为看得多了,想得也多了,当然,也会萌生一些个人的见解。为了巩固我的学习成果,我作了此小结备忘。当然也希望给同是菜鸟的网友们以参考,更欢迎大侠们指正。

1. CPU频率的概念

CPU的频率就是我们常说的电脑的速度,非常重要。但是,CPU本身只是一个芯片,不会产生频率,频率是电脑的主板外加给它的。它的主频是它能正常工作的频率,如果频率太高,即对它作过度超频使用时,它会罢工甚至被烧坏的。CPU的主频等于外频(CPU Host Frequency)乘以倍频(Multiplier),即有

主频=外频×倍频

其实,倍频并不是频率,只是一个倍数,倍频器是设在CPU中的。外频是计算机主板上的频率发生器产生的,是计算机的时钟标准,也称为系统时钟频率。例如一个CPU的倍频器的倍数是10,加给它的外频是200 MHz时,这个CPU的主频就等于

200 MHz×10 = 2000 MHz = 2.0 GHz 

2. 前端总线的概念

前端总线(FSB)是CPU跟主板上的北桥(North Bridge)相联系的总线,它的频率表示了CPU和外界(内存、AGP总线、PCI总线等)数据传输的速度。在Pentium 4出现之前,前端总线频率与外频是一样的。但是,随着电脑技术的不断发展,人们发现前端总线频率需要高于外频,因此,前端总线跟外频有所不同了。在Intel平台,前端总线的频率是外频的4倍;在AMD平台,前端总线频率是外频的2倍。自从AMD K8出现之后,AMD把内存控制器集成在CPU的内部了,CPU和内存的联系也就不再经过FSB和北桥了,前端总线不再存在。但是,在Intel平台,前端总线依然存在。

尽管如此,人们还是经常把前端总线跟外频混同,直至现在。

3.各种内存频率的名称辨析

网上、主板说明书上甚至CPU-Z上,对电脑各种频率叫法多种多样,很不统一,因此需要大概梳理一下:

核心频率(Core Frequency):也称内存的真实频率或极限频率,是指内存芯片能够承受的极限频率,如果加给它的频率超过这个数字较多(内存过超频),它就会拒绝工作,最常见的反映就是蓝屏

时钟频率(Clock Frequency:是指内存的实际工作频率。对这个频率的称呼有许多种,例如,内存频率、工作频率、运行频率、总线频率、DRAM频率等。在港台还称其为时脉。在不少场合还把频率称为速度   

数据频率(Date Frequency)也称等效频率或传输频率。

为了不造成混乱,本文对内存的频率只保留核心频率、时钟频率和数据频率三个名称。但是,在一些不会引起误解,而且和主题贴切的场合,也可能会把时钟频率称为运行频率工作频率总线频率等。

4.内存的类别和属性

对普通用户来说,内存有三种:SDRAM内存、DDR SDRAM内存(也称DDRDDR1)和DDR2 SDRAM(简称DDR2)。DDR3内存出现不久,还没有广泛应用。

SDRAM(同步动态随机存储器),即Synchronous DRAM,说它是同步动态随机存储器,就是说它的工作速度是与系统总线速度是同步的,它在一个时钟周期内只在上升沿传输一次数据,因此,这种内存的核心频率(Core frequency)、时钟频率(Clock freq.)和数据频率(Data freq.)是一致的。

DDR SDRAMDouble Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器的意思,DDR内存是在SDRAM内存基础上发展而来的,它能够在时钟的上升期和下降期各传输一次数据,因此,虽然其时钟频率和核心频率是相等的,但是,其数据频率却是翻了番的。即有内存的核心频率、时钟频率和数据频率三者之比为1:1:2的关系。

 DDR2则是在DDR内存的基础上,利用特殊技术可以处理的数据又比DDR高出了一倍。即做到了内存的核心频率、时钟频率和数据频率三者之比为1:2:4

这三种内存的频率特性和几个频率之间的关系见下表:

1 三种内存的各种频率关系

 目前SDRAMDDR1DDR2-400都已经先后被淘汰出局了,但是,在旧电脑中,三种规格的内存依然存在着。比如,我在2002年购置的IBM黑金刚,当时算是比较先进的,但是,它的内存却是SDRAM的,容量也只有128MB。电脑的更新换代的速度真是太快了。

5.Intel平台内存和CPU同步的条件

为了保证内存安全工作,加给内存的频率不能太高;为了保证电脑的速度,加给内存的频率应该跟CPU的速度相匹配,不能过低,因此提出了内存同步(Synchronize)的要求,什么是内存同步?在网上有各种说法,有的说:内存的频率等于外频就是内存同步;也有的说:内存的时钟频率与外频相等就是内存同步。例如,当外频是133 MHz时,对于支持SDRAM的主板,应该配以PC133内存;对于支持DDR1的主板,应该配以DDR 266的内存。这些说法当然是正确的。

但是,对于DDR2内存来说,如果再说:Intel平台上,内存的时钟频率与外频相等就是内存同步就有问题了。例如,对于FSB=800 MHzCPU来说,它的外频等于200 MHz,在这种情况下,配以DDR2-800才是同步的。这就不是内存的时钟频率等于外频了,而是内存的时钟频率等于两倍外频才是内存同步了。因此,我认为,为了把DDR2内存也包括进来,应该把同步条件改为内存的核心频率等于外频就是内存同步才是准确的。

当然也可以把DDR2SDRAMDDR分开来说,比如可以说:当选择DDR2内存时,外频跟内存的时钟频率之比是1:2时,就是内存同步   

 1.Intel生产的CPU的外频是200 MHz时,如果配DDR内存,应该配什么型号的内存才是内存同步?

 答:对于DDR内存来说,其核心频率等于外频就是内存同步,核心频率是200 MHz的内存是 DDR400,因此应该选择DDR400的内存。当然,也可以说:对于DDR内存来说,其时钟频率等于外频就是内存同步,因此,当外频是200MHz时,应该选择DDR400的内存。”   

 2. Intel生产的CPU的外频是200 MHz时,如果配DDR2内存,应该配什么型号的内存才是内存同步?

 答:对于DDR2内存来说,其核心频率等于外频就是内存同步,核心频率是200MHz的内存是DDR2-800,因此应该选择DDR800的内存。当然,也可以说:对于DDR2内存来说,外频与时钟频率的比为1:2时就是内存同步,因此,当外频是200 Mhz时,应该选择DDR800的内存,因为DDR2-800内存的时钟频率是400MHz,跟外频是1:2的关系。

在下表中,列出了在不同的外频条件下,如何选择内存的方法。单从频率同步的角度看,把表中DDR中的字去掉也是内存同步的。 

2 内存的合理选配表 

 注:DDR内存的插槽跟DDR2内存的插槽是不相同的,应该选择什么内存,要根据主板来定。 

6. FSB带宽和内存带宽相匹配条件

当选择内存时,除了内存同步的要求外,还有一个重要条件是要求内存的带宽最好和前端总线(FSB)的带宽相等。如果内存的带宽小于FSB的带宽,则会增大CPU的等待时间;如果内存的带宽大于FSB,会形成内存资源的浪费。

对于支持DDR1的平台来说,如果外频是200 MHz,单从内存同步的角度看,只要使用一个DDR400就可以了,但是,因为FSB频率是外频的4倍,即为800 MHz,带宽为800 MHz×64b÷8b/B = 6.4 GB/s,而DDR400的带宽仅为3.2 GB/s。所以,为了使内存的带宽跟FSB的带宽相匹配,就应该再增加一个同样的内存DDR400,组成双通道运行。

 对于支持DDR2的平台来说,如果外频是200MHz,只要配一个DDR2-800,既可以满足内存同步的要求,也可以满足带宽匹配的要求。

带宽是否匹配的条件,除了可以用计算带宽的方法判断外,从频率的角度看,只要内存的数据频率等于FSB的频率就是带宽匹配了。例如,DDR2-800或双通道的DDR400的数据频率都是800 MHz,FSB的频率也是800 MHz,这样搭配,就是最佳的搭配。

总之,如果加于内存的频率过高,其后果是蓝屏或电脑不稳定;加给内存的频率过低,是电脑频率资源的浪费。带宽不匹配的后果也是资源的浪费。既能满足内存同步,又能满足带宽匹配时,才是内存和CPU的最佳搭配。

 7Intel平台的内存异步设置方法

什么是内存异步?为了实现某种需要,让内存工作在与外频不同的频率时,就称为内存异步(Asynchronize)。所谓内存和CPU的搭配,实际上就是让内存的频率如何适应CPU频率的变化。例如,当电脑的CPU外频由166 MHz超频到200 MHz以后,加于内存的频率也会跟着提升到200 MHz,为了使内存能够继续工作,就可以利用内存异步技术,使加给内存的频率维持166 MHz不变,或只有较小的变化。当内存的频率高于CPU的频率时,一般不须经过专门设置,因为内存频率都是向下兼容的。但是,如果你想使这个内存也能在较高频率运行时,也可以作内存异步设置,使内存也工作在较高的频率下,实现物尽其用。

 内存异步都是在BIOS中进行设置的,当前的主板大都支持内存异步技术。据作者归纳,设置方法有以下几种种,分述如下:

  直接规定内存频率的增减上限——有过 “±33 MHz 的规定,早期的内存异步技术就是采用这种解决方案。例如,当P3处理器运行在100 MHz外频下,通过BIOS设置,使内存可以异步运行在133 MHz66 MHz两种频率下。

  规定分频比率的方法——即规定外频与内存时钟频率之比,并把这个比值称为分频系数(DRAM Frequency Ratio)。分频系数的设置值多种多样,不同的主板有不同的设置值,例如有:11(同步)、1: 1.33 4:3455:412:13等等。分频系数大于1时是内存频率小于外频;分频系数小于1时是内存频率大于外频。例如,当外频是200 MHz时,如果在BIOS中你选择的分频系数是5:4,那么通过内存的频率就是200 MHz×4÷5=160 MHz,相当DDR320。如果你安装的内存是 DDR333DDR2-667,就正好匹配了(内存频率稍大一些,没有坏处)。

  设置内存的倍频(System Memory Multiplier)——例如技嘉(GIGABYTEp31主板就是这样设置的。在BIOS的倍频选项有:Auto(默认主板上实际安装的内存)、3.3334+2.52等。当外频是200Mhz、实际安装的内存是DDR2-800时,如果你选倍频为3.33,那么在内存时钟频率(Memory Frequency)项就会显示800  667,其中的800是你在主板上实际安装的DDR2-800;667就是告诉你:异步到了DDR2-667的意思,即在内存中实际运行的时钟频率是333 MHz,而不再是400 MHz了。

  直接用内存型号表示——例如,华硕(ASUS) 的P5E-VM主板BIOS设置的内存时钟频率(DRAM Frequency)选项有:AutoDDR2-667DDR2-800DDR2-834DDR2-888DDR2-1000DDR2-1112DDR2=13338个选项,你打算使内存异步到什么程度,直接把相对应的型号选上就可以了,简单明了。但是,你也只能在这个范围内选。   

 3.在外频是200 MHz、前端总线频率是800 MHzIntel平台的主板上安装了DDR2-800内存,当把外频超到250 MHz时,内存的实际时钟频率是多少?如果不想升级现有的内存,应该如何设置内存异步?

 答:从给定条件看,安装DDR2-800内存是满足内存同步条件(外频:内存的时钟频率=1:2)的,因为DDR2-800内存的时钟频率是400 MHz

当外频提升到250MHz时,内存的时钟频率也是同步提升的。此时内存的时钟频率为250MHz×2=500MHz,相当DDR2-1000。内存超频很多,理应把内存升级为DDR2-1066才好。如果还想使用现在的DDR2-800内存,可以做内存异步设置。以技嘉p31主板为例说明如下:

 在开机的开始,不停地点击Del键,以便进入BIOS用上下方向键选择MB Intelligent Tweaker(频率/电压控制) ”→回车后选System Memory Multiplier(SPD)记忆体倍频调整”→选择3.33,这时在Memory Frequency 记忆体时脉调整项就会出现800  667两组数字,其中的800就是你实际安装的内存DDR2-800667就是异步的内存频率,DDR2-667,时钟频率是333 MHz,你的DDR2-800内存可以胜任愉快了,但是,速度也相应降下来了。

说明书中的记忆体时脉是港台用语,分别是内存时钟频率的意思。

 8.AMD平台的内存实际频率的计算方法

Intel 平台上,内存控制器(Memory Controller)是置于北桥(North Bridge )内的,内存是通过前端总线(FSB)CPU联系的,因此,我们在上面计算Intel平台的内存频率时,是以外频为参照的。而AMD CPUK8及以后)的平台上,内存控制器是置于CPU内部的,因此,计算AMD平台的内存频率时,是以CPU的主频为参照的。而且,在AMD平台,异步的计算方法跟同步的计算方法没有什么差别。

当你在BIOS中把内存频率(在BIOS中,内存频率常用英文DRAM FrequencyMemory FrequencyMemory Clock Frequency表示)设置成AutoBy SPD时,内存控制器会自动侦查到你安装在主板上的内存类型和参数,只要你安装的内存是该主板支持的,内存控制器会为你自动计算出在内存上实际运行的频率,你完全可以撒手不管它了。

如果你选择的内存的核心频率等于CPU的外频(比如当外频是200Mhz时,你选用DDR400DDR2-800),并且按这种方法设置(即让计算机把内存频率自动设置为你实际安装的内存频率时),实际上就是AMD平台的同步设置。

但是,跟Intel平台不同的是,在AMD平台,即使在这种同步设置下,其工作频率与标称值也可能有所差异。例如,你在主频是2.2GHz、倍频是11AMD平台安装上DDR2-800的内存时,内存的工作频率并不是400MHz,而是366MHz,这相当是DDR2-372内存。为什么会出现这种情况,这跟AMD 平台内存控制器设计的特殊计算方法有关,下面将作介绍。

AMD平台上,做内存异步设置时,很少采用分频比的方法表示,大都是直接用内存的型号表示。例如:DDR400DDR2-400DDR2-533DDR2-667DDR2-800DDR2-1066DDR2-1333等。

AMD平台,内存的实际工作是怎么计算的呢?大概步骤如下:

 BIOS中设置内存频率:如果你实际安装在内存插槽上的内存的核心频率等于外频,而且在BIOS中设置内存频率时选择AutoBy SPD,这就意味着你做的是内存同步设置。但是,因为在AMD平台中,内存的运行频率是取决于CPU主频的,因此,只有在内存的时钟频率能够整除CPU主频的情况下,内存的运行频率才跟它的标称频率相一致。

应该明确的是:你在BIOS中设置的内存频率,可以跟实际安装在主板上的内存频率相同;也可以不相同。如果你在BIOS中设置的频率低于或高于实际安装在内存插槽中的内存的频率时,这就是内存异步设置了。不过,当前的DDR2内存超频的允许范围有限,所以,目前的主板大都没有高于主板内存频率的设置选项。

  计算分频系数:首先计算出内存控制器自动设置的分频倍数DIV(Divider),也经常称为分频系数:

DIV= CPU标称主频÷BIOS设置的内存时钟频率

如果DIV出现小数,则应该把它进位为整数,例如,将7.4进位为8。这是为了保证内存的安全。如果计算出来的DIV小数点后的数字很小,辨别不清是否该进位,就应该把除数(例如133)的小数点多取几位(例如取133.33333),再用计算器或计算机计算出这个DIV,就很容易辩别是否应该进位了。

 如果计算出来的DIV小于5,则一律取为5。这是一条重要规则。但是,因为如今的CPU主频很高了,所以,这个规则往往被忽视。

 这个DIV的计算值是固定在CPU内部的内存控制器上的,是不会因为主板的改变而改变的。

  计算内存的实际时钟频率:知道了内存分频倍数后,内存的实际时钟频率用下式计算:

内存的实际时钟频率 = CPU实际主频÷内存的分频倍数

在计算时,务请注意标称主频实际主频 的区别。如果你没有超频,两者才是相等的。

计算结果出来后,你就可以判断你所选择的内存是否合适了。     

 4: CPUAMD速龙(Athlon64  3200+,主频是 2.0 GHz,外频是200 MHz时,如果打算选用DDR400的内存并在BIOS做这样的(Auto)设置时,问: 分频倍数是多少? 通过内存的实际频率是多少?

  解: 因为CPU的主频等于2000 MHzDDR400的时钟频率等于400MHz/2=200 MHz,所以,内存的分频倍数=2000 MHz÷200 MHz=10;

   因为在题中没有说超频了,所以,通过内存的实际时钟频率=2000 MHz÷10=200 MHz,即内存的实际工作是200 MHz,因此,安装DDR400内存是内存的同步状态。         

 5. CPU是闪龙3200+,主频是 1.8 GHz,主板外频是200 MHz时,如果选用DDR800的内存时,问: 分频倍数数是多少? 通过内存的实际时钟频率是多少?

 解: 分频系数DIV=1800 MHz÷400 MHz=4.5,应向上取为5;

  因为题中没有说超频了,所以,通过内存的实际时钟频率=1800 MHz÷5=360 MHz。即将内存降格使用为DDR2-720了。因为内存的频率是向下兼容的,所以,这样配置也是可以的,而且也可以认为内存运行在同步状态。 

 6. AMD CPU标称主频是 2.0 GHz,外频是200 MHz时,BIOS中设定的内存是DDR2-800。如果将外频超到250 MHz时,如何选择内存?

  解: 分频倍数DIV=2000 MHz÷800 MHz÷2=5.0;

  当外频提升到250MHz时,实际主频是250MHz×10=2500 MHz,所以通过内存的实际时钟频率=2500 MHz÷5=500 MHz,因为这个频率是时钟频率,它乘以2就是内存的数据频率,对应的是DDR2-1000。因此,在这种情况下,DDR2-800是超频使用了,可能使电脑运行不稳定,应该更换为DDR2-1000内存才好。

 如果不想更换现在安装在主板上的DDR2-800内存,也可以做内存异步设置。方法是把BIOS中的内存频率设置得低一点,比如设置为DDR2-667,这样,DIV=2000MHz÷333MHz=6。超频后的实际主频是250MHz×10=2500 MHz,通过内存的实际时钟频率将是2500 MHz÷6=416 MHz,如果你现在安装的DDR2-800内存体质好的话,这样小的频率过载,应该是可以承受得了的。

 如果你还不放心,还可以在BIOS中把内存频率设置得再低一点,比如设置成DDR2-533,这时DIV=2000MHz÷266MHz=7.5,应该进位取为8。这样,CPU的主频超频到2500 MHz后,内存的时钟频率就是 2500 MHz÷8=312.5MHz,相当DDR2-625,这样一来,你安装在主板上的DDR2-800内存工作得轻闲多了。不过,这是用牺牲内存的速度换来的。

下表是我根据上述推理计算出来的一个表,它是说明BIOS中设置的内存频率(DRAM FrequencyMemory Frequency)跟内存实际工作频率的关系的。表中的分频是指我们上面说的分频倍数DIV;时钟频率就是该内存的实际运行频率,前题是没有超频。表中用红字表示的分频数和时钟频率数,表示计算出来的DIV小于5,是内存控制器把它进为5的。

 上述三个例题中不超频时的答案都可以从表中直接查出来。但是,有超频情况时,该表中的分频系数(分频)还是可用的,只需用它除以超频后的主频即可得到内存的工作频率。这个方法我们在例3中已经用过了。

 

                  3  AMD平台的BIOS中设置频率的效果表

    注:从表中可以看出:如果在BIOS中设置的时钟频率能够整除主频的话,则内存的频率得以充分利用(表中用蓝色加粗的频率数字),否则的话,内存的工作频率会有所降低。这是内存控制器的设置,是为了保护内存不被超频的缘故。 

8. AMD 平台的主频是1.6GHz,处理器的倍频是8,当在BIOS中设置的内存频率是DDR 333时,内存的工作频率是多少?

答:DIV=1600 MHz/166.66=9.6,取为10 ,因此内存的运行频率是1600 MHz÷10=160 MHz,相当是 DDR320。这个举例说明:如果内存的时钟频率不能整除CPU的主频时,内存不能跟CPU完全同步。

9. 关于双通道内存技术

 制造CPU的工艺水平不断提高,CPU频率的提升速度很快,但是,制造内存的工艺水平却不能同步提高,因此内存的速度却始终是落后于CPU的。例如在几年以前,FSB的频率已经达到800 MHz了,而内存的频率一直不能突破DDR400。从内存同步的角度看,DDR400内存配FSB800 MHzCPU是同步的。可是,从带宽匹配的角度看,则是不匹配的。因此就出现了双通道内存技术。

 什么是双通道?双通道体系包含了两个独立的、具备互补性的智能内存控制器,理论上来说,两个内存控制器都能够在彼此间零延迟的情况下同时运作。其结构原理如下图的右图所示。

有了内存的双通道后,当控制器B准备进行下一次存取内存的时候,控制器A就在读/写主内存,反之亦然。两个内存控制器的这种互补的功能可以让等待时间缩减50%。双通道DDR的两个内存控制器在功能上是完全一样的。普通的单通道内存系统具有一个64位的内存控制器,而双通道内存系统则有264位的内存控制器,在双通道模式下具有128bit的内存位宽,从而在理论上把内存带宽提高一倍。例如,单通道的DDR400带宽是3.2GB/s,如果再加上一个相同的内存组成双通道,带宽就变成6.4GB/s了。

 因此,对于前端总线是800 MHz的平台来说,只要配两个DDR400的内存组成双通道,不但能满足频率同步的要求,也能满足带宽匹配的要求。但是,对于DDR2内存来说,只需配一个DDR2-800内存就可以了。这样做,也是既能满足同步要求,也能满足带宽的要求。如果你想组成双通道,也只能再增加一个DDR2-800的内存条。如果你想节约一点,打算采用两个DDR2-400内存设置成双通道以应对800 MHzFSB时,虽然带宽能满足要求,但是,外频是200MHz, 内存时钟频率也是200 MHz,不能满足安装DDR2内存时外频和内存时钟频率之比为1:2的要求,因此,内存是不同步的,除非你做内存异步设置,否则,会使电脑不能稳定运行。

 可是,我们在网上经常会看到这样的说法:用两个DDR2-533内存组成双通道就可以用在FSB1066 MHz的平台上之类的论点。我认为这样说是不妥的,因为每个通道都是独立的,设置成双通道时,的确可以增加带宽,但是,内存的时钟频率并不是增加一倍的。下面的实验结果可以看出:单通道时,内存的时钟频率(DRAM 频率)是400 MHz,如果再用一 个是DDR2-800内存组成双通道以后,经检测,其时钟频率还是400 MHz,并没有因为设置了双通道而翻番。

 由检测结果可以看出,组成双通道以后,内存的容量由1024 MB扩大为2048 MB了。并且指明双通道(OC模式)是对称的,这就是说带宽也是翻了番的。

    注:检测结果中的前端总线:内存似应为外频:内存的时钟频率,所以,其比为1:2,即200 Mhz:400 MHz。难道CPU-Z也把FSB和外频混同了?!

   过去的较老的主板对双通道内存的要求较苛刻,首先要主板的芯片支持,另外还要求是同一厂商、同一规格、同一容量的内存条,按照正确的方法安装才能组成双通道。不过,当前的主板大都支持双通道,而且由于采用FMT技术,对组成双通道的内存的规格和容量方面的要求已经大为降低,因此,实现双通道已经是一件比较容易的事了。但是,对于三个内存插槽以上的主板来说,如果你的内存不完全相同,安装时必须按照主板说明书进行安装。原则是同一规格的内存条隔开插或按同一颜色的两个插槽为一组的方法插。插前一定要看主板说明书,因为在这方面没有统一的标准,所以,一定以说明书为准。。

 检查双通道是否成功,可以用专用软件检查。比如CPU-ZEVERESTSiSofyware Sandra等。

ONT-FAMILY: 楷体_GB2312; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-fareast-language: ZH">为了保证内存安全工作,加给内存的频率不能太高;为了保证电脑的速度,加给内存的频率应该跟
CPU的速度相匹配,不能过低,因此提出了内存同步(Synchronize)的要求,什么是内存同步?在网上有各种说法,有的说:内存的频率等于外频就是内存同步;也有的说:内存的时钟频率与外频相等就是内存同步。例如,当外频是133 MHz时,对于支持SDRAM的主板,应该配以PC133内存;对于支持DDR1的主板,应该配以DDR 266的内存。这些说法当然是正确的。

 

但是,对于DDR2内存来说,如果再说:Intel平台上,内存的时钟频率与外频相等就是内存同步就有问题了。例如,对于FSB=800 MHzCPU来说,它的外频等于200 MHz,在这种情况下,配以DDR2-800才是同步的。这就不是内存的时钟频率等于外频了,而是内存的时钟频率等于两倍外频才是内存同步了。因此,我认为,为了把DDR2内存也包括进来,应该把同步条件改为内存的核心频率等于外频就是内存同步才是准确的。

当然也可以把DDR2SDRAMDDR分开来说,比如可以说:当选择DDR2内存时,外频跟内存的时钟频率之比是1:2时,就是内存同步   

 1.Intel生产的CPU的外频是200 MHz时,如果配DDR内存,应该配什么型号的内存才是内存同步?

 答:对于DDR内存来说,其核心频率等于外频就是内存同步,核心频率是200 MHz的内存是 DDR400,因此应该选择DDR400的内存。当然,也可以说:对于DDR内存来说,其时钟频率等于外频就是内存同步,因此,当外频是200MHz时,应该选择DDR400的内存。”   

 2. Intel生产的CPU的外频是200 MHz时,如果配DDR2内存,应该配什么型号的内存才是内存同步?

 答:对于DDR2内存来说,其核心频率等于外频就是内存同步,核心频率是200MHz的内存是DDR2-800,因此应该选择DDR800的内存。当然,也可以说:对于DDR2内存来说,外频与时钟频率的比为1:2时就是内存同步,因此,当外频是200 Mhz时,应该选择DDR800的内存,因为DDR2-800内存的时钟频率是400MHz,跟外频是1:2的关系。

在下表中,列出了在不同的外频条件下,如何选择内存的方法。单从频率同步的角度看,把表中DDR中的字去掉也是内存同步的。 

2 内存的合理选配表 

 注:DDR内存的插槽跟DDR2内存的插槽是不相同的,应该选择什么内存,要根据主板来定。 

6. FSB带宽和内存带宽相匹配条件

当选择内存时,除了内存同步的要求外,还有一个重要条件是要求内存的带宽最好和前端总线(FSB)的带宽相等。如果内存的带宽小于FSB的带宽,则会增大CPU的等待时间;如果内存的带宽大于FSB,会形成内存资源的浪费。

对于支持DDR1的平台来说,如果外频是200 MHz,单从内存同步的角度看,只要使用一个DDR400就可以了,但是,因为FSB频率是外频的4倍,即为800 MHz,带宽为800 MHz×64b÷8b/B = 6.4 GB/s,而DDR400的带宽仅为3.2 GB/s。所以,为了使内存的带宽跟FSB的带宽相匹配,就应该再增加一个同样的内存DDR400,组成双通道运行。

 对于支持DDR2的平台来说,如果外频是200MHz,只要配一个DDR2-800,既可以满足内存同步的要求,也可以满足带宽匹配的要求。

带宽是否匹配的条件,除了可以用计算带宽的方法判断外,从频率的角度看,只要内存的数据频率等于FSB的频率就是带宽匹配了。例如,DDR2-800或双通道的DDR400的数据频率都是800 MHz,FSB的频率也是800 MHz,这样搭配,就是最佳的搭配。

总之,如果加于内存的频率过高,其后果是蓝屏或电脑不稳定;加给内存的频率过低,是电脑频率资源的浪费。带宽不匹配的后果也是资源的浪费。既能满足内存同步,又能满足带宽匹配时,才是内存和CPU的最佳搭配。

 7Intel平台的内存异步设置方法

什么是内存异步?为了实现某种需要,让内存工作在与外频不同的频率时,就称为内存异步(Asynchronize)。所谓内存和CPU的搭配,实际上就是让内存的频率如何适应CPU频率的变化。例如,当电脑的CPU外频由166 MHz超频到200 MHz以后,加于内存的频率也会跟着提升到200 MHz,为了使内存能够继续工作,就可以利用内存异步技术,使加给内存的频率维持166 MHz不变,或只有较小的变化。当内存的频率高于CPU的频率时,一般不须经过专门设置,因为内存频率都是向下兼容的。但是,如果你想使这个内存也能在较高频率运行时,也可以作内存异步设置,使内存也工作在较高的频率下,实现物尽其用。

 内存异步都是在BIOS中进行设置的,当前的主板大都支持内存异步技术。据作者归纳,设置方法有以下几种种,分述如下:

  直接规定内存频率的增减上限——有过 “±33 MHz 的规定,早期的内存异步技术就是采用这种解决方案。例如,当P3处理器运行在100 MHz外频下,通过BIOS设置,使内存可以异步运行在133 MHz66 MHz两种频率下。

  规定分频比率的方法——即规定外频与内存时钟频率之比,并把这个比值称为分频系数(DRAM Frequency Ratio)。分频系数的设置值多种多样,不同的主板有不同的设置值,例如有:11(同步)、1: 1.33 4:3455:412:13等等。分频系数大于1时是内存频率小于外频;分频系数小于1时是内存频率大于外频。例如,当外频是200 MHz时,如果在BIOS中你选择的分频系数是5:4,那么通过内存的频率就是200 MHz×4÷5=160 MHz,相当DDR320。如果你安装的内存是 DDR333DDR2-667,就正好匹配了(内存频率稍大一些,没有坏处)。

  设置内存的倍频(System Memory Multiplier)——例如技嘉(GIGABYTEp31主板就是这样设置的。在BIOS的倍频选项有:Auto(默认主板上实际安装的内存)、3.3334+2.52等。当外频是200Mhz、实际安装的内存是DDR2-800时,如果你选倍频为3.33,那么在内存时钟频率(Memory Frequency)项就会显示800  667,其中的800是你在主板上实际安装的DDR2-800;667就是告诉你:异步到了DDR2-667的意思,即在内存中实际运行的时钟频率是333 MHz,而不再是400 MHz了。

  直接用内存型号表示——例如,华硕(ASUS) 的P5E-VM主板BIOS设置的内存时钟频率(DRAM Frequency)选项有:AutoDDR2-667DDR2-800DDR2-834DDR2-888DDR2-1000DDR2-1112DDR2=13338个选项,你打算使内存异步到什么程度,直接把相对应的型号选上就可以了,简单明了。但是,你也只能在这个范围内选。   

 3.在外频是200 MHz、前端总线频率是800 MHzIntel平台的主板上安装了DDR2-800内存,当把外频超到250 MHz时,内存的实际时钟频率是多少?如果不想升级现有的内存,应该如何设置内存异步?

 答:从给定条件看,安装DDR2-800内存是满足内存同步条件(外频:内存的时钟频率=1:2)的,因为DDR2-800内存的时钟频率是400 MHz

当外频提升到250MHz时,内存的时钟频率也是同步提升的。此时内存的时钟频率为250MHz×2=500MHz,相当DDR2-1000。内存超频很多,理应把内存升级为DDR2-1066才好。如果还想使用现在的DDR2-800内存,可以做内存异步设置。以技嘉p31主板为例说明如下:

 在开机的开始,不停地点击Del键,以便进入BIOS用上下方向键选择MB Intelligent Tweaker(频率/电压控制) ”→回车后选System Memory Multiplier(SPD)记忆体倍频调整”→选择3.33,这时在Memory Frequency 记忆体时脉调整项就会出现800  667两组数字,其中的800就是你实际安装的内存DDR2-800667就是异步的内存频率,DDR2-667,时钟频率是333 MHz,你的DDR2-800内存可以胜任愉快了,但是,速度也相应降下来了。

说明书中的记忆体时脉是港台用语,分别是内存时钟频率的意思。

 8.AMD平台的内存实际频率的计算方法

Intel 平台上,内存控制器(Memory Controller)是置于北桥(North Bridge )内的,内存是通过前端总线(FSB)CPU联系的,因此,我们在上面计算Intel平台的内存频率时,是以外频为参照的。而AMD CPUK8及以后)的平台上,内存控制器是置于CPU内部的,因此,计算AMD平台的内存频率时,是以CPU的主频为参照的。而且,在AMD平台,异步的计算方法跟同步的计算方法没有什么差别。

当你在BIOS中把内存频率(在BIOS中,内存频率常用英文DRAM FrequencyMemory FrequencyMemory Clock Frequency表示)设置成AutoBy SPD时,内存控制器会自动侦查到你安装在主板上的内存类型和参数,只要你安装的内存是该主板支持的,内存控制器会为你自动计算出在内存上实际运行的频率,你完全可以撒手不管它了。

如果你选择的内存的核心频率等于CPU的外频(比如当外频是200Mhz时,你选用DDR400DDR2-800),并且按这种方法设置(即让计算机把内存频率自动设置为你实际安装的内存频率时),实际上就是AMD平台的同步设置。

但是,跟Intel平台不同的是,在AMD平台,即使在这种同步设置下,其工作频率与标称值也可能有所差异。例如,你在主频是2.2GHz、倍频是11AMD平台安装上DDR2-800的内存时,内存的工作频率并不是400MHz,而是366MHz,这相当是DDR2-372内存。为什么会出现这种情况,这跟AMD 平台内存控制器设计的特殊计算方法有关,下面将作介绍。

AMD平台上,做内存异步设置时,很少采用分频比的方法表示,大都是直接用内存的型号表示。例如:DDR400DDR2-400DDR2-533DDR2-667DDR2-800DDR2-1066DDR2-1333等。

AMD平台,内存的实际工作是怎么计算的呢?大概步骤如下:

 BIOS中设置内存频率:如果你实际安装在内存插槽上的内存的核心频率等于外频,而且在BIOS中设置内存频率时选择AutoBy SPD,这就意味着你做的是内存同步设置。但是,因为在AMD平台中,内存的运行频率是取决于CPU主频的,因此,只有在内存的时钟频率能够整除CPU主频的情况下,内存的运行频率才跟它的标称频率相一致。

应该明确的是:你在BIOS中设置的内存频率,可以跟实际安装在主板上的内存频率相同;也可以不相同。如果你在BIOS中设置的频率低于或高于实际安装在内存插槽中的内存的频率时,这就是内存异步设置了。不过,当前的DDR2内存超频的允许范围有限,所以,目前的主板大都没有高于主板内存频率的设置选项。

  计算分频系数:首先计算出内存控制器自动设置的分频倍数DIV(Divider),也经常称为分频系数:

DIV= CPU标称主频÷BIOS设置的内存时钟频率

如果DIV出现小数,则应该把它进位为整数,例如,将7.4进位为8。这是为了保证内存的安全。如果计算出来的DIV小数点后的数字很小,辨别不清是否该进位,就应该把除数(例如133)的小数点多取几位(例如取133.33333),再用计算器或计算机计算出这个DIV,就很容易辩别是否应该进位了。

 如果计算出来的DIV小于5,则一律取为5。这是一条重要规则。但是,因为如今的CPU主频很高了,所以,这个规则往往被忽视。

 这个DIV的计算值是固定在CPU内部的内存控制器上的,是不会因为主板的改变而改变的。

  计算内存的实际时钟频率:知道了内存分频倍数后,内存的实际时钟频率用下式计算:

内存的实际时钟频率 = CPU实际主频÷内存的分频倍数

在计算时,务请注意标称主频实际主频 的区别。如果你没有超频,两者才是相等的。

计算结果出来后,你就可以判断你所选择的内存是否合适了。     

 4: CPUAMD速龙(Athlon64  3200+,主频是 2.0 GHz,外频是200 MHz时,如果打算选用DDR400的内存并在BIOS做这样的(Auto)设置时,问: 分频倍数是多少? 通过内存的实际频率是多少?

  解: 因为CPU的主频等于2000 MHzDDR400的时钟频率等于400MHz/2=200 MHz,所以,内存的分频倍数=2000 MHz÷200 MHz=10;

   因为在题中没有说超频了,所以,通过内存的实际时钟频率=2000 MHz÷10=200 MHz,即内存的实际工作是200 MHz,因此,安装DDR400内存是内存的同步状态。         

 5. CPU是闪龙3200+,主频是 1.8 GHz,主板外频是200 MHz时,如果选用DDR800的内存时,问: 分频倍数数是多少? 通过内存的实际时钟频率是多少?

 解: 分频系数DIV=1800 MHz÷400 MHz=4.5,应向上取为5;

  因为题中没有说超频了,所以,通过内存的实际时钟频率=1800 MHz÷5=360 MHz。即将内存降格使用为DDR2-720了。因为内存的频率是向下兼容的,所以,这样配置也是可以的,而且也可以认为内存运行在同步状态。 

 6. AMD CPU标称主频是 2.0 GHz,外频是200 MHz时,BIOS中设定的内存是DDR2-800。如果将外频超到250 MHz时,如何选择内存?

  解: 分频倍数DIV=2000 MHz÷800 MHz÷2=5.0;

  当外频提升到250MHz时,实际主频是250MHz×10=2500 MHz,所以通过内存的实际时钟频率=2500 MHz÷5=500 MHz,因为这个频率是时钟频率,它乘以2就是内存的数据频率,对应的是DDR2-1000。因此,在这种情况下,DDR2-800是超频使用了,可能使电脑运行不稳定,应该更换为DDR2-1000内存才好。

 如果不想更换现在安装在主板上的DDR2-800内存,也可以做内存异步设置。方法是把BIOS中的内存频率设置得低一点,比如设置为DDR2-667,这样,DIV=2000MHz÷333MHz=6。超频后的实际主频是250MHz×10=2500 MHz,通过内存的实际时钟频率将是2500 MHz÷6=416 MHz,如果你现在安装的DDR2-800内存体质好的话,这样小的频率过载,应该是可以承受得了的。

 如果你还不放心,还可以在BIOS中把内存频率设置得再低一点,比如设置成DDR2-533,这时DIV=2000MHz÷266MHz=7.5,应该进位取为8。这样,CPU的主频超频到2500 MHz后,内存的时钟频率就是 2500 MHz÷8=312.5MHz,相当DDR2-625,这样一来,你安装在主板上的DDR2-800内存工作得轻闲多了。不过,这是用牺牲内存的速度换来的。

下表是我根据上述推理计算出来的一个表,它是说明BIOS中设置的内存频率(DRAM FrequencyMemory Frequency)跟内存实际工作频率的关系的。表中的分频是指我们上面说的分频倍数DIV;时钟频率就是该内存的实际运行频率,前题是没有超频。表中用红字表示的分频数和时钟频率数,表示计算出来的DIV小于5,是内存控制器把它进为5的。

 上述三个例题中不超频时的答案都可以从表中直接查出来。但是,有超频情况时,该表中的分频系数(分频)还是可用的,只需用它除以超频后的主频即可得到内存的工作频率。这个方法我们在例3中已经用过了。

 

                  3  AMD平台的BIOS中设置频率的效果表

    注:从表中可以看出:如果在BIOS中设置的时钟频率能够整除主频的话,则内存的频率得以充分利用(表中用蓝色加粗的频率数字),否则的话,内存的工作频率会有所降低。这是内存控制器的设置,是为了保护内存不被超频的缘故。 

8. AMD 平台的主频是1.6GHz,处理器的倍频是8,当在BIOS中设置的内存频率是DDR 333时,内存的工作频率是多少?

答:DIV=1600 MHz/166.66=9.6,取为10 ,因此内存的运行频率是1600 MHz÷10=160 MHz,相当是 DDR320。这个举例说明:如果内存的时钟频率不能整除CPU的主频时,内存不能跟CPU完全同步。

9. 关于双通道内存技术

 制造CPU的工艺水平不断提高,CPU频率的提升速度很快,但是,制造内存的工艺水平却不能同步提高,因此内存的速度却始终是落后于CPU的。例如在几年以前,FSB的频率已经达到800 MHz了,而内存的频率一直不能突破DDR400。从内存同步的角度看,DDR400内存配FSB800 MHzCPU是同步的。可是,从带宽匹配的角度看,则是不匹配的。因此就出现了双通道内存技术。

 什么是双通道?双通道体系包含了两个独立的、具备互补性的智能内存控制器,理论上来说,两个内存控制器都能够在彼此间零延迟的情况下同时运作。其结构原理如下图的右图所示。

有了内存的双通道后,当控制器B准备进行下一次存取内存的时候,控制器A就在读/写主内存,反之亦然。两个内存控制器的这种互补的功能可以让等待时间缩减50%。双通道DDR的两个内存控制器在功能上是完全一样的。普通的单通道内存系统具有一个64位的内存控制器,而双通道内存系统则有264位的内存控制器,在双通道模式下具有128bit的内存位宽,从而在理论上把内存带宽提高一倍。例如,单通道的DDR400带宽是3.2GB/s,如果再加上一个相同的内存组成双通道,带宽就变成6.4GB/s了。

 因此,对于前端总线是800 MHz的平台来说,只要配两个DDR400的内存组成双通道,不但能满足频率同步的要求,也能满足带宽匹配的要求。但是,对于DDR2内存来说,只需配一个DDR2-800内存就可以了。这样做,也是既能满足同步要求,也能满足带宽的要求。如果你想组成双通道,也只能再增加一个DDR2-800的内存条。如果你想节约一点,打算采用两个DDR2-400内存设置成双通道以应对800 MHzFSB时,虽然带宽能满足要求,但是,外频是200MHz, 内存时钟频率也是200 MHz,不能满足安装DDR2内存时外频和内存时钟频率之比为1:2的要求,因此,内存是不同步的,除非你做内存异步设置,否则,会使电脑不能稳定运行。

 可是,我们在网上经常会看到这样的说法:用两个DDR2-533内存组成双通道就可以用在FSB1066 MHz的平台上之类的论点。我认为这样说是不妥的,因为每个通道都是独立的,设置成双通道时,的确可以增加带宽,但是,内存的时钟频率并不是增加一倍的。下面的实验结果可以看出:单通道时,内存的时钟频率(DRAM 频率)是400 MHz,如果再用一 个是DDR2-800内存组成双通道以后,经检测,其时钟频率还是400 MHz,并没有因为设置了双通道而翻番。

 由检测结果可以看出,组成双通道以后,内存的容量由1024 MB扩大为2048 MB了。并且指明双通道(OC模式)是对称的,这就是说带宽也是翻了番的。

    注:检测结果中的前端总线:内存似应为外频:内存的时钟频率,所以,其比为1:2,即200 Mhz:400 MHz。难道CPU-Z也把FSB和外频混同了?!

   过去的较老的主板对双通道内存的要求较苛刻,首先要主板的芯片支持,另外还要求是同一厂商、同一规格、同一容量的内存条,按照正确的方法安装才能组成双通道。不过,当前的主板大都支持双通道,而且由于采用FMT技术,对组成双通道的内存的规格和容量方面的要求已经大为降低,因此,实现双通道已经是一件比较容易的事了。但是,对于三个内存插槽以上的主板来说,如果你的内存不完全相同,安装时必须按照主板说明书进行安装。原则是同一规格的内存条隔开插或按同一颜色的两个插槽为一组的方法插。插前一定要看主板说明书,因为在这方面没有统一的标准,所以,一定以说明书为准。。

 检查双通道是否成功,可以用专用软件检查。比如CPU-ZEVERESTSiSofyware Sandra等。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多