关于内存与CPU搭配的问题,是电脑爱好者最关心的问题之一。怎样搭配?在网上有成百上千篇文章,把人给看得眼花缭乱,如果不仔细分析判断,很难辨别哪个是正确的,哪个是错误的。据我分析,形成这种局面的原因有多种:一是CPU的外频跟前端总线的频率经常混用,有时还把前端总线跟HT总线也混同;二是三种内存(SDRAM、DDR1 SDRAM、DDR2 SDRAM)的特性不同,但是,经常被混同、混用;三是因为同一个频率有多种名称,各种名称经常被混用;四是Intel的CPU和AMD的CPU特性不同,它们跟内存的搭配方法也不相同,但是经常被混同;五是AMD的K8以前的CPU跟K8及以后的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内存(也称DDR或DDR1)和DDR2 SDRAM(简称DDR2)。DDR3内存出现不久,还没有广泛应用。 SDRAM(同步动态随机存储器),即Synchronous DRAM,说它是“同步动态随机存储器”,就是说它的工作速度是与系统总线速度是同步的,它在一个时钟周期内只在上升沿传输一次数据,因此,这种内存的核心频率(Core frequency)、时钟频率(Clock freq.)和数据频率(Data freq.)是一致的。 DDR SDRAM是Double Data Rate SDRAM的缩写,是双倍速率同步动态随机存储器的意思,DDR内存是在SDRAM内存基础上发展而来的,它能够在时钟的上升期和下降期各传输一次数据,因此,虽然其时钟频率和核心频率是相等的,但是,其数据频率却是翻了番的。即有内存的核心频率、时钟频率和数据频率三者之比为1:1:2的关系。 DDR2则是在DDR内存的基础上,利用特殊技术可以处理的数据又比DDR高出了一倍。即做到了内存的核心频率、时钟频率和数据频率三者之比为1:2:4。 这三种内存的频率特性和几个频率之间的关系见下表: 表1 三种内存的各种频率关系 目前SDRAM、DDR1和DDR2-400都已经先后被淘汰出局了,但是,在旧电脑中,三种规格的内存依然存在着。比如,我在2002年购置的IBM黑金刚,当时算是比较先进的,但是,它的内存却是SDRAM的,容量也只有128MB。电脑的更新换代的速度真是太快了。 5.Intel平台内存和CPU同步的条件 为了保证内存安全工作,加给内存的频率不能太高;为了保证电脑的速度,加给内存的频率应该跟CPU的速度相匹配,不能过低,因此提出了内存同步(Synchronize)的要求,什么是内存同步?在网上有各种说法,有的说:“内存的频率等于外频就是内存同步”;也有的说:“内存的时钟频率与外频相等就是内存同步”。例如,当外频是133 MHz时,对于支持SDRAM的主板,应该配以PC133内存;对于支持DDR1的主板,应该配以DDR 266的内存。这些说法当然是正确的。 但是,对于DDR2内存来说,如果再说:“在Intel平台上,内存的时钟频率与外频相等就是内存同步”就有问题了。例如,对于FSB=800 MHz的CPU来说,它的外频等于200 MHz,在这种情况下,配以DDR2-800才是同步的。这就不是“内存的时钟频率等于外频”了,而是内存的时钟频率等于两倍外频才是内存同步了。因此,我认为,为了把DDR2内存也包括进来,应该把同步条件改为“内存的核心频率等于外频就是内存同步”才是准确的。 当然也可以把DDR2跟SDRAM、DDR分开来说,比如可以说:“当选择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的最佳搭配。 7.Intel平台的内存异步设置方法 什么是内存异步?为了实现某种需要,让内存工作在与外频不同的频率时,就称为内存异步(Asynchronize)。所谓内存和CPU的搭配,实际上就是让内存的频率如何适应CPU频率的变化。例如,当电脑的CPU外频由166 MHz超频到200 MHz以后,加于内存的频率也会跟着提升到200 MHz,为了使内存能够继续工作,就可以利用内存异步技术,使加给内存的频率维持166 MHz不变,或只有较小的变化。当内存的频率高于CPU的频率时,一般不须经过专门设置,因为内存频率都是向下兼容的。但是,如果你想使这个内存也能在较高频率运行时,也可以作内存异步设置,使内存也工作在较高的频率下,实现物尽其用。 内存异步都是在BIOS中进行设置的,当前的主板大都支持内存异步技术。据作者归纳,设置方法有以下几种种,分述如下: ⑴ 直接规定内存频率的增减上限——有过 “±33 MHz” 的规定,早期的内存异步技术就是采用这种解决方案。例如,当P3处理器运行在100 MHz外频下,通过BIOS设置,使内存可以异步运行在133 MHz或66 MHz两种频率下。 ⑵ 规定分频比率的方法——即规定外频与内存时钟频率之比,并把这个比值称为分频系数(DRAM Frequency Ratio)。分频系数的设置值多种多样,不同的主板有不同的设置值,例如有:1:1(同步)、1: 1.33 、4:3、4:5、5:4、12:13等等。分频系数大于1时是内存频率小于外频;分频系数小于1时是内存频率大于外频。例如,当外频是200 MHz时,如果在BIOS中你选择的分频系数是5:4,那么通过内存的频率就是200 MHz×4÷5=160 MHz,相当DDR320。如果你安装的内存是 DDR333或DDR2-667,就正好匹配了(内存频率稍大一些,没有坏处)。 ⑶ 设置内存的倍频(System Memory Multiplier)——例如技嘉(GIGABYTE)p31主板就是这样设置的。在BIOS的倍频选项有:Auto(默认主板上实际安装的内存)、3.33、3、4+、2.5和2等。当外频是200Mhz、实际安装的内存是DDR2-800时,如果你选倍频为“ ⑷ 直接用内存型号表示——例如,华硕(ASUS) 的P5E-VM主板BIOS设置的内存时钟频率(DRAM Frequency)选项有:Auto、DDR2-667、DDR2-800、DDR2-834、DDR2-888、DDR2-1000、DDR2-1112和DDR2=1333等8个选项,你打算使内存异步到什么程度,直接把相对应的型号选上就可以了,简单明了。但是,你也只能在这个范围内选。 例3.在外频是200 MHz、前端总线频率是800 MHz的Intel平台的主板上安装了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)记忆体倍频调整”→选择“ 说明书中的“记忆体”和“时脉”是港台用语,分别是“内存”和“时钟频率”的意思。 8.AMD平台的内存实际频率的计算方法 在Intel 平台上,内存控制器(Memory Controller)是置于北桥(North Bridge )内的,内存是通过前端总线(FSB)跟CPU联系的,因此,我们在上面计算Intel平台的内存频率时,是以外频为参照的。而AMD CPU(K8及以后)的平台上,内存控制器是置于CPU内部的,因此,计算AMD平台的内存频率时,是以CPU的主频为参照的。而且,在AMD平台,异步的计算方法跟同步的计算方法没有什么差别。 当你在BIOS中把内存频率(在BIOS中,“内存频率”常用英文DRAM Frequency、 Memory Frequency或Memory Clock Frequency表示)设置成“Auto”或“By SPD”时,内存控制器会自动侦查到你安装在主板上的内存类型和参数,只要你安装的内存是该主板支持的,内存控制器会为你自动计算出在内存上实际运行的频率,你完全可以撒手不管它了。 如果你选择的内存的核心频率等于CPU的外频(比如当外频是200Mhz时,你选用DDR400或DDR2-800),并且按这种方法设置(即让计算机把内存频率自动设置为你实际安装的内存频率时),实际上就是AMD平台的同步设置。 但是,跟Intel平台不同的是,在AMD平台,即使在这种同步设置下,其工作频率与标称值也可能有所差异。例如,你在主频是2.2GHz、倍频是11的AMD平台安装上DDR2-800的内存时,内存的工作频率并不是400MHz,而是366MHz,这相当是DDR2-372内存。为什么会出现这种情况,这跟AMD 平台内存控制器设计的特殊计算方法有关,下面将作介绍。 在AMD平台上,做内存异步设置时,很少采用分频比的方法表示,大都是直接用内存的型号表示。例如:DDR400、DDR2-400、DDR2-533、DDR2-667、DDR2-800、DDR2-1066、DDR2-1333等。 在AMD平台,内存的实际工作是怎么计算的呢?大概步骤如下: ⑴ 在BIOS中设置内存频率:如果你实际安装在内存插槽上的内存的核心频率等于外频,而且在BIOS中设置内存频率时选择“Auto”或“By 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: CPU是AMD速龙(Athlon)64 3200+,主频是 2.0 GHz,外频是200 MHz时,如果打算选用DDR400的内存并在BIOS做这样的(Auto)设置时,问:⑴ 分频倍数是多少?⑵ 通过内存的实际频率是多少? 解:⑴ 因为CPU的主频等于2000 MHz;DDR400的时钟频率等于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时,如果选用DDRⅡ800的内存时,问:⑴ 分频倍数数是多少?⑵ 通过内存的实际时钟频率是多少? 解:⑴ 分频系数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 Frequency或Memory 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内存配FSB为800 MHz的CPU是同步的。可是,从带宽匹配的角度看,则是不匹配的。因此就出现了双通道内存技术。 什么是双通道?双通道体系包含了两个独立的、具备互补性的智能内存控制器,理论上来说,两个内存控制器都能够在彼此间零延迟的情况下同时运作。其结构原理如下图的右图所示。 有了内存的双通道后,当控制器B准备进行下一次存取内存的时候,控制器A就在读/写主内存,反之亦然。两个内存控制器的这种互补的功能可以让等待时间缩减50%。双通道DDR的两个内存控制器在功能上是完全一样的。普通的单通道内存系统具有一个64位的内存控制器,而双通道内存系统则有2个64位的内存控制器,在双通道模式下具有128bit的内存位宽,从而在理论上把内存带宽提高一倍。例如,单通道的DDR400带宽是3.2GB/s,如果再加上一个相同的内存组成双通道,带宽就变成6.4GB/s了。 因此,对于前端总线是800 MHz的平台来说,只要配两个DDR400的内存组成双通道,不但能满足频率同步的要求,也能满足带宽匹配的要求。但是,对于DDR2内存来说,只需配一个DDR2-800内存就可以了。这样做,也是既能满足同步要求,也能满足带宽的要求。如果你想组成双通道,也只能再增加一个DDR2-800的内存条。如果你想节约一点,打算采用两个DDR2-400内存设置成双通道以应对800 MHz的FSB时,虽然带宽能满足要求,但是,外频是200MHz, 内存时钟频率也是200 MHz,不能满足安装DDR2内存时外频和内存时钟频率之比为1:2的要求,因此,内存是不同步的,除非你做内存异步设置,否则,会使电脑不能稳定运行。 可是,我们在网上经常会看到这样的说法:“用两个DDR2-533内存组成双通道就可以用在FSB是1066 MHz的平台上”之类的论点。我认为这样说是不妥的,因为每个通道都是独立的,设置成双通道时,的确可以增加带宽,但是,内存的时钟频率并不是增加一倍的。下面的实验结果可以看出:单通道时,内存的时钟频率(DRAM 频率)是400 MHz,如果再用一 个是DDR2-800内存组成双通道以后,经检测,其时钟频率还是400 MHz,并没有因为设置了双通道而翻番。 由检测结果可以看出,组成双通道以后,内存的容量由1024 MB扩大为2048 MB了。并且指明双通道(OC模式)是对称的,这就是说带宽也是翻了番的。 注:检测结果中的“前端总线:内存”似应为“外频:内存的时钟频率”,所以,其比为1:2,即200 Mhz:400 MHz。难道CPU-Z也把FSB和外频混同了?! 过去的较老的主板对双通道内存的要求较苛刻,首先要主板的芯片支持,另外还要求是同一厂商、同一规格、同一容量的内存条,按照正确的方法安装才能组成双通道。不过,当前的主板大都支持双通道,而且由于采用FMT技术,对组成双通道的内存的规格和容量方面的要求已经大为降低,因此,实现双通道已经是一件比较容易的事了。但是,对于三个内存插槽以上的主板来说,如果你的内存不完全相同,安装时必须按照主板说明书进行安装。原则是同一规格的内存条“隔开插”或按同一颜色的两个插槽为一组的方法插。插前一定要看主板说明书,因为在这方面没有统一的标准,所以,一定以说明书为准。。 检查双通道是否成功,可以用专用软件检查。比如CPU-Z、EVEREST、SiSofyware Sandra等。
但是,对于DDR2内存来说,如果再说:“在Intel平台上,内存的时钟频率与外频相等就是内存同步”就有问题了。例如,对于FSB=800 MHz的CPU来说,它的外频等于200 MHz,在这种情况下,配以DDR2-800才是同步的。这就不是“内存的时钟频率等于外频”了,而是内存的时钟频率等于两倍外频才是内存同步了。因此,我认为,为了把DDR2内存也包括进来,应该把同步条件改为“内存的核心频率等于外频就是内存同步”才是准确的。 当然也可以把DDR2跟SDRAM、DDR分开来说,比如可以说:“当选择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的最佳搭配。 7.Intel平台的内存异步设置方法 什么是内存异步?为了实现某种需要,让内存工作在与外频不同的频率时,就称为内存异步(Asynchronize)。所谓内存和CPU的搭配,实际上就是让内存的频率如何适应CPU频率的变化。例如,当电脑的CPU外频由166 MHz超频到200 MHz以后,加于内存的频率也会跟着提升到200 MHz,为了使内存能够继续工作,就可以利用内存异步技术,使加给内存的频率维持166 MHz不变,或只有较小的变化。当内存的频率高于CPU的频率时,一般不须经过专门设置,因为内存频率都是向下兼容的。但是,如果你想使这个内存也能在较高频率运行时,也可以作内存异步设置,使内存也工作在较高的频率下,实现物尽其用。 内存异步都是在BIOS中进行设置的,当前的主板大都支持内存异步技术。据作者归纳,设置方法有以下几种种,分述如下: ⑴ 直接规定内存频率的增减上限——有过 “±33 MHz” 的规定,早期的内存异步技术就是采用这种解决方案。例如,当P3处理器运行在100 MHz外频下,通过BIOS设置,使内存可以异步运行在133 MHz或66 MHz两种频率下。 ⑵ 规定分频比率的方法——即规定外频与内存时钟频率之比,并把这个比值称为分频系数(DRAM Frequency Ratio)。分频系数的设置值多种多样,不同的主板有不同的设置值,例如有:1:1(同步)、1: 1.33 、4:3、4:5、5:4、12:13等等。分频系数大于1时是内存频率小于外频;分频系数小于1时是内存频率大于外频。例如,当外频是200 MHz时,如果在BIOS中你选择的分频系数是5:4,那么通过内存的频率就是200 MHz×4÷5=160 MHz,相当DDR320。如果你安装的内存是 DDR333或DDR2-667,就正好匹配了(内存频率稍大一些,没有坏处)。 ⑶ 设置内存的倍频(System Memory Multiplier)——例如技嘉(GIGABYTE)p31主板就是这样设置的。在BIOS的倍频选项有:Auto(默认主板上实际安装的内存)、3.33、3、4+、2.5和2等。当外频是200Mhz、实际安装的内存是DDR2-800时,如果你选倍频为“ ⑷ 直接用内存型号表示——例如,华硕(ASUS) 的P5E-VM主板BIOS设置的内存时钟频率(DRAM Frequency)选项有:Auto、DDR2-667、DDR2-800、DDR2-834、DDR2-888、DDR2-1000、DDR2-1112和DDR2=1333等8个选项,你打算使内存异步到什么程度,直接把相对应的型号选上就可以了,简单明了。但是,你也只能在这个范围内选。 例3.在外频是200 MHz、前端总线频率是800 MHz的Intel平台的主板上安装了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)记忆体倍频调整”→选择“ 说明书中的“记忆体”和“时脉”是港台用语,分别是“内存”和“时钟频率”的意思。 8.AMD平台的内存实际频率的计算方法 在Intel 平台上,内存控制器(Memory Controller)是置于北桥(North Bridge )内的,内存是通过前端总线(FSB)跟CPU联系的,因此,我们在上面计算Intel平台的内存频率时,是以外频为参照的。而AMD CPU(K8及以后)的平台上,内存控制器是置于CPU内部的,因此,计算AMD平台的内存频率时,是以CPU的主频为参照的。而且,在AMD平台,异步的计算方法跟同步的计算方法没有什么差别。 当你在BIOS中把内存频率(在BIOS中,“内存频率”常用英文DRAM Frequency、 Memory Frequency或Memory Clock Frequency表示)设置成“Auto”或“By SPD”时,内存控制器会自动侦查到你安装在主板上的内存类型和参数,只要你安装的内存是该主板支持的,内存控制器会为你自动计算出在内存上实际运行的频率,你完全可以撒手不管它了。 如果你选择的内存的核心频率等于CPU的外频(比如当外频是200Mhz时,你选用DDR400或DDR2-800),并且按这种方法设置(即让计算机把内存频率自动设置为你实际安装的内存频率时),实际上就是AMD平台的同步设置。 但是,跟Intel平台不同的是,在AMD平台,即使在这种同步设置下,其工作频率与标称值也可能有所差异。例如,你在主频是2.2GHz、倍频是11的AMD平台安装上DDR2-800的内存时,内存的工作频率并不是400MHz,而是366MHz,这相当是DDR2-372内存。为什么会出现这种情况,这跟AMD 平台内存控制器设计的特殊计算方法有关,下面将作介绍。 在AMD平台上,做内存异步设置时,很少采用分频比的方法表示,大都是直接用内存的型号表示。例如:DDR400、DDR2-400、DDR2-533、DDR2-667、DDR2-800、DDR2-1066、DDR2-1333等。 在AMD平台,内存的实际工作是怎么计算的呢?大概步骤如下: ⑴ 在BIOS中设置内存频率:如果你实际安装在内存插槽上的内存的核心频率等于外频,而且在BIOS中设置内存频率时选择“Auto”或“By 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: CPU是AMD速龙(Athlon)64 3200+,主频是 2.0 GHz,外频是200 MHz时,如果打算选用DDR400的内存并在BIOS做这样的(Auto)设置时,问:⑴ 分频倍数是多少?⑵ 通过内存的实际频率是多少? 解:⑴ 因为CPU的主频等于2000 MHz;DDR400的时钟频率等于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时,如果选用DDRⅡ800的内存时,问:⑴ 分频倍数数是多少?⑵ 通过内存的实际时钟频率是多少? 解:⑴ 分频系数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 Frequency或Memory 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内存配FSB为800 MHz的CPU是同步的。可是,从带宽匹配的角度看,则是不匹配的。因此就出现了双通道内存技术。 什么是双通道?双通道体系包含了两个独立的、具备互补性的智能内存控制器,理论上来说,两个内存控制器都能够在彼此间零延迟的情况下同时运作。其结构原理如下图的右图所示。 有了内存的双通道后,当控制器B准备进行下一次存取内存的时候,控制器A就在读/写主内存,反之亦然。两个内存控制器的这种互补的功能可以让等待时间缩减50%。双通道DDR的两个内存控制器在功能上是完全一样的。普通的单通道内存系统具有一个64位的内存控制器,而双通道内存系统则有2个64位的内存控制器,在双通道模式下具有128bit的内存位宽,从而在理论上把内存带宽提高一倍。例如,单通道的DDR400带宽是3.2GB/s,如果再加上一个相同的内存组成双通道,带宽就变成6.4GB/s了。 因此,对于前端总线是800 MHz的平台来说,只要配两个DDR400的内存组成双通道,不但能满足频率同步的要求,也能满足带宽匹配的要求。但是,对于DDR2内存来说,只需配一个DDR2-800内存就可以了。这样做,也是既能满足同步要求,也能满足带宽的要求。如果你想组成双通道,也只能再增加一个DDR2-800的内存条。如果你想节约一点,打算采用两个DDR2-400内存设置成双通道以应对800 MHz的FSB时,虽然带宽能满足要求,但是,外频是200MHz, 内存时钟频率也是200 MHz,不能满足安装DDR2内存时外频和内存时钟频率之比为1:2的要求,因此,内存是不同步的,除非你做内存异步设置,否则,会使电脑不能稳定运行。 可是,我们在网上经常会看到这样的说法:“用两个DDR2-533内存组成双通道就可以用在FSB是1066 MHz的平台上”之类的论点。我认为这样说是不妥的,因为每个通道都是独立的,设置成双通道时,的确可以增加带宽,但是,内存的时钟频率并不是增加一倍的。下面的实验结果可以看出:单通道时,内存的时钟频率(DRAM 频率)是400 MHz,如果再用一 个是DDR2-800内存组成双通道以后,经检测,其时钟频率还是400 MHz,并没有因为设置了双通道而翻番。 由检测结果可以看出,组成双通道以后,内存的容量由1024 MB扩大为2048 MB了。并且指明双通道(OC模式)是对称的,这就是说带宽也是翻了番的。 注:检测结果中的“前端总线:内存”似应为“外频:内存的时钟频率”,所以,其比为1:2,即200 Mhz:400 MHz。难道CPU-Z也把FSB和外频混同了?! 过去的较老的主板对双通道内存的要求较苛刻,首先要主板的芯片支持,另外还要求是同一厂商、同一规格、同一容量的内存条,按照正确的方法安装才能组成双通道。不过,当前的主板大都支持双通道,而且由于采用FMT技术,对组成双通道的内存的规格和容量方面的要求已经大为降低,因此,实现双通道已经是一件比较容易的事了。但是,对于三个内存插槽以上的主板来说,如果你的内存不完全相同,安装时必须按照主板说明书进行安装。原则是同一规格的内存条“隔开插”或按同一颜色的两个插槽为一组的方法插。插前一定要看主板说明书,因为在这方面没有统一的标准,所以,一定以说明书为准。。 检查双通道是否成功,可以用专用软件检查。比如CPU-Z、EVEREST、SiSofyware Sandra等。 |
|