首页 > 代码库 > 时钟频率和数据频率之间的关系搞清楚

时钟频率和数据频率之间的关系搞清楚

 1.内存和CPU的有关数据
    在正式讨论问题之前,我们首先要把内存的核心频率、时钟频率和数据频率之间的关系搞清楚,而且应该特别熟悉。这是讨论这个问题的基础。见下表:表1内存名称及各种频率列表
    
    由表1可见,核心频率、时钟频率和数据频率之间有固定的关系。它们之间的比例关系见表2。表2.内存的核心频率、时钟频率和数据频率之间的比例关系
    
     其中的核心频率又称颗粒频率或基本频率;时钟频率又称工作频率、内存频率、I/O频率、DRAM、DRAMFrequency、时脉或内存速度;数据频率又称等效频率或传输通道频率。本文只采用“核心频率”、“时钟频率”和“数据频率”三个名称。对这些名称一定要弄清楚。另外,有关CPU的名称也是五花八门的。例如,主频又称CoreSpeed;外频的名称就更多了,如BusSpeed、汇流排频率、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配内存时是跟外频挂钩的,而AMDCPU的外频是固定在200MHz的。⑤当讨论内存跟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的外频跟内存的时钟频率的频率关系
    内存的类型FSB:DRAM(即CPU的外频跟内存时钟频率之比)DDR1:1DDR21:2DDR31: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是800MHz时,如果选择DDR2内存时,×××=FSB值=800,所以,应该选DDR2-800型的内存。这样选也符合“内存的核心频率(200MHz)等于CPU外频(200MHz)”的原则。
    ③当在Intel平台选择DDR3内存时有:DDR3-××××后的四个“×”=FSB值×2(3)
    
    例如,当Intel平台的FSB是800MHz时,如果选择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的外频是200MHz、而且安装的内存是DDR2时,如果CPU-Z的显示是“FSB:DRAM=1:1.66”的话,那就肯定你安装的内存不是在同步状态。因为DDR2内存同步时,其比是1:2。那么安装的是什么内存呢?可以有下述方法计算出来:因为200:X=1:1.66,所以,X=333。这个333就是实装内存的时钟频率值333MHz,由此可以断定,这个内存是DDR2-667。
    
    注②:DDR、DDR2和DDR3内存的针脚和插座都是不相同的,不能用错。所以,当选择主板时,要搞清楚主板支持哪类内存。目前,为了用户方便,有的主板同时具有DDR2和DDR3内存插槽。
    
     4.在Intel平台实现带宽相等的计算方法
    什么是带宽呢?在计算机领域,带宽又叫频宽,是指在固定的时间内可以传输的数据量,亦即在传输通道中可以传递数据的能力。带宽通常以比特每秒(bps)表示,即每秒可传输的位数。但是,为了简化,通常都是以MB/s或GB/s表示的。带宽的计算方法是:带宽=频率×总线位数/8(4)
    
    因为电脑内存总线的传输位数是64比特所以对于频率是800MHz,,的通道来说,带宽=800MHz×64b÷8b/B=6.4GB/s。还有一个简捷计算方法,就是带宽=频率数×8B(5)
    
    例如,当频率等于800MHz时,带宽就是800MHz×8B=6400MB/s=6.4GB/s。在表1中已经给出了不同频率和带宽关系的计算结果。这里说的带宽匹配,实际上就是频率的匹配。对于我们普通使用者,还是按频率来论述比较直观,因为带宽相等,就是频率相等。带宽匹配的原则是:内存的数据带宽应该跟CPU前端总线FSB的带宽相等,或者说:“内存的数据频率等于CPU的FSB频率,就是带宽匹配”。只有这样才能保证数据的顺利传输。如果有一方的带宽小于另一方,小带宽的一方就构成了“瓶颈”。但是,如果CPU已经选定了,内存的带宽大一些,并没有坏处。
    
     在满足同步的条件下,对DDR2来说,就会自动满足带宽相等的要求,即可以做到内存的传输带宽等于前端总线的带宽;但是,对DDR来说如果满足了同步的要求内存的带宽仅是FSB带宽的1/2对于DDR3,,;来说,如果满足了同步的要求,内存的带宽就是FSB带宽的两倍。这种关系见下表。表5内存同步时,FSB的带宽跟内存数据通道的带宽的关系内存的类型DDRDDR2DDR3
    1:2
    
    FSB的带宽:内存数据通道的带宽2:11:1
    
    对内存的同步要求是生或死的问题,所以,必须满足,如果不能满足,必须采取异步运行。但是,对于带宽的要求则比较灵活一些。如果不能满足,也可以用双通道或异步的方法来解决。在DDR时代就是利用双通道的方法解决内存带宽是“瓶颈”的问题的。但是,如果不组成双通道,只用一个内存条,只要频率是同步的,也可以正常工作。在AMD平台,其内存控制器臵入CPU内部了。即CPU直接跟内存打交道了。带宽的问题,已经没有那么重要了。
    
    5.在Intel平台用主板调控内存运行参数的方法
    ①主板的自动调控作用:其实,根据内存的同步要求选择出来的内存(见表4)就可以正常使用了。但是,也有例外的情况。比如:有的时候,按计算结果,应该用DDR2-800内存才能同步,但是,你手头没有DDR2-800,只有DDR2-667内存,并安装上去了。怎么办呢?要靠主板的调控。只要你没有在BIOS中的“MemClockMode”中选“Manual”,也没有在“SystemMemoryMultiplier”项更改默认设臵“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的“SetMemoryClock”项选“Manual”(手动);或在“SystemMemoryMultiplier”项不选择“Auto”,而是选择你实际安装在内存插槽上的内存,设臵就会成功的。当然,还是需要主板支持的,也就是说,如果主板上有种这种设臵项目才行。手动设臵的选项有多种方法。有的直接用内存芯片名称表示(如华硕的P5E3WS主板,直接用诸如DDR3-1333表示);有的用数字表示(如技嘉GA-P31-S3G主板就用3.33或4.0表示。3.33就表示DDR2-667内存);当然,有的主板则是用FSB:DRAM的比值表示。6.在Intel平台没有FSB了,怎么配内存?Intel酷睿i3/i5/i7CPU是把内存控制器置于CPU内部了。内存控制器控制的QPI(QuickPathInterconnect,快速通道互联)总线频率远高于传统的FSB(一般是外频的18倍),因此,为它选配内存的空间范围也大多了。例如,在过去,当外频是133MHz时,FSB=4×133mHz=533MHz,这种关系是固定的。如果选DDR内存,最高是DDR-266;
    
     如果选DDR2内存,最高是DDR2-533;如果DDR3内存,最高是DDR3-1066。如果你选择更高频率的内存,系统是不承认的,它只能把它们作降格处理。实际上FSB成了“瓶颈”。自从有了QPI总线以后,选择内存的条件就宽松多了。这时CPU-Z上显示的“外频”133MHz,已经不是传统意义上的外频了。它被称为基频(BF)。因此,它跟内存频率之间的同步关系也就改变了。例如,当“外频”(基频)133MHz时,甚至可以选用DDE3-1600内存了。是不过,也不是无限制的。限制到什么程度?这就看CPU或主板的规定了。不过,有个大概估算办法,就是内存的数据频率大致是QPI频率的1/2。具体是多少,要看内存控制器和主板支持到什么程度,不是用户能左右的。7
    
    .内存的双通道的设臵问题
    首先应该明确,双通道只是为了增大内存的带宽而设计的,因为,在DDR时代,CPU的FSB已经达到800MHz了,但是,从频率同步的角度看,只能配DDR-400的内存。显然,内存的带宽只是FSB带宽的1/2,内存成了带宽匹配的“瓶颈”,因为CPU有一半的时间要等内存把数据传过来。因此,人们提出了双通道的概念。即在北桥再增加一个内存控制器另外再增加一个DDR-400内存使两个DDR-400的内存并联使用,,,带宽的匹配问题得以解决。
    但是,因为双通道中的两个内存是分别受两个内存控制器控制的,组成双通道后,只对内存的带宽有改善,对每个内存的性能指标(如核心频率)并没有任何改善。因此,用两个DDR-400组成双通道时,其性能并不是DDR-800。网上广泛流传的“用两个DDR2-533组成双通道,用在FSB=1066MHz平台,就是绝配”的说法是错误的。因为DDR2-533的核心频率是533MHz÷
    
     4=166MHz,而FSB=1066MHz时的外频是1066MHz÷4=266MHz。两个频率并不相等。也就是说,这样配,并不能满足同步条件。硬要这样配电脑是要蓝屏的。因为内存组成双通道后,他们的核心频率并不会提高。
    
    双通道的作用可以这样比喻:马路很宽,可以容得下两辆汽车,可是,只有一辆车来回跑,这不是浪费吗?再买一辆汽车吧,让它们在一条路上并行跑,货运量不就增加一倍了吗!由此可见,双通道只是解决货运量(带宽)的问题。并不是把汽车的速度加倍的问题。也就是说:两个DDR2-533组成双通道,只能提高带宽,并不能提高内存的频率,两个DDR2-533组成双通道后,其效果并不等于一个DDR2-1066。
    当然,如果你一定把DDR2-533用于FSB=1066MHz的平台,也不是不可能,方法就是异步,使加给DDR2-533的频率降下来。但是,主板支持吗?如果是支持的,那么,需要异步运行才可以,这算是“绝配”吗?
    
    8.在AMDCPUK8以前内存的配置方法
    在K8以前,AMD内存也有前端总线(FSB),但是,跟Intel内存有一点点差别,就是前端总线频率是外频的两倍(Intel是4倍)。因为内存的同步与否是考虑外频的,所以,当外频跟内存的核心频率相等时就是同步。因此,外频是133MHz时,应该配DDR-266内存;外频是166MHz时,应该配DDR-333内存;外频是200MHz时,应该配DDR-400内存。这些都跟Intel平台是一致的。不同的是:在AMD平台,频率同步了的话,带宽也平衡了。所以,在当时的AMD平台就不存在双通道的问题。9.AMDCPUK8时代内存的选配方法
    在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)643200+,主频是2.0GHz,如果打算选用DDR-400的内存并在BIOS做这样的设臵时问①分频倍数是多少?②通,:过内存的实际频率是多少?解:①因为CPU的主频等于2000MHz;DDR-400的时钟频率等于400MHz/2=200MHz,所以,内存的分频倍数DIV=2000MHz÷200MHz=10;②因为没有对CPU进行超频,所以,它的主频还是2000MHz,所以,
    
    通过内存的实际总线频率=2000MHz÷10=200MHz,即相当是DDR-400。因此,选择DDR-400内存是可以的。当然,如果主板允许,也可
    以用两个DDR400组成双通道。以增大数据传输量。
    
     例2:CPU是闪龙3200+,主频是1.8GHz,如果选用DDR2-800的内存时,问:①分频倍数数是多少?②通过内存的实际时钟频率是多少?(3)如果把主频超到2400MHz时,应该怎样选择内存?解:①分频系数DIV=1800MHz÷400MHz=4.5,应向上取为5;②通过内存的实际时钟频率=1800MHz÷5=360MHz。内存降格使用为DDR2-720。因为内存的频率是向下兼容的,主板都会支持这样的内存。所以,这样配臵也是可以的。(3)如果把主频超到2400MHz了,则通过内存的时钟频率就是2400MHz÷5=480MHz,即需要选择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的频率太低,主板并不支持频率过高的内存的缘故。表6AMD的CPU跟内存配合方法一览表
    
     在本表中没有列出相应的分频系数,因而不利于超频时使用。其实,如果做超频操作时,只需把表中的数据乘以“超频后的CPU主频/超频前的CPU主频”就可以得到超频后加于内存的时钟频率了。从这个表我们就可以清楚地看出来应该怎样选择内存了。比如,当CPU的主频是1600MHz时配DDR-400就可以了当CPU的主频是2000MHz时配DDR2-800,;,是正合适的;当CPU的主频是3200MHz时,配DDR3-1066正合适。我猜想:主板的设计者就是按这个思路来设定主板默认的内存频率的。这个表是在K8的条件下根据CPU和内存的参数做出的,目前已经发展到K10(似乎没有K9),因此,情况稍有变化。还有一个重要因素也不容忽视,那就是除了主板支持外,内存控制器是否支持这个频率。如果控制器不支持,只有主板支持也是不行的。如此说来,上表仅是一个原则设定,如果你用CPU-Z进行检测时,其结果跟上表不符,就要从多方面找原因了。
    
    10.AMDK10类CPU内存的匹配方法
    AMD的K10类CPU内存匹配的方法和计算方法较之K8有了很大的变化。其计算顺序是:第一步:了解你选定的CPU支持什么样的内存。比如,可以是DDR2-800、DDR3-1333等;并且在BIOS的“DRAMFrequency”项中设臵这个内存。当然也可以设臵其他型号的内存。系统并不理会你插的是什么内存,而是根据你的设臵的内存进行计算的;第二步:根据在BIOS中设定的内存计算出分频系数内存的分频系数=在BIOS中设定的内存的数据频率÷外频(8)内存的数据频率值是多大,可以从内存的型号中知道。例如,DDR2-800的数据频率就是800MHz;DDR3-1333的数据频率就是1333MHz。依此类推。由式(8)可知,当在BIOS中设定的内存是DDR2-800时,800MHz÷200MHz=4,即分频系数=4;当在BIOS中设臵的外频是DDR3-1333时,1333MHz÷200MHz=6.67,即分频系数等于6.67。
    
     第二步:根据下式计算出通过内存的实际数据频率内存中的实际数据频率=实际外频×分频系数(9)例1:在BIOS中把内存设定为DDR2-800时,如果把外频超到230MHz后,通过内存的数据频率是多少?答:因为DDR2-800的数据频率是800MHz,而AMD的CPU的标称外频是200MHz,因此,分频系数等于800MHz÷200MHz=4。根据式(9)可以计算出通过内存的数据频率是230MHz×4=920MHz。即相当是超到了DDR2-920。体质不好的DDR2-800内存是承受不了的。最好是安装DDR2-1066内存。下表就是在BIOS中设臵的内存的数据频率跟分频系数的计算结果。在表中给出的内存都是实有其型号的。但是,在主板的列表中,可能有DDR2-1111、DDR2-1200之类的设臵。本表没有列入它们,如果遇到有这样的设臵时,读者可自行计算。表7.AMDK10CPU的分频系数
    
    注:表中的FSB:DRAM是检测软件CPU-Z的相应检测结果。
    
    例2.使用的是AMD的K10CPU,在BIOS中设臵的内存是DDR3-1333,主板也支持,没有超频。请问:在内存中的数据频率是多少?答:由上表可以查出,在这种情况下,内存系数是6.67,因此,内存中的实际数据频率是200MHz×6.67=1333MHz。由这个例题可以看出来:如果不考虑超频时,实际外频和标称外频是相等的,都等于200MHz。因此,由式(8)可知:内存的实际数据频率就等于你在BIOS中设臵的内存的数据频率。所以,在K10中如何选配内存的问题就变得十分简单了。简单到可以这样说:当给AMD的K10类CPU配内存时,你在BIOS中设臵什么样的内存,在内存中的频率就是你设臵的频率。但是,大前题是CPU的内存控制器和主板支持。你把CPU支持内存条插入后,系统怎样运行这个内存,你不必管它,只管让它“Aout”或“BySPD”。但是,如果你想对它进行手工设臵,可以把BIOS的“MemoryClockMode”项设臵为“Manual”(手动模式),然后用上述方法进行设臵即可。
    
    11.内存选配方法实例问答
    问1:在Intel平台,如果外频是200MHz,假如我选择DDR内存,应该是什么型号的?如果选DDR2内存,应该选什么型号的?
    
     答根据内存核心频率等于或不小于外频的原则选DDR时应该选DDR-400;:,,选DDR2时,应该选DDR2-800。问2:在Intel平台的FSB=800MHz时,如果安装DDR2-1066内存,将会是什么情况?答:因为系统向内存提供的时钟频率最大仅为400MHz,而DDR2-1066需要533MHz。因此,系统将会把DDR2-1066当作是体质好的DDR2-800对待。问3:在Intel平台的FSB=1066MHz时,如果安装DDR2-800内存,将会是什么情况?答:因为系统向内存提供的时钟频率最大为533MHz,而DDR2-800所能耐受的时钟频率是400MHz。因此,内存需异步运行,即把加给内存的时钟频率降下来。这项降频工作就是我们所说的异步。异步是由主板自动进行的。当然也可以由人工操作。问4:我的CPU是AMD的K8,主频是2600MHz。主板也支持DDR2-800,可是,我安装上去以后,CPU-Z的检测结果是:频率只有371.4MHz。这为什么?答:让我们计算一下:2600MHz/400MHz=6.5,进为7。2600MHz/7=371.4MHz,相当DDR2-743。所以,你说的情况是正常的。在AMD平台,内存的实际频率是经常被压低的。问5:我的CPU是AMD的k8,主频是2200MHz,安装的是DDR2-667。为什么在CPU-Z上面看到的DRAM(内存时钟频率)是314左右?而不是667/2=333?答:让我们计算一下:因为你设臵的是DDR2-667内存,所以有2200MHz/333MHz=6.6,应取为7。2200MHz/7=314MHz。由此可知,你的电脑是正常的。在AMD平台,不是你设臵了什么频率,通过内存频率就是你设臵的频率的。问6:在AMD平台,用CPU-Z检测时,“前端总线:内存”是“CPU/9”是什么意思?答:在AMD平台用CPU-Z检测电脑的频率时,如在“前端总线:DRAM频率”项表示为“CPU/9”,其中的”CPU”表示你的CPU的主频,“9”表示的是分频系数。如果你的CPU的主频是1.8GHz,那么,1800MHz/9=200MHz。这就是说,你的内存的时钟频率是200MHz。问7:当用CPU-Z检测电脑时,在“前端总线:内存”项出现“3:8”是什么意思?答因为AMD的CPU其外频都是200MHz因此有“3:8=200:X”由此得X=200:,,×8÷3=533,即你在电脑中的内存的时钟频率为533MHz。所以,这个内存可能是DDR2-1066也可能是DDR3-1066。问8:我的AMD的CPU主频为3000MHz,我选用DDR3-1333内存。可是,用CPU-Z检测时,“FSB:DRAM=3:8”。这是什么意思?答:在AMD平台,其比是“3:8”,就是说其时针频率是533MHz,相当DDR3-1066。你的DDR3-1333是被降格使用了。为什么要降格?这就要看主板的设臵了,也可能主板的默认设臵就是DDR3-1066,也可能CPU的内存控制器最大支持到1066MHz。如果不是内存控制器不支持,只要是主板支持,你把它的频率设臵成667MHz也是可以的。问9:我用的是AMDK8的CPU,主频是2800MHz。应该选什么样的内存?答:从表6可以看出,在你的这种情况下,选择DDR2-800就可以了。选DDR2-1066似乎高了一些。因为你的CPU主频比较低,选择DDR3不一定合适。但是,还要看主板和内存控制器是否支持。
    
     问10.我的AMD8650CPU匹配的是DDR2-800内存条。我把外频超到240MHz后,为什么CPU-Z显示的内存频率是480MHz?答:分频系数是800MHz/200MHz=4。所以,你的内存的数据频率是240MHzX4=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(MemoryController)是内存控制器,它控制内存的读取等操作,决定了K8/K10的内存性能。它的控制功能适用于任何类型的内存。而DCT(DRAMController)是“内存界面控制器”,也称DRAM控制器。它决定了可以使用的内存类型。它可以升级换代,以适应不同类型的内存。也就是说,内存控制器支持什么类型的内存是由它决定的。问14:在支持AMDK10主板的BIOS中的DCTsMode是什么意思?答:DCTsMode(DRAM控制器模式)是指K10中所安装的两个独立的64bit单元内存控制器的两种运行模式。有GangedMode和UngangedMode。后者是默认模式。前一种模式就跟K8双通道模式相同,两通道的内存会逻辑上连为一体,构成128bit,这个模式称为「GangedMode」。如果两个控制器同时启动,总合起来每个时脉周期一样有128bit的资料传输。这不是双通道,也不是单通道,而是两个单通道同时运行,称为「UngangedMode」模式。这种模式的好处是对两个内存的一致性要求不高。
    答hmhding网友:因为下述文字“超过”1000字了。加不上。所以放到这里来回答你:
    第一个问题调控的目的和效果就是让加于内存的频率不过载即当外频为200MHz时用DDR2-667:。,时,加给内存的频率是166MHz而不是200MHz。当然也就不存在蓝屏的问题了。第二个问题:当外频是200MHz时,用两个DDR400组成双通道,就是为解决带宽的瓶颈的。其实,用一个DDR400也可以。第三个问题:你的外频是100MHz,FSB:DRAM=3:4。由此可以推算出你采用的DDR400已经降频到DDR266使用了。至于为什么不是降到DDR200,我也说不清。是不是主板不支持?请看看你的主板说明书把。谢谢。
    
     对你第二次来信的回复(就这么几个字,人家总说超过1000字了,贴不上):从你这段话就完全清楚了为什么内存频率只降级到DDR266,而不是降级到DDR200的原因了。因为“host/dramclockratio选项”的含义实际上是内存的数据频率/外频。主板默认它为2.66,所以,内存的数据频率就等于100MHz×2.66=266MHz。这个判断是我根据GA-81的说明书作出来的,你也可以仔细看看你的说明书。

时钟频率和数据频率之间的关系搞清楚