内存带宽的匹配问题

2025-04-05 12:08:05
推荐回答(1个)
回答1:

细心的朋友可能会发现,在品牌机的广告中对于内存的规格往往只粗略标注“DDR 256MB”或“DDR2 356MB”字样,对于内存频率的重要指标(如“DDR 400”)却是犹抱琵琶半遮面,是厂家忘记了吗?那这种频率/带宽上的差异又会给我们带来什么样的影响呢?
带宽是影响CPU和内存数据交换的关键因素,要让两者发挥最佳性能,CPU的外频和总线带宽最好与内存相匹配。
对于Intel主流处理器而言,CPU前端总线带宽=前端总线频率(FSB)×64位总线位宽÷8。比如,外频为133MHz的P4 CPU的FSB为533MHz带宽为533×64÷8=4.2GB/s。
小知识:相对于Intel的CPU提到的前端总线,AMD的处理器已经没有了前端总线的概念,因为其内存控制器是集成在处理器内部的,而Intel平台则还是在主板芯片组上。
内存的频率和带宽的关系可以用下面的公式来计算:内存带宽=内存倍速×内存频率×内存总线位宽÷8(SD内存倍速=1,DDR/DDR2内存倍速=2,双通道DDR内存倍速=4)。如DDR400的带宽为:2×200×64÷8=3.2GB/s。
大家根据上面给出的计算方法,应该可以很简单就找到适合自己CPU的内存,内存带宽必须大于或等于CPU所需带宽,没有瓶颈才能发挥CPU的性能。
品牌机多采用FSB 533MHz的CeleronD 340、FSB 800MHz的Pentium4 560和Pentium D820,而需要的内存带宽分别 为4.2GB/s、6.4GB/s和6.4GB/s。根据观查,当前低端的品牌机通常采用DDR266的内存,中端多采用DDR333的内存,而高端则采用DDR400的内存。前两种的品牌机都会造成计算机不同程度的性能下降。
Intel的CPU,从P4开始就对内存带宽有一定要求,为什么当年Intel非要推RamBUS来搭配P4?就是因为SDRAM和DDR RAM都不足以满足P4的需求。具体说一下,FSB为533的P4(外频为133),数据带宽需求为4.3GB/S(可以这么粗略估算,CPU带宽=FSB×8),FSB800的P4带宽需求为6.4GB/s。而同时期的DDR 400能提供的带宽也只有3.2GB/s(所以DDR400又叫PC3200内存,就是以带宽命名的),DDR266带宽为2.1GB/s,DDR333带宽为2.7GB/s,可见单根DDR内存满足不了FSB800的P4的需求,当CPU要数据时内存却传不过来足够的数据,造成CPU闲置。所以Intel费劲功夫硬性推广RamBUS来搭配自家的P4。但无奈RamBUS成本和产能都摆在那里,成了曲高和寡的东西。不得已Intel舍弃850芯片组,重新推出的支持SDRAM的845芯片组来搭配P4,早期买P4的可能就是这种主板,其实此时P4的性能被内存制约了。包括后来出的支持DDR单通道内存的845D、848等等芯片组,都没有完美解决问题。
后来出现了支持“双通道”的865芯片组才解决了问题,双通道的DDR266带宽正好满足FSB533的P4,而双通道的DDR400则满足了FSB800的P4。这个规律可以简单的推算为内存频率*2=FSB频率。如DDR 400的双通道内存可以满足FSB800的CPU,DDR2 533的双通道内存可以满足FSB1066的CPU,DDR2 667的内存双通到可以满足FSB1333的CPU,DDR2 800内存双通就可以满足FSB1600。
酷睿CPU,低端的仍旧是FSB800的(肉羊420、E2140、E4300等),此时一根DDR2 667的内存还满足不了CPU的需求(如果超频到800也可以),而1根DDR2 800的内存则正好能满足需求(或者2跟DDR400内存组双通道也可以,不过极少有这种主板)。 如果进行超频,比如E2140,当CPU外频从200超到266,FSB为1066,此时双通道的DDR2 533可以满足带宽,超频到333外频时则双通道的667可以满足带宽,超频到400外频时,此时FSB已是1600了,则只有双通道的DDR2 800内存才能满足CPU的需求。
由此可见,如果不超频,搭配FSB800系列,最好起步就是单根800的内存,如果购买的是FSB1066或1333的U,单根内存就彻底没法满足要求了,最好上双通道。如果还打算超频,比如大家梦寐以求的400外频,则最好一次就购入2条800的内存组成双通道。否则即使CPU频率上去了,实际使用中还是会因为内存带宽不足而拖CPU的后退。 800内存和667内存几乎一个价,所以就不要再考虑667内存了。
如果不知道自己的系统到底cpu和内存带宽是多少,可以运行一个叫EVEREST的软件,在“主板”-“主板”下可以查到2者的带宽情况。只要内存带宽高于前端总线(FSB)带宽就可以了。
部分CPU的FSB
FSB800赛扬4XX系列,奔腾E2XXX系列,酷睿E4XXX系列,还有很老的奔腾D系列。
FSB1066部分E6XXX系列(6300/6400/6500/6320/6420),E7XXX系列(7200/7300),X6(X6800),4核的Q6XXX系 列(6600/6700)。
FSB1333部分E6XXX系列(6550/6750/6850),E8XXX系列(8100/8200/8300/8400),4核的Q9XXX系列(9100/9300/9550)/QX9XXX(9650)/QX6XXX(6850),
补充:发现老有DIYer选用E7200/E8300之类CPU,却只搭配1根DDR2 800内存,这样会严重拖累系统的。请装机时注意避免。
注:对于AMD的CPU,因为内部整合了内存管理器,所以不需要经过北桥来读取内存数据,而是CPU直接读取数据,因此不像Intel的CPU这么需要强调带宽搭配问题,一般可以用单条2G DDR2 800来装机。