Chinaunix首页 | 论坛 | 博客
  • 博客访问: 75277
  • 博文数量: 26
  • 博客积分: 90
  • 博客等级: 民兵
  • 技术积分: 141
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-02 00:30
文章分类
文章存档

2013年(1)

2012年(13)

2011年(12)

分类:

2012-02-15 09:59:54

CPU在一个传输周期内能接受的数据容量,我们称之为CPU数据总线位宽(单位:bit),目前的CPU数据总线位宽基本上都是64bit。传统系统为了保证CPU的正常工作,必须一次传输完CPU在一个周期内所需要的数据,也就是一次要传输CPU位宽容量的数据(多通道模式下情况有所不同)。

  控制内存与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主板的,对于其它主板尤其是非英特尔芯片主板,在结果上可能存些差异。

阅读(4700) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~