关于内存与CPU搭配的问题,是电脑爱好者最关心的问题之一。怎样搭配?在网上有成百上千篇文章,把人给看得眼花缭乱,如果不仔细分析判断,很难辨别哪个是正确的,哪个是错误的。据我分析,形成这种局面的原因有多种:一是CPU的外频跟前端总线的频率经常混用,有时还把前端总线跟HT总线也混同;二是三种内存(SDRAM、DDR1 SDRAM、DDR2 SDRAM)的特征不同,但是,经常被混同、混用;三是因为同一个频率有多种名称,各种名称经常被混用;四是Intel的CPU和AMD的CPU特性不同,它们跟内存的搭配方法也不相同,但是经常被混同;五是AMD的K8以前的CPU跟K8及以后的CPU特征不同,经常被混同;六是各个主板厂商对内存的设置经常采用不同的方法和名称,容易使人迷惑;为了巩固我的学习成果,我作了此小结备忘。当然也希望给同是“菜鸟”的网友们以参考,更欢迎“大侠”们指正。
1.
CPU的频率就是我们常说的电脑的速度,非常重要。但是,CPU本身只是一个芯片,不会产生频率,频率是电脑的主板外加给它的。它的主频是它能正常工作的频率,如果频率太高,即对它作过度超频使用时,它会“罢工”甚至被烧坏的。CPU的主频等于外频(CPU
Host
Frequency)乘以倍频(Multiplier),即有:主频=外频×倍频。例如一个CPU的倍频器的倍数是10,加给它的外频是200
MHz时,这个CPU的主频就等于:200 MHz×10 = 2000 MHz = 2.0
GHz
2.
前端总线(FSB)是CPU跟主板上的北桥相联系的总线,它的频率表示了CPU和外界(内存、AGP总线、PCI总线等)数据传输的速度。在Pentium 4出现之前,前端总线频率与外频是一样的。但是,随着电脑技术的不断发展,人们发现前端总线频率需要高于外频,因此,前端总线跟外频有所不同了。在Intel平台,前端总线的频率是外频的4倍;在AMD平台,前端总线频率是外频的2倍。自从AMD K8出现之后,AMD把内存控制器集成在CPU的内部了,CPU和内存的联系也就不再经过FSB和北桥了,前端总线不再存在。但是,在Intel平台,前端总线依然存在。
3.各种内存频率的名称辨析
网上、主板说明书上甚至CPU-Z上,对电脑各种频率叫法多种多样,很不统一,因此需要大概梳理一下:
核心频率也称内存的真实频率或极限频率,是指内存芯片能够承受的极限频率,如果加给它的频率超过这个数字较多(内存过超频),它就会拒绝工作,最常见的反映就是“蓝屏”。
时钟频率是指内存的实际工作频率。对这个频率的称呼有许多种,例如,内存频率、工作频率、运行频率、总线频率、DRAM频率等。在港台还称其为时脉。在不少场合还把频率称为“速度”。
数据频率也称等效频率或传输频率。为了不造成混乱,本文对内存的频率只保留核心频率、时钟频率和数据频率三个名称。但是,在一些不会引起误解,而且和主题贴切的场合,也可能会把时钟频率称为“运行频率”、“工作频率”和“总线频率”等。
4.内存的类别和属性
对普通用户来说,内存有三种:SDRAM内存、DDR SDRAM内存(也称DDR或DDR1)和DDR2 SDRAM(简称DDR2)。DDR3内存出现不久,还没有广泛应用。
SDRAM(同步动态随机存储器),意思是“同步动态随机存储器”,就是说它的工作速度是与系统总线速度是同步的,它在一个时钟周期内只在上升沿传输一次数据,因此,这种内存的核心频率、时钟频率和数据频率是一致的。
DDR SDRAM是双倍速率同步动态随机存储器的意思,DDR内存是在SDRAM内存基础上发展而来的,它能够在时钟的上升期和下降期各传输一次数据,因此,虽然其时钟频率和核心频率是相等的,但是,其数据频率却是翻了番的。即有内存的核心频率、时钟频率和数据频率三者之比为1:1:2的关系。
。
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时,就是内存同步”。
在下表中,列出了在不同的外频条件下,如何选择内存的方法。单从频率同步的角度看,把表中“双DDR”中的“双”字去掉也是内存同步的。
。
问题补充 2011-03-09
10:47
6. FSB带宽和内存带宽相匹配条件
当选择内存时,除了内存同步的要求外,还有一个重要条件是要求内存的带宽最好和前端总线(FSB)的带宽相等。如果内存的带宽小于FSB的带宽,则会增大CPU的等待时间;如果内存的带宽大于FSB,会形成内存资源的浪费。
对于支持DDR1的平台来说,如果外频是200 MHz,单从内存同步的角度看,只要使用一个DDR-400就可以了,但是,因为FSB频率是外频的4倍,即为800 MHz,带宽为800 MHz×64b÷8b/B = 6.4 GB/s,而DDR-400的带宽仅为3.2 GB/s。所以,为了使内存的带宽跟FSB的带宽相匹配,就应该再增加一个同样的内存DDR-400,组成双通道运行。
带宽是否匹配的条件,除了可以用计算带宽的方法判断外,从频率的角度看,只要内存的数据频率等于FSB的频率就是带宽匹配了。例如,DDR2-800或双通道的DDR-400的数据频率都是800 MHz,FSB的频率也是800 MHz,这样搭配,就是最佳的搭配。
总之,如果加于内存的频率过高,其后果是“蓝屏”或电脑不稳定;加给内存的频率过低,是电脑频率资源的浪费。带宽不匹配的后果也是资源的浪费。既能满足内存同步,又能满足带宽匹配时,才是内存和CPU的最佳搭配。
7.AMD平台的内存实际频率的计算方法
在Intel 平台上,内存控制器是置于北桥内的,内存是通过前端总线(FSB)跟CPU联系的,因此,我们在上面计算Intel平台的内存频率时,是以外频为参照的。而AMD CPU(K8及以后)的平台上,内存控制器是置于CPU内部的,因此,计算AMD平台的内存频率时,是以CPU的主频为参照的。而且,在AMD平台,异步的计算方法跟同步的计算方法没有什么差别。
当你在BIOS中把内存频率(在BIOS中,“内存频率”就是指时钟频率,并且常用英文DRAM Frequency、 Memory Frequency或Memory Clock Frequency表示)设置成“Auto”或“By SPD”时,内存控制器会自动侦查到你安装在主板上的内存类型和参数,只要你安装的内存是该主板支持的,内存控制器会为你自动计算出在内存上实际运行的频率,你完全可以撒手不管它了。
如果你选择的内存的核心频率等于CPU的外频(比如当外频是200Mhz时,你选用DDR-400或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中设置的频率低于或高于实际安装在内存插槽中的内存的频率时,这就是内存异步设置了。不过,当前的DDR2内存超频的允许范围有限,所以,目前的主板大都没有高于主板内存频率的设置选项。
DIV= CPU的标称主频÷在BIOS中设置的内存时钟频率
如果DIV出现小数,则应该把它进位为整数,例如,将7.4进位为8。这是为了保证内存的安全。如果计算出来的DIV小数点后的数字很小,辨别不清是否该进位,就应该把除数(例如133)的小数点多取几位(例如取133.33333),再用计算器或计算机计算出这个DIV,就很容易辩别是否应该进位了。
内存的实际时钟频率 = CPU的实际主频÷内存的分频倍数
在计算时,务请注意“标称主频”和“实际主频” 的区别。如果你没有超频,两者才是相等的。
计算结果出来后,你就可以判断你所选择的内存是否合适了。
下表是我根据上述推理计算出来的一个表,它是说明BIOS中设置的内存频率(DRAM Frequency或Memory Frequency)跟内存实际工作频率的关系的。表中的“分频”是指我们上面说的分频倍数DIV;时钟频率就是该内存的实际运行频率,前题是没有超频。表中用红字表示的分频数和时钟频率数,表示计算出来的DIV小于5,是内存控制器把它进为5的。
。
注:从表中可以看出:如果在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完全同步。
8. 关于双通道内存技术
9.小结
先声明,本人确实不算什么高手,属于菜鸟级别的,但却对研究CPU和内存频率有相当大的兴趣,因此发表了一下自己的见解,新手也可以借这篇文章来多巩固一下自己对硬件的知识,当然,本人也可能有地方说的不对,所以,望各位高手不吝赐教,帮忙纠错或改正,小弟感激不尽!
问题补充 2011-03-09
10:55
6. FSB带宽和内存带宽相匹配条件
当选择内存时,除了内存同步的要求外,还有一个重要条件是要求内存的带宽最好和前端总线(FSB)的带宽相等。如果内存的带宽小于FSB的带宽,则会增大CPU的等待时间;如果内存的带宽大于FSB,会形成内存资源的浪费。
对于支持DDR1的平台来说,如果外频是200 MHz,单从内存同步的角度看,只要使用一个DDR-400就可以了,但是,因为FSB频率是外频的4倍,即为800 MHz,带宽为800 MHz×64b÷8b/B = 6.4 GB/s,而DDR-400的带宽仅为3.2 GB/s。所以,为了使内存的带宽跟FSB的带宽相匹配,就应该再增加一个同样的内存DDR-400,组成双通道运行。
带宽是否匹配的条件,除了可以用计算带宽的方法判断外,从频率的角度看,只要内存的数据频率等于FSB的频率就是带宽匹配了。例如,DDR2-800或双通道的DDR-400的数据频率都是800 MHz,FSB的频率也是800 MHz,这样搭配,就是最佳的搭配。
总之,如果加于内存的频率过高,其后果是“蓝屏”或电脑不稳定;加给内存的频率过低,是电脑频率资源的浪费。带宽不匹配的后果也是资源的浪费。既能满足内存同步,又能满足带宽匹配时,才是内存和CPU的最佳搭配。
7.AMD平台的内存实际频率的计算方法
在Intel 平台上,内存控制器是置于北桥内的,内存是通过前端总线(FSB)跟CPU联系的,因此,我们在上面计算Intel平台的内存频率时,是以外频为参照的。而AMD CPU(K8及以后)的平台上,内存控制器是置于CPU内部的,因此,计算AMD平台的内存频率时,是以CPU的主频为参照的。而且,在AMD平台,异步的计算方法跟同步的计算方法没有什么差别。
当你在BIOS中把内存频率(在BIOS中,“内存频率”就是指时钟频率,并且常用英文DRAM Frequency、 Memory Frequency或Memory Clock Frequency表示)设置成“Auto”或“By SPD”时,内存控制器会自动侦查到你安装在主板上的内存类型和参数,只要你安装的内存是该主板支持的,内存控制器会为你自动计算出在内存上实际运行的频率,你完全可以撒手不管它了。
如果你选择的内存的核心频率等于CPU的外频(比如当外频是200Mhz时,你选用DDR-400或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中设置的频率低于或高于实际安装在内存插槽中的内存的频率时,这就是内存异步设置了。不过,当前的DDR2内存超频的允许范围有限,所以,目前的主板大都没有高于主板内存频率的设置选项。
DIV= CPU的标称主频÷在BIOS中设置的内存时钟频率
如果DIV出现小数,则应该把它进位为整数,例如,将7.4进位为8。这是为了保证内存的安全。如果计算出来的DIV小数点后的数字很小,辨别不清是否该进位,就应该把除数(例如133)的小数点多取几位(例如取133.33333),再用计算器或计算机计算出这个DIV,就很容易辩别是否应该进位了。
内存的实际时钟频率 = CPU的实际主频÷内存的分频倍数
在计算时,务请注意“标称主频”和“实际主频” 的区别。如果你没有超频,两者才是相等的。
计算结果出来后,你就可以判断你所选择的内存是否合适了。
下表是我根据上述推理计算出来的一个表,它是说明BIOS中设置的内存频率(DRAM Frequency或Memory Frequency)跟内存实际工作频率的关系的。表中的“分频”是指我们上面说的分频倍数DIV;时钟频率就是该内存的实际运行频率,前题是没有超频。表中用红字表示的分频数和时钟频率数,表示计算出来的DIV小于5,是内存控制器把它进为5的。
。
注:从表中可以看出:如果在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完全同步。
8. 关于双通道内存技术
9.小结
先声明,本人确实不算什么高手,属于菜鸟级别的,但却对研究CPU和内存频率有相当大的兴趣,因此发表了一下自己的见解,新手也可以借这篇文章来多巩固一下自己对硬件的知识,当然,本人也可能有地方说的不对,所以,望各位高手不吝赐教,帮忙纠错或改正,小弟感激不尽!
CPU与内存频率匹配问题详解
本文详细探讨了CPU与内存频率匹配的重要性,指出内存同步的条件是内存核心频率等于外频,同时强调了内存带宽与前端总线匹配的需求。在Intel平台上,DDR内存的时钟频率应等于外频,而DDR2内存的数据频率等于外频的两倍。AMD平台的内存频率计算与Intel平台不同,依赖于CPU主频,内存控制器会自动计算实际工作频率。此外,文章还讨论了双通道内存技术,解释了如何通过双通道增加内存带宽。总的来说,正确搭配内存和CPU频率是确保电脑性能和稳定性的关键因素。
2051





