用好Athlon64的双通道内存

应用百分百

随着Athlon64处理器价格的不断下调,不少用户选择了支持双通道内存的Socket939接口的Athlon64。Socket939 的Athlon64与众不同的地方就是自身集成了内存控制器,而将内存控制器集成到CPU内部有一个重要目的——尽量减少内存延迟,但这也让它对内存的品质和搭配提出了较高的要求。我们在使用怎样设置才能让Athlon64平台得到最佳的内存性能呢?

一、影响内存速度的关键

AMD采用了“牺牲速度换取稳定”的方法,在内存控制器中引入了对内存Command Rate(译为首命令延迟,简称CMD Rate)的控制。这个参数的含义是对行物理Bank进行选择后发出具体寻址的行激活命令的时间,以时钟周期为单位。平时我们在查看一些内存的延时信息时,会看到内存参数以如下方式书写: CAS 2.5-3-3-7-1T。前面的四个数字是我们讨论得较多的内存CL(列地址脉冲反应时间)、Trcd(RAS到CAS延时)、Trp(行预充电时间)、Tras(行地址脉冲反应时间)。而1T就是Command Rate的参数。一般我们还能见到2T,2T的延时要比1T长。Command Rate并不是什么新的东西,只不过在以前的主板BIOS里很难见到有关的选项而已。

按AMD的说法,当内存模组使用1T Timing与CPU外频同步工作在双通道模式下时就可获得最佳内存性能。不过,当主板上内存模组增多时,内存控制器的负载也会增加,命令间隔过短可能会影响内存稳定性。如果发生不稳定的情况,AMD则建议用户将内存设在2T Timing上。现在大多数K8主板都有相关的选项,用户可以自己调节。此外 Command Rate参数的设置还与内存Bank数有关。在双通道K8平台上,如果用户在两个内存通道中装入的内存Bank数不对等(简单说如单双面内存混插、同时插三条内存等这些非对称性双通道),那么CPU会将Command Rate延时默认设在2T上,甚至将内存降频工作。当在主板所有的DIMM槽上都装满了内存,就算Bank数对等,也只能使用2T Timing。所以用户必须注意内存的搭配。因为这并不是“主板挑内存”,所以无法通过更换主板来解决。

二、性能测试比较

那么1T和2T对系统性能的影响有多大呢?那就用测试来说明吧。

测试平台

CPU:Athlon64 3200+(939)

主板:微星K8N Neo2-Platinum(nForce3 Ultra)

内存:Kingston HyperX PC3200UL 256MB×2

A-DATA Vitesta DDR400 256MB×2

显卡:GeForce 6800GT 256MB GDDR3

硬盘:迈拓金钻九代120G PATA/2M

电源:全汉FSP400-60THN-P

系统与驱动:WindowsXP SP2、NVIDIA ForceWare 71.24WHQL、NVIDIA ForceWare 6.14Beta(芯片组驱动)

微星K8N Neo2-Platinum主板对内存Command Rate延时的选项“1T/2T Memory Timing”有1T、2T、Auto三挡。当设为Auto时Command Rate延时将由内存控制器自行决定。Kingston HyperX PC3200UL为双面内存,采用三星-TCCD颗粒。A-DATA Vitesta DDR400则为单面内存,采用Powerchip(力晶半导体)的颗粒。

默认频率测试

成绩见表1,当在相同频率和CL值的内存工作在2T Timing时,使用Sisoft sandra 2004 Memry Benchmark测得的内存带宽比工作在1T Timing时足足少了近700MB/s。只是对内存的一个参数进行调整,性能就相差这么大,确实让人吃惊。虽然3DMark03得分对CPU和内存不是特别敏感,但这个差距还是给最后的成绩带来了400分的影响。而Vitesta DDR400的CL延迟虽然比HyperX UL要高,但就几项测试成绩来说影响远远没有2T Timing大。

超频测试

由于Athlon64拥有降低倍频的能力,在不改变CPU主频的情况下可以将内存频率提高。与CL值等参数相同,增大Command Rate延时可以在一定程度上增强内存的可超性。

测试结果如表2所示。笔者手中的这对金士顿HyperX UL内存在CL=2.5、内存电压为2.8V时能达到270MHz-1T(等效DDR540,HyperTransport总线倍频为3×)。在将Command Rate延时设为2T后,更是能够超到夸张的302 MHz,内存超频能力强固然让人高兴,但是此时内存带宽比270MHz-1T少了差不多600MB/s, 3DMark03得分受此影响仍然落后 。虽然威刚Vitesta DDR400极限频率只有233MHz,但在1T下内存带宽和302 MHz-2T的金士顿HyperX UL相差不大。

内存混插测试

在内存混插测试中,内存的Timing均设为2.5-3-3-7 Auto。也许是因为两条内存差别过大,系统工作很不稳定,不论怎么调换内存在插槽上的顺序或是增加DIMM的电压,都不能让测试平台稳定工作。笔者不得不放弃进行性能测试的打算。当笔者把Command Rate延时强行设为1T时,测试平台不能启动;当使用四条内存组双通道时,测试平台能够启动但自检出错。最终测试结果见表3。

4-e6-5-b.jpg

三、小结

由上面的测试可见, Command Rate延时对于内存性能的影响是巨大的,笔者建议大家在对Athlon64平台进行内存优化时,首先要尽量能够让内存工作在1T Timing上,其次才是CL值等参数的优化;在组建双通道时尽可能选择同品牌同一系列相同容量的内存,因为这样能够在很大程度上减少一些莫名其妙的问题的发生概率。