控制内存与CPU之间数据交换的北桥芯片也因此将内存总线的数据位宽等同于CPU数据总线的位宽,而这个位宽就称之为物理Bank(Physical Bank,简称P-Bank)的位宽。所以,传统的内存系统必须要组成一个P-Bank的位宽,才能使CPU正常工作,那么这个P-Bank位宽怎么得到呢?
每个内存芯片也有自己的位宽,即每个传输周期能提供的数据量。理论上,完全可以做出一个位宽为CPU数据总线位宽的芯片来满足P-Bank的需要,但这对技术的要求很高,在成本和实用性方面也都处于劣势。所以芯片的位宽一般都较小。目前常见的SDRAM内存芯片位宽多为16bit/8bit,为了组成P-Bank所需的位宽,就需要多颗芯片并联工作。对于16bit内存芯片,需要4颗(4×16bit=64bit)。对于8bit芯片,则就需要8颗了。
P-Bank其实就是一组内存芯片的集合,这个集合的容量不限,但这个集合的总位宽必须与CPU数据位宽相符。每个DIMM至少包含一个P-Bank的芯片集合,但是内存面数≠P-Bank数,只有在知道芯片位宽的情况下,才能确定P-Bank的数量,并非流传的所谓单面内存是有一个P-Bank,双面内存是两个P-Bank。
明白了P-Bank的意义,再看下内存的工作大体情况:
1、内存控制器首先要确定一个P-Bank的芯片集合,然后才对这集合中的芯片进行寻址操作。因此有一个片选的信号,它一次选择一个P-Bank的芯片集(根据位宽的不同,芯片数量也不同)。被选中的芯片将同时接收或读取数据。
2、对所有被选中的芯片进行统一的L-Bank
3、接着就是对被选中的芯片进行统一的行/列(存储单元)寻址。
4、找到了存储单元后,被选中的芯片就要进行统一的数据传输。
我们都知道,内存在读写操作中,存在着各种延迟(Delay)和潜伏期(Latency),比如常见到的tCL-tRCD-tRP-tRAS这些,但是我们常讨论的这些时序参数,都是发生在对L-Bank(逻辑Bank)的操作中,也就是发生在上面的第2-4步之中。
实际上,还有一个延迟,是发生在第1步和第2步之间的,即在选择一个P-Bank芯片集之后多少时间可以发出具体的寻址的L-Bank/行激活命令,称之为“首命令延迟”,也就是我们今天要讨论的Command Rate。
Command Rate有时被称之为CMD,从前面的描述可以看出,CMD是发生在对内存芯片读写操作之前的,它和内存本身的关系不大,更取决于芯片组的设计。和其它时序的单位一样,CMD的单位为时钟周期。显然也是越短越好。但当随着现在内存向高频率高密度高容量发展,内存控制芯片组的负载也随之增加,过短的命令间隔可能会影响稳定性。
在K8出现之前,Command Rate选项一般都不会在BIOS中出现,只能通过一些修改版BIOS对它进行设置。但随着K8内存控制器在功能和兼容性上的完善,Command Rate终于变成了主板BIOS中的标配。在随后的一些非英特尔主板芯片中都加入了Command Rate选项,虽然在名称上稍有差异。
CPU-Z能显示ATI Xpress200(RS480)主板Command Rate的设置 |
对比鲜明的是,英特尔主板芯片对Command Rate一直讳莫至深,至今都没正式放出这个选项。但各主板厂商凭借自身研发实力,纷纷在自己英特尔芯片主板BIOS中加入了CMD的设置。P5K-DELUXE是英特尔阵营中首款出现Command Rate设置选项的主板,目前Foxconn、等某些P35主板中也加入了CMD的设置选项。
英特尔主板阵营中,华硕P5K-DELUXE的0311版BIOS首现Command Rate选项 |
Command Rate的选项主要有1T和2T两个选项,T表示时钟周期。
虽然主板支持Commond Rate的选项,但在CPU-Z中,关于这一项,还是空白显示。
Command Rate到底对系统性能和稳定性有多大影响?带着这个问题,我们作了如下简单测试。
◆ 测试平台及说明
测试说明:
· 在BIOS中,将关于C1E和EIST的选项设为 disable
· 在BIOS中,将PCI Express的频率设为 100MHz
· 在BIOS中,将CPU电压设为1.5500V,北桥电压设为+0.100V,内存电压为2.5V,其它电压选项设为Auto
· 测试中,我们并未使用了风扇为内存作主动散热处理。
· 超频测试中,用SP2004来测试稳定性,通不过者作失败处理。我们见过许多媒体仅仅用是否通过Super PI测试来判定超频成功与否,Expreview的观点是这样是非常不严格和不负责任的。
· 性能测试中,CPU频率按默认值(即9*333MHz),内存频率为1000MHz。
· 性能测试中,关于内存小参选项,除了Command Rate外,其它参数设值如下:
◆ CMD 1T/2T性能测试
所有项目测试成绩的趋势如出一辙,即在相同条件下,无论是理论带宽测试,还是实际软件应用,Command Rate为1T时的性能要好于2T时的性能,但是这个优势是很微弱的,大概在1%-2%左右,这样的差别,也只有用测试数据才能看得出来。
◆ CMD 1T/2T稳定性测试
前面说过,随着内存向高频率高密度高容量发展,内存控制芯片组的负载也随之增加,过短的命令间隔可能会影响稳定性。我们通过寻找内存的极限频率来测试CMD 1T/2T对稳定性的影响。
和性能测试不一样,在稳定性测试中,内存的各个时序设置得更为苛刻,tCL-tRCD-tRP-tRAS分别为4-4-4-10。保持FSB/DRAM(2:3)比率不变,线性改变CPU外频,看在1T和2T下,内存能达到的最高频率。稳定性通过SP2004来测试。
在Command Rate为2T的情况下,内存最高能稳定达到1101MHz(此时CPU外频为367MHz):
内存在1101MHz时还很稳定(Command Rate=2T) |
再往上超,通不过SP2004的烤机:
内存在1110MHz时通不过SP2004测试(Command Rate=2T) |
然而在Command Rate为1T时,内存的稳定性下降很多,即便是在1022MHz时,也通不过SP2004的烤机,最多只能稳定于1005MHz,相比于2T下的稳定频率1101MHz,有近100Mhz的差距。
Command Rate=1T时,内存在1022MHz时都通不过SP2004测试 |
◆ 测试总结
我们再回顾一下,Command Rate是指在物理Bank片选之后,到逻辑Bank激活之间的间隔,通常称为“首命令延迟”。Command Rate这个选项在越来越多的主板BIOS中出现,尤其是英特尔阵营的主板用户也逐渐能选择Command Rate是1T还是2T了。
Command Rate只能选择是1T或2T,1T下的性能稍好于2T,领先幅度在1%-2%间,这对于狂热的性能追求者来说,是一个不错的可控参数。
最让我们应该关注的是,Command Rate 1T/2T对内存稳定性的影响,和性能上两者差距极小不同的是,稳定性的影响很明显,Command Rate为1T时,内存的稳定性大幅降低,直接表现为内存超频能力大降(2T时能超到1101MHz,1T时只能超到1005MHz)。显然和它带来的1%-2%的性能提升相比,内存频率的降低对性能损失更大。
Command Rate为1T时能给系统性能带来“百尺竿头,更进一步”的效果,但是如果它影响到了系统的稳定,还是将Command Rate设置为2T吧。
需要强调的是,以上测试结果是针对于华硕P5K Deluxe主板的,对于其它主板尤其是非英特尔芯片主板,在结果上可能存些差异。