目录
1.内存和CPU的有关数据
2.内存跟CPU搭配的基本原则
3.在Intel平台实现频率同步的方法
4.在Intel平台实现带宽相等的计算方法
5.在Intel平台用主板调控内存运行参数的方法
6.在Intel 平台没有FSB了,怎么配内存
7.内存的双通道的设置问题
8.在AMD K8以前配置内存的方法
9.在AMD K8时代内存的选配方法
10.在AMD K10平台内存的选配方法
11.内存选配方法实例问答
12.内存和CPU配合实测结果的分析(见另文)
自从本人发表过《内存知识160问》后,受到网友们的热情关注。其中对内存如何跟CPU搭配始终是热门话题,仅一篇有关讨论内存跟CPU匹配的文章,在短短两三个月的时间,就有60余人次发表了评论。而且在评论中基本上都给予了积极地评价。这是很令人感动的。但是,在网上还有各式各样的说法,有许多说法,我不敢苟同。为此,我想把对这个问题的观点归纳一下,并把解决这个问题的方法表格化、数值化,以便使初步接触这个问题的网友能够自主进行计算,如果不会计算,你从我给出的表格中也会得到答案的。但是,可能有不妥之处。谨供网友们参考。
1.内存和CPU的有关数据
在正式讨论问题之前,我们首先要把内存的核心频率、时钟频率和数据频率之间的关系搞清楚,而且应该特别熟悉。这是讨论这个问题的基础。见下表:
表1 内存名称及各种频率列表
表2. 内存的核心频率、时钟频率和数据频率之间的比例关系
其中的核心频率又称颗粒频率或基本频率;时钟频率又称工作频率、内存频率、I/O频率、DRAM、DRAM Frequency、时脉或内存速度;数据频率又称等效频率或传输通道频率。本文只采用“核心频率”、“时钟频率”和“数据频率”三个名称。对这些名称一定要弄清楚。
另外,有关CPU的名称也是五花八门的。例如,主频又称Core Speed;外频的名称就更多了,如Bus Speed 、汇流排频率、FSB(和前端总线混用)等。
2.内存和CPU搭配的基本原则
我认为:无论你采用的CPU是Intel的,还是AMD的,当选配内存时都必须遵守三条基本原则。
第一条是频率要同步:即内存的核心频率要等于或稍大于CPU的外频。不要给内存加上它不能承受的高频率,否则是频率“过载”。频率“过载”后,内存将拒绝工作。这样,电脑是要蓝屏的。当然,你给它加上低于核心频率的频率时,它会是胜任愉快的。
第二条是带宽要匹配:应该设法使内存的数据带宽跟CPU前端总线的带宽相等,否则,数据的传输能力将受制于带宽较低的那端;
第三条是主板要调控:因为以上两个条件有时是不可能同时能满足的。这就要靠主板来调控,调控的主要方法是异步设置。因为第一条是有关生或死的问题,所以,这一条必须满足。第二条就可以灵活处理了。
另外,当讨论内存跟CPU如何搭配时,必须明确以下事项:
①内存的核心频率小于外频时,内存会拒绝工作。表现是蓝屏。但是,在任何情况下,内存的核心频率大于CPU的外频时,内存都能正常工作。但是,系统也不会承认它的高频率。只承认它的核心频率等于外频。例如,你将DDR2-1066插入外频是200MHz的板子上时,系统将认为这个内存是DDR2-800。
②Intel处理器的前端总线频率(FSB)是外频频率的4倍。但是,在历史上前端总线的频率和外频是同一个,所以,人们还是经常用FSB来表示外频(例如软件CPU-Z就是这样,它表示的“FSB:DRAM”实际上是指“CPU的外频:内存的时钟频率”)。
AMD的内存,在K8以前,也有前端总线,不过,那时的前端总线频率是外频频率的两倍。K8以后AMD的CPU就没有前端总线了。
③当讨论内存跟Intel平台的CPU的匹配时,必须知道CPU的外频或前端总线频率。知道一个就行,因为它们之间是四倍关系,此时,不必关心CPU的主频是多少。
不过,自从有了Intel的i3/i5/i7后,参照的CPU频率已经不是外频和前端总线FSB,而是基本频率BF了。但是,在检测软件CPU-Z中,还是把BF频率称为外频的。在这种情况下,怎样配内存,请参看本文之6。
④当讨论内存跟AMD平台的CPU匹配时,首先必须明确这个CPU是K8的?K10的?还是K8以前的?因为这三种CPU陪内存的方法是截然不同的。
讨论K8以前的CPU时,只需知道外频或FSB;讨论给K8的CPU配内存时,只需知道CPU的主频,不要提HT总线,因为配内存跟HT总线无关;同样的原因,当为K10配内存时,如果你不超频,只需知道CPU或主板支持什么内存就可以了。因为K10架构的CPU配内存时是跟外频挂钩的,而AMD CPU的外频是固定在200 MHz的。
⑤当讨论内存跟CPU的搭配关系时,是根据内存和CPU的参数计算的,不必考虑主板。但是,当你对搭配方案作出选择后,还必须考虑主板是否支持。在一般情况下,主板的频率是应该高于FSB的频率的。
⑥内存的异步就是使加给内存的频率是它能正常工作的频率。一般是指降频。但是,频率降下来的后果就是速度变慢和带宽变窄。所有主板都支持内存异步运行的。但是,支持的程度不同。
⑦从内存跟CPU是否搭配的角度看,配内存时,不必考虑内存的容量是多少。但是,容量超过一定大小时,有时是要考虑主板是否支持的。
⑧内存跟CPU是否匹配,跟CPU是几个核没有什么关系。
以上就是我认为内存匹配的三大原则和八项注意。
3.在Intel平台实现频率同步的方法
在Intel平台,内存频率跟CPU同步的条件就是:内存的核心频率必须等于或稍大于CPU的外频。否则,就是“频率过载”,内存将停止工作,主要的表现形式是蓝屏。
虽然对我这个说法经常听到不同的声音。但是,我坚信我的这个归纳方法是完全能站得住脚的。因为内存能够耐受多大的频率,完全是由核心频率决定的。时钟频率和数据频率都是在核心频率的基础上,通过技术手段放大出来的。当核心频率相等时,不同类型的内存会有不同的时钟频率和数据频率。
例如,在Intel平台,当外频是200MHz时,为了实现频率同步,应该选DDR-400、DDR2-800或DDR3-1600。因为这几种内存的核心频率都是200MHz。
这是十分重要的一条规律。但是,过去,人们都是把内存的同步条件说成“内存的时钟频率(而不是说“内存的核心频率”)等于或稍大于外频频率就是同步”。更多的是模棱两可的说法,比如说“内存的频率等于或稍大于外频,就是同步”。至今在网上的许多文章还是这样说的。相当混乱。
我认为,在SD和DDR时代,说“时钟频率和核心频率相等就是同步”,是完全正确的。但是,在DDR2和DDR3出现以后,再这样说就是完全错误的,因为不同类型的内存。其核心频率跟时钟频率是不同的。因此,两种判别方法存在巨大差异。
不过,囿于习惯,人们还是愿意用时钟频率来跟CPU的外频对比。我认为,按时钟频率跟CPU频率对比的方法来判断内存是否同步也不是不可以的。但是,必须把这个比作适当改动。比如说:“对于SDRAM和DDR,当内存的时钟频率跟CPU的外频相等时,就是内存同步。例如,当外频是200MHz时,应该配DDR-400的内存”;对于DDR2,就应该说:“当内存的时钟频率是外频的两倍时,就是内存同步。例如,当外频是200MHz时,应该配DDR2-800内存”;对于DDR3,就应该说:“当内存的时钟频率是外频的4倍时,就是内存同步。例如当外频是200MHz时,就应该配DDR3-1600内存”。这样说不是太啰嗦了吗!
可是,在检测软件CPU-Z中,就是用CPU的外频(此处称其为FSB)跟时钟频率(此处称为DRAM)的比值关系表示内存是否同步的的。其关系见下表:
表3 内存同步时,CPU的外频跟内存的时钟频率的频率关系
内存的类型 | DDR | DDR2 | DDR3 |
FSB:DRAM(即CPU的外频跟内存时钟频率之比) | 1:1 | 1:2 | 1:4 |
注:在检测软件CPU-Z中,就是用“FSB”表示CPU的外频的,这是历史形成的误用。上表中的“DRAM”是指时钟频率。
知道了以上原则,我们应该选什么样的内存跟CPU来匹配的问题也就迎刃而解了。我认为:对Intel的CPU在i3/i5/i7架构出现以前,只要能知道外频或前端总线频率(FSB=4倍外频)中的一个参数,就可以选择合适的内存了。不同型号的内存有不同的计算方法。具体计算方法是:
①当在Intel平台选择DDR内存时有:
DDR-×××后的三个“×”= FSB值÷2 (1)
例如,当Intel平台的FSB是533MHz时,如果选择DDR内存时,×××=533÷2=266,所以,应该选DDR-266型的内存。这样选也符合“内存的核心频率(133MHz)等于CPU外频(133MHz)”的原则。
②当在Intel平台选择DDR2内存时有:
DDR2-×××后的三个“×”= FSB 值 (2)
例如,当Intel平台的FSB是800 MHz时,如果选择DDR2内存时,×××=FSB值=800,所以,应该选DDR2-800型的内存。这样选也符合“内存的核心频率(200MHz)等于CPU外频(200MHz)”的原则。
③当在Intel平台选择DDR3内存时有:
DDR3-××××后的四个“×”= FSB值×2 (3)
例如,当Intel平台的FSB是800 MHz时,如果选择DDR3内存,就应该选四个“×”等于800×2=1600的内存,即应该选DDR3-1600型的内存。这样选也符合“内存的核心频率(200MHz)等于CPU外频(200MHz)”的原则。
下表就是我根据上述原则计算出来的、根据CPU的参数来选择内存的计算结果。这是根据频率同步的条件计算出来的最高频率。都存在向较低频率异步的空间。(i3/i5/i7架构的CPU如何选内存,见本文的6)
表4.内存同步时外频频率跟内存型号的关系
注①:表中的“频率比”是指同步的情况下,外频跟时钟频率的比,即在CPU-Z中的“FSB:DRAM”值。如果CPU-Z显示的不是这个值,那就是内存频率异步了。
根据CPU-Z中的“FSB:DRAM”比,还可以很容易反求出来在电脑中安装的(或设置的)是什么型号的内存。例如,当你的CPU的外频是200 MHz、而且安装的内存是DDR2时,如果CPU-Z的显示是“FSB:DRAM=1:1.66”的话,那就肯定你安装的内存不是在同步状态。因为DDR2内存同步时,其比是1:2。那么安装的是什么内存呢?可以有下述方法计算出来:因为200:X=1:1.66,所以,X=333。这个333就是实装内存的时钟频率值333 MHz,由此可以断定,这个内存是DDR2-667。
注②:DDR、DDR2和DDR3内存的针脚和插座都是不相同的,不能用错。所以,当选择主板时,要搞清楚主板支持哪类内存。目前,为了用户方便,有的主板同时具有DDR2和DDR3内存插槽。
4.在Intel平台实现带宽相等的计算方法
什么是带宽呢?在计算机领域,带宽又叫频宽,是指在固定的时间内可以传输的数据量,亦即在传输通道中可以传递数据的能力。带宽通常以比特每秒(bps)表示,即每秒可传输的位数。但是,为了简化,通常都是以MB/s或GB/s表示的。带宽的计算方法是:
带宽 = 频率×总线位数/8 (4)
因为电脑内存总线的传输位数是64比特,所以,对于频率是800 MHz的通道来说,带宽 = 800MHz×64b÷8b/B = 6.4 GB/s。
还有一个简捷计算方法,就是
带宽=频率数×8B (5)
例如,当频率等于800 MHz时,带宽就是800 MHz×8B = 6400MB/s = 6.4GB/s。
在表1中已经给出了不同频率和带宽关系的计算结果。这里说的带宽匹配,实际上就是频率的匹配。对于我们普通使用者,还是按频率来论述比较直观,因为带宽相等,就是频率相等。
带宽匹配的原则是:内存的数据带宽应该跟CPU前端总线FSB的带宽相等,或者说:“内存的数据频率等于CPU的FSB频率,就是带宽匹配”。只有这样才能保证数据的顺利传输。如果有一方的带宽小于另一方,小带宽的一方就构成了“瓶颈”。但是,如果CPU已经选定了,内存的带宽大一些,并没有坏处。在满足同步的条件下,对DDR2来说,就会自动满足带宽相等的要求,即可以做到内存的传输带宽等于前端总线的带宽;但是,对DDR来说,如果满足了同步的要求,内存的带宽仅是FSB带宽的1/2;对于DDR3来说,如果满足了同步的要求,内存的带宽就是FSB带宽的两倍。这种关系见下表。
表5 内存同步时,FSB的带宽跟内存数据通道的带宽的关系
内存的类型 | DDR | DDR2 | DDR3 |
FSB的带宽:内存数据通道的带宽 | 2:1 | 1:1 | 1:2 |
对内存的同步要求是生或死的问题,所以,必须满足,如果不能满足,必须采取异步运行。但是,对于带宽的要求则比较灵活一些。如果不能满足,也可以用双通道或异步的方法来解决。在DDR时代就是利用双通道的方法解决内存带宽是“瓶颈”的问题的。但是,如果不组成双通道,只用一个内存条,只要频率是同步的,也可以正常工作。
在AMD平台,其内存控制器置入CPU内部了。即CPU直接跟内存打交道了。带宽的问题,已经没有那么重要了。
5.在Intel平台用主板调控内存运行参数的方法
①主板的自动调控作用:其实,根据内存的同步要求选择出来的内存(见表4)就可以正常使用了。但是,也有例外的情况。比如:有的时候,按计算结果,应该用DDR2-800内存才能同步,但是,你手头没有DDR2-800,只有DDR2-667内存,并安装上去了。怎么办呢?要靠主板的调控。只要你没有在BIOS中的“MemClock Mode”中选“Manual”,也没有在“System Memory Multiplier”项更改默认设置“Auto”,主板就会自动根据内存条上SPD资料把加于内存的时钟频率降到333MHz,以使DDR2-667内存的频率不过载。这时CPU-Z的“FSB:DRAM”就是“1:1.66”,而不是“1:2”。这样调整过后,速度降低了,内存的带宽也变小了一些,但是,可以正常运行。
还有,如果满足内存同步需要的内存是DDR2-800,而你却安装或设置了DDR2-1066内存,主板也会把加给内存的频率按DDR2-800对待,CPU-Z对“FSB:DRAM”的显示还是“1:2”,不会显示“1:2.66”。但是,如果你是把内存超频到1066MHz的,CPU-Z则会显示“1:2.66”。
②主板的手动调控方法:如果你要自己用手动设置内存也是可以的。方法是:在BIOS的“Set Memory Clock”项选“Manual”(手动);或在“System Memory Multiplier”项不选择“Auto”,而是选择你实际安装在内存插槽上的内存,设置就会成功的。当然,还是需要主板支持的,也就是说,如果主板上有种这种设置项目才行。
手动设置的选项有多种方法。有的直接用内存芯片名称表示(如华硕的P5E3 WS主板,直接用诸如DDR3-1333表示);有的用数字表示(如技嘉GA-P31-S3G主板就用3.33或4.0表示。3.33就表示DDR2-667内存);当然,有的主板则是用FSB :DRAM的比值表示。
6.在Intel平台没有FSB了,怎么配内存?
Intel 酷睿 i3/i5/i7 CPU是把内存控制器置于CPU内部了。内存控制器控制的QPI(QuickPath Interconnect,快速通道互联)总线频率远高于传统的FSB(一般是外频的18倍),因此,为它选配内存的空间范围也大多了。例如,在过去,当外频是133MHz时,FSB = 4×133 mHz = 533MHz,这种关系是固定的。如果选DDR内存,最高是DDR-266;如果选DDR2内存,最高是DDR2-533;如果DDR3内存,最高是DDR3-1066。如果你选择更高频率的内存,系统是不承认的,它只能把它们作降格处理。实际上FSB成了“瓶颈”。
自从有了QPI总线以后,选择内存的条件就宽松多了。这时CPU-Z上显示的“外频”133 MHz,已经不是传统意义上的外频了。它被称为基频(BF)。因此,它跟内存频率之间的同步关系也就改变了。例如,当“外频”(基频)是133 MHz时,甚至可以选用DDE3-1600内存了。不过,也不是无限制的。限制到什么程度?这就看CPU或主板的规定了。不过,有个大概估算办法,就是内存的数据频率大致是QPI频率的1/2。具体是多少,要看内存控制器和主板支持到什么程度,不是用户能左右的。
7
.内存的双通道的设置问题首先应该明确,双通道只是为了增大内存的带宽而设计的,因为,在DDR时代,CPU的FSB已经达到800 MHz了,但是,从频率同步的角度看,只能配DDR-400的内存。显然,内存的带宽只是FSB带宽的1/2,内存成了带宽匹配的“瓶颈”,因为CPU有一半的时间要等内存把数据传过来。因此,人们提出了双通道的概念。即在北桥再增加一个内存控制器,另外再增加一个DDR-400内存,使两个DDR-400的内存并联使用,带宽的匹配问题得以解决。
但是,因为双通道中的两个内存是分别受两个内存控制器控制的,组成双通道后,只对内存的带宽有改善,对每个内存的性能指标(如核心频率)并没有任何改善。因此,用两个DDR-400组成双通道时,其性能并不是DDR-800。
网上广泛流传的“用两个DDR2-533组成双通道,用在FSB=1066 MHz平台,就是绝配”的说法是错误的。因为DDR2-533的核心频率是533MHz÷4=166MHz,而FSB=1066MHz时的外频是1066MHz÷4=266MHz 。两个频率并不相等。也就是说,这样配,并不能满足同步条件。硬要这样配电脑是要蓝屏的。因为内存组成双通道后,他们的核心频率并不会提高。
双通道的作用可以这样比喻:马路很宽,可以容得下两辆汽车,可是,只有一辆车来回跑,这不是浪费吗?再买一辆汽车吧,让它们在一条路上并行跑,货运量不就增加一倍了吗!由此可见,双通道只是解决货运量(带宽)的问题。并不是把汽车的速度加倍的问题。也就是说:两个DDR2-533组成双通道,只能提高带宽,并不能提高内存的频率,两个DDR2-533组成双通道后,其效果并不等于一个DDR2-1066。
当然,如果你一定把DDR2-533用于FSB=1066 MHz的平台,也不是不可能,方法就是异步,使加给DDR2-533的频率降下来。但是,主板支持吗?如果是支持的,那么,需要异步运行才可以,这算是“绝配”吗?
8.在AMD CPUK8以前内存的配置方法
在K8以前,AMD内存也有前端总线(FSB),但是,跟Intel内存有一点点差别,就是前端总线频率是外频的两倍(Intel是4倍)。因为内存的同步与否是考虑外频的,所以,当外频跟内存的核心频率相等时就是同步。因此,外频是133MHz时,应该配DDR-266内存;外频是166MHz时,应该配DDR-333内存;外频是200MHz时,应该配DDR-400内存。这些都跟Intel平台是一致的。不同的是:在AMD平台,频率同步了的话,带宽也平衡了。所以,在当时的AMD平台就不存在双通道的问题。
9.AMD CPU K8 时代内存的选配方法
在AMD 的K8以后的CPU中,内存控制器被整合到CPU内部了(见下图),内存直接跟CPU打交道了。前端总线不存在了,跟北桥相连的总线改称HT总线了,这个总线除了不再跟内存联系外,其它的作用跟原前端总线的任务是相同的。
正是由于有了上述改变,所以,在AMD平台配内存时,内存跟CPU的搭配的计算方法也有了很大的变化。因为这时我们关心的只是CPU的主频。无需再考虑FSB和外频了。现在介绍内存跟AMD的CPU的搭配方法如下:
① 首先计算出内存控制器的分频倍数DIV(这种计算是由电脑自动进行的,当然我们也应该掌握):
DIV= CPU的标称主频÷你在BIOS中设置的内存的时钟频率 (6)
这个设置的时钟频率最好跟你实际安装的内存一致。如果不一致,电脑还是根据你的设置值进行计算的。
如果DIV的计算结果不是整数,则进为整数,例如,将7.4进为8。如果计算出来的分频系数小于5,则取为5。上述这些方法都是AMD的设计规定。
② 知道了内存分频倍数DIV以后,通过内存的实际时钟频率用下式计算:
内存的实际时钟频率= CPU的实际主频÷内存的分频倍数 (7)
知道了内存的时钟频率,就可以知道怎样配内存了。比如,你计算出来的时钟频率是是200MHz,而且是选择DDR内存,就应该配DDR-400;你计算出来的时钟频率是是400MHz,如果想配DDR2,则应该选DDR2-800;如果你计算出来的时钟频率是400MHz,想配DDR3内存,还是应该配DDR3-800。因为不管是什么型号的内存,数据频率总是时钟频率的两倍。
例1: CPU是AMD速龙(Athlon)64 3200+,主频是 2.0 GHz,如果打算选用DDR-400的内存并在BIOS做这样的设置时,问:① 分频倍数是多少?② 通过内存的实际频率是多少?
解:① 因为CPU的主频等于2000MHz;DDR-400的时钟频率等于400MHz/2=200MHz,所以,内存的分频倍数DIV=2000 MHz÷200 MHz=10;
② 因为没有对CPU进行超频,所以,它的主频还是2000MHz,所以,通过内存的实际总线频率=2000 MHz÷10=200 MHz,即相当是DDR-400。因此,选择DDR-400内存是可以的。当然,如果主板允许,也可以用两个DDR400组成双通道。以增大数据传输量。
例2: CPU是闪龙3200+,主频是 1.8 GHz,如果选用DDR2-800的内存时,问:① 分频倍数数是多少?② 通过内存的实际时钟频率是多少?(3)如果把主频超到2400 MHz时,应该怎样选择内存?
解:① 分频系数DIV=1800 MHz÷400 MHz=4.5,应向上取为5;
② 通过内存的实际时钟频率=1800 MHz÷5=360 MHz。内存降格使用为DDR2-720。因为内存的频率是向下兼容的,主板都会支持这样的内存。所以,这样配置也是可以的。
(3)如果把主频超到2400 MHz了,则通过内存的时钟频率就是2400 MHz÷5=480 MHz,即需要选择DDR2-960内存。选DDR2-1066吧。(但是,因为主频太低,还要看内存控制器或主板是否支持)
下图就是我根据以上原则把计算结果表格化了,为了简化,在表中没有把分频系数列出来。表中有灰色底纹的数字表示计算出来的分频系数小5。因此,求这些时钟频率时,分频倍数是按分频系数等于5计算的。
我相信,有这个表作参考,内存怎样跟CPU配合就是十分清楚的了。
现在,我们用上面的两个例题为例,研究一下怎么从下表中直接得出配内存的结果:(注:字体时大时小,不是作者的设置,是日志编辑功能的毛病。刚改版,还不完善。气煞人也!)
在第一个例题中的CPU频率是2GHz,在BIOS中设置的内存是DDR-400,因此从这个表就可以查得通过内存的时钟频率是200MHz,即该内存运行在DDR-400。这样选频率正好匹配。
第二个例题:CPU主频是1.8GHz,选得是DDR2-800内存,从表中可以查得内存的运行频率是360MHz,相当是DDR2-720内存。从表中还可以看出:如果你想使这个内存运行在DDR2-800,只有选2.0GHZ或以上的CPU。如果CPU的主频依旧是1.8GHz的话,即使你选用DDR2-1066也于事无补,它只会把内存降格为DDR2-720。有许多网友问:我安装的内存频率频率很高,但是,在CPU-Z中检测出来的频率又很低呢?主要原因是你安装的CPU的频率太低,主板并不支持频率过高的内存的缘故。
表6 AMD的CPU跟内存配合方法一览表
在本表中没有列出相应的分频系数,因而不利于超频时使用。其实,如果做超频操作时,只需把表中的数据乘以“超频后的CPU主频/超频前的CPU主频”就可以得到超频后加于内存的时钟频率了。
从这个表我们就可以清楚地看出来应该怎样选择内存了。比如,当CPU的主频是1600 MHz时,配DDR-400就可以了;当CPU的主频是2000 MHz时,配DDR2-800是正合适的;当CPU的主频是3200 MHz时,配DDR3-1066正合适。我猜想:主板的设计者就是按这个思路来设定主板默认的内存频率的。
这个表是在K8的条件下根据CPU和内存的参数做出的,目前已经发展到K10(似乎没有K9),因此,情况稍有变化。还有一个重要因素也不容忽视,那就是除了主板支持外,内存控制器是否支持这个频率。如果控制器不支持,只有主板支持也是不行的。
如此说来,上表仅是一个原则设定,如果你用CPU-Z进行检测时,其结果跟上表不符,就要从多方面找原因了。
10.AMD K10类CPU内存的匹配方法
AMD的K10 类CPU内存匹配的方法和计算方法较之K8有了很大的变化。其计算顺序是:
第一步:了解你选定的CPU支持什么样的内存。比如,可以是DDR2-800、DDR3-1333等;并且在BIOS的“DRAM Frequency”项中设置这个内存。当然也可以设置其他型号的内存。系统并不理会你插的是什么内存,而是根据你的设置的内存进行计算的;
第二步:根据在BIOS中设定的内存计算出分频系数
内存的分频系数=在BIOS中设定的内存的数据频率÷外频 (8)
内存的数据频率值是多大,可以从内存的型号中知道。例如,DDR2-800的数据频率就是800MHz;DDR3-1333 的数据频率就是1333MHz。依此类推。
由式(8)可知,当在BIOS中设定的内存是DDR2-800时,800 MHz÷200 MHz=4,即分频系数=4;当在BIOS中设置的外频是DDR3-1333时,1333MHz÷200MHz=6.67,即分频系数等于6.67。
第二步:根据下式计算出通过内存的实际数据频率
内存中的实际数据频率=实际外频×分频系数 (9)
例1:在BIOS中把内存设定为DDR2-800时,如果把外频超到230MHz后,通过内存的数据频率是多少?
答:因为DDR2-800的数据频率是800 MHz,而AMD的CPU的标称外频是200 MHz,因此,分频系数等于800 MHz÷200MHz=4。根据式(9)可以计算出通过内存的数据频率是230 MHz×4=920 MHz。
即相当是超到了DDR2-920。体质不好的DDR2-800内存是承受不了的。最好是安装DDR2-1066内存。
下表就是在BIOS中设置的内存的数据频率跟分频系数的计算结果。在表中给出的内存都是实有其型号的。但是,在主板的列表中,可能有DDR2-1111、DDR2-1200之类的设置。本表没有列入它们,如果遇到有这样的设置时,读者可自行计算。
表7.AMD K10 CPU的分频系数
注:表中的FSB:DRAM是检测软件CPU-Z的相应检测结果。
例 2. 使用的是AMD的K10 CPU,在BIOS中设置的内存是DDR3-1333,主板也支持,没有超频。请问:在内存中的数据频率是多少?答:由上表可以查出,在这种情况下,内存系数是6.67,因此,内存中的实际数据频率是200MHz×6.67=1333MHz。
由这个例题可以看出来:如果不考虑超频时,实际外频和标称外频是相等的,都等于200MHz。因此,由式(8)可知:内存的实际数据频率就等于你在BIOS中设置的内存的数据频率。所以,在K10中如何选配内存的问题就变得十分简单了。简单到可以这样说:当给AMD的K10 类CPU配内存时,你在BIOS中设置什么样的内存,在内存中的频率就是你设置的频率。但是,大前题是CPU的内存控制器和主板支持。你把CPU支持内存条插入后,系统怎样运行这个内存,你不必管它,只管让它“Aout”或“By SPD”。但是,如果你想对它进行手工设置,可以把BIOS的“Memory Clock Mode”项设置为“Manual”(手动模式),然后用上述方法进行设置即可。
11.内存选配方法实例问答
问1:在Intel平台,如果外频是200 MHz,假如我选择DDR内存,应该是什么型号的?如果选DDR2内存,应该选什么型号的?
答:根据内存核心频率等于或不小于外频的原则,选DDR时,应该选DDR-400;选DDR2时,应该选DDR2-800。
问2:在Intel平台的FSB=800 MHz时,如果安装DDR2-1066内存,将会是什么情况?
答:因为系统向内存提供的时钟频率最大仅为400MHz,而DDR2-1066需要533MHz。因此,系统将会把DDR2-1066当作是体质好的DDR2-800对待。
问3:在Intel平台的FSB=1066MHz时,如果安装DDR2-800内存,将会是什么情况?
答:因为系统向内存提供的时钟频率最大为533MHz,而DDR2-800所能耐受的时钟频率是400MHz。因此,内存需异步运行,即把加给内存的时钟频率降下来。这项降频工作就是我们所说的异步。异步是由主板自动进行的。当然也可以由人工操作。
问4:我的CPU是AMD的K8,主频是2600 MHz。主板也支持DDR2-800,可是,我安装上去以后,CPU-Z的检测结果是:频率只有371.4 MHz。这为什么?
答:让我们计算一下:2600 MHz/400 MHz=6.5,进为7。2600 MHz/7=371.4 MHz,相当DDR2-743。所以,你说的情况是正常的。在AMD平台,内存的实际频率是经常被压低的。
问5:我的CPU是AMD的k8,主频是2200 MHz,安装的是DDR2-667。为什么在CPU-Z上面看到的DRAM(内存时钟频率)是314左右?而不是667/2=333?
答:让我们计算一下:因为你设置的是DDR2-667内存,所以有 2200 MHz/333MHz = 6.6,应取为7。2200 MHz/7= 314 MHz。由此可知,你的电脑是正常的。在AMD平台,不是你设置了什么频率,通过内存频率就是你设置的频率的。
问6:在AMD平台,用CPU-Z检测时,“前端总线:内存”是“CPU/9”是什么意思?
答:在AMD平台用CPU-Z检测电脑的频率时,如在“前端总线:DRAM频率”项表示为“CPU/9”,其中的”CPU”表示你的CPU的主频,“9”表示的是分频系数。如果你的CPU的主频是1.8 GHz,那么,1800 MHz/9=200MHz。这就是说,你的内存的时钟频率是200 MHz。
问7:当用CPU-Z检测电脑时,在“前端总线:内存”项出现“3:8”是什么意思?
答:因为AMD的CPU其外频都是200MHz,因此有“3:8=200:X”,由此得X=200×8÷3=533,即你在电脑中的内存的时钟频率为533 MHz。所以,这个内存可能是DDR2-1066也可能是DDR3-1066。
问8:我的AMD的CPU主频为3000 MHz,我选用DDR3-1333内存。可是,用CPU-Z检测时,“FSB:DRAM=3:8”。这是什么意思?
答:在AMD平台,其比是“3:8”,就是说其时针频率是533MHz,相当DDR3-1066。你的DDR3-1333是被降格使用了。为什么要降格?这就要看主板的设置了,也可能主板的默认设置就是DDR3-1066,也可能CPU的内存控制器最大支持到1066MHz。如果不是内存控制器不支持,只要是主板支持,你把它的频率设置成667 MHz也是可以的。
问9:我用的是AMD K8的CPU,主频是2800MHz。应该选什么样的内存?
答:从表6可以看出,在你的这种情况下,选择 DDR2-800就可以了。选DDR2-1066似乎高了一些。因为你的CPU主频比较低,选择DDR3不一定合适。但是,还要看主板和内存控制器是否支持。
问10.我的AMD 8650 CPU匹配的是DDR2-800内存条。我把外频超到240MHz后,为什么CPU-Z显示的内存频率是480MHz?
答:分频系数是 800 MHz/200 MHz=4。所以,你的内存的数据频率是240 MHzX4=960MHz,即相当是DDR2-960。它的时针频率恰好是960MHz/2=480MHz。所以,CPU-Z的显示是完全正确的。
当为AMD的CPU选配内存时,一定要搞清楚这个CPU是K8、K10?或是K8以前的。因为三种类型的CPU有不同的匹配内存的方法。
问11:HT的频率跟内存的频率有什么关系?
答:因为AMD的内存控制器在CPU内部,直接受CPU控制。内存总线跟HT总线虽然都源于CPU,但是,各走各的路;各有各的任务(见本文的附图),彼此没有什么关系。因此,当选配内存时,不必考虑HT总线的频率。
但是,当采用需要共享内存作为显存的集成显卡时,二者是有一些关联的。但是,当考虑匹配内存时,无需考虑这些。
问12:为AMD平台配内存时,还需要考虑内存的带宽跟CPU带宽的匹配吗?
答:因为在AMD平台,内存直接跟CPU打交道了,CPU的带宽就是内存的带宽。因此,当选配内存时,CPU的带宽跟内存的带宽匹配问题可以不再单独考虑。按本文所介绍的方法选配内存就可以了。
但是,在K8时代,如果是DDR2-800的内存,CPU的主频必须提高到2.8Ghz时,才能把它当DDR2-800使用,实际上这也是带宽的匹配问题。
问13:什么是MCT?什么是DCT?
答:MCT(Memory Controller)是内存控制器,它控制内存的读取等操作,决定了K8/K10的内存性能。它的控制功能适用于任何类型的内存。
而DCT(DRAM Controller)是“内存界面控制器”,也称DRAM控制器。它决定了可以使用的内存类型。它可以升级换代,以适应不同类型的内存。也就是说,内存控制器支持什么类型的内存是由它决定的。
问14:在支持AMD K10主板的BIOS中的DCTs Mode是什么意思?
答:DCTs Mode(DRAM控制器模式)是指K10中所安装的两个独立的64bit单元内存控制器的两种运行模式。有Ganged Mode和 Unganged Mode。后者是默认模式。
前一种模式就跟K8双通道模式相同,两通道的内存会逻辑上连为一体,构成128bit,这个模式称为「Ganged Mode」。
如果两个控制器同时启动,总合起来每个时脉周期一样有128bit的资料传输。这不是双通道,也不是单通道,而是两个单通道同时运行,称为「Unganged Mode」模式。这种模式的好处是对两个内存的一致性要求不高。
答hmhding网友:因为下述文字“超过”1000字了。加不上。所以放到这里来回答你:
第一个问题:调控的目的和效果就是让加于内存的频率不过载。即当外频为200MHz时,用DDR2-667时,加给内存的频率是166MHz而不是200MHz。当然也就不存在蓝屏的问题了。第二个问题:当外频是200MHz时,用两个DDR400组成双通道,就是为解决带宽的瓶颈的。其实,用一个DDR400也可以。
第三个问题:你的外频是100MHz,FSB:DRAM=3:4。由此可以推算出你采用的DDR400已经降频到DDR266使用了。至于为什么不是降到DDR200,我也说不清。是不是主板不支持?请看看你的主板说明书把。谢谢。
对你第二次来信的回复(就这么几个字,人家总说超过1000字了,贴不上):从你这段话就完全清楚了为什么内存频率只降级到DDR266,而不是降级到DDR200的原因了。因为“host/dram clock ratio选项”的含义实际上是内存的数据频率/外频。主板默认它为2.66,所以,内存的数据频率就等于100MHz×2.66=266MHz。这个判断是我根据GA-81的说明书作出来的,你也可以仔细看看你的说明书。