新农首页 农业新闻 致富信息 农业技术 农业搜索 农药 电脑 网站地图

主板不支持大容量内存原因分析(2)

发布时间:2012-04-27  来源:东莞电脑维护网
摘要:586以上电脑的数据总线宽度都是64bit,即每次读取内存为64bit,SDRAM内存条的设计带宽也是64bit,内存条的带宽为条上各个内存芯片的带宽之和,基本条件为带宽之和应等于64bit或其倍数。假如出现了各个芯片位宽之和


  586以上电脑的数据总线宽度都是64bit,即每次读取内存为64bit,SDRAM内存条的设计带宽也是64bit,内存条的带宽为条上各个内存芯片的带宽之和,基本条件为带宽之和应等于64bit或其倍数。假如出现了各个芯片位宽之和等于128。则分成两个64位,当读取一个64位部分时,另一个64位部分就不能读取,通常很多厂家就分别将这两部分放在内存的两面上。这就造成了许多人的错觉:双面是两个BANK的,单面是一个BANK的。实际根本不能这样认识,比如大度256MB内存,尽管两面16个芯片,但是由于内存芯片的位宽是4位(32Mbit×4),所以必须要有4×16=64才能达到系统所要求的位宽。这时由于芯片大小的限制,不可能将16颗芯片都放在一面上,所以只能设计成双面。对于64Mbit芯片 (4M*16) 来说,芯片带宽16bit,8颗芯片带宽=16*8=128bit(即两个BANK),4颗芯片带宽=16*4=64bit(即一个BANK)。两个物理BANK的情况只有出现在位宽超出了64位的情况下(即位宽出现了富余),由于芯片组任一时刻只能处理一个64位,所以才分成两个物理BANK。今后随着新一代数据总线位宽的提高,也许CPU的胃口就不是一次只能64位数据了,可能是128位甚至更多。 

  另外我们常说的内存交错设置并不是指的物理BANK的交错。也就是说不是内存条双面的交错,而是指内存芯片内部逻辑BANK的交错,如果芯片有4个BANK,那么就可以进行4路交错,如果只有两个BANK就只能是二路交错。很多资料介绍的以内存条的单面或双面来决定交错是错误的,实际上就是混淆了物理BANK和逻辑BANK的区别。  

  三.有关内存BANK的几个常见问题释疑 

  我们透彻地了解了上面介绍的物理BANK和逻辑BANK的概念之后,就不难对目前有关动态内存的几个热点问题做出解释了。 

  1.大容量内存不能为某些主板正确识别原因 

  系统在启动时,主板的北桥芯片会侦测这些内存条的参数,如果果发现位宽不支持,则终止检测,系统就挂了。因为位宽决定了一次CPU一次向内存芯片传递的数据量,只能一次64位数据并发。接下来检测BANK的单元格总数,如果这个单元格的数量超出了芯片组所支持的上限,那么就按芯片组所能支持的最大限度进行操作,在确定了数据深度/位宽之后再结合逻辑BANK数量,计算出芯片的实际可用总容量。换句话说逻辑BANK中的一些行与列可能就用不上了,假如芯片组对逻辑BANK数量不支持,那么多出来的逻辑BANK也将不起作用,后者的情况比较少见,现在的芯片组基本全是支持4BANK的。VIA的KT133芯片组甚至明确表示支持8BANK。 

  我们说内存识别出现问题,主要就是卡在芯片的这三个参数上,其中又以芯片的数据深度限制最为常见。事实上现在很多大容量内存不能为一些旧型号主板支持的主要原因就是芯片组对内存芯片的逻辑BANK数据深度有一定限制。我们知道芯片的容量主要由三个参数决定,也就是根据第一部分介绍的公式,首先是逻辑BANK的单元格数(数据深度),其次是逻辑BANK的位数。最后是逻辑BANK的个数。三者相乘得到芯片的容量,大家看到大度内存256MB为什么不能在440BX上用,就是由于BX芯片组只支持内存芯片的数据深度为4M,而不是8M,所以大度条子的内存芯片在BX板上被识别成4×4×4=64Mbit(8MB),而不是本来的8×4×4=128Mbit(16MB),现在很多大容量的内存没有在BANK数和位宽上提高多少,基本都是增加芯片的数据深度,而这是需要芯片组支持的,象INTEL的LX/BX/810/815等都只能支持最大4M(INTEL想让大家去选择P4+850+RDRAM的组合啊!司马昭之心,路人皆知!),而目前VIA系列的几款芯片组支持芯片任意位宽(尽管目前大部分内存芯片的位宽最高只有16位),单个逻辑BANK的容量(数据深度)最多支持32M的容量。从这点上大家也不难看出为什么现在VIA芯片组的主板这么火了。  

  2.内存条购买标准的修正 

  大家都知道这么一个购买常识:购买内存时尽量选用单面内存。但是这个经验是来自这样一个背景:许多不正规的小厂使用低容量芯片(比如已经过时16Mbit)来制造目前使用的高容量内存条,由于单个芯片容量小,为了达到较大的内存条容量,必然要增加芯片数目,而且这些过时的芯片很可能是一些翻新货,并且芯片之间电气参数的一致性也很差。不过根据分析更准确地讲购买原则应该:是选择单物理BANK的内存。以前由于大多数单面内存都是单BANK内存,所以大家一直就是这个说法,实际上通过前面的分析我们知道内存条的面数与物理BANK数是无关的。单个物理BANK,内存只要取一组64位数据,而不需要再切换到另外一个BANK读去另外一组64位数据,切换的时间省去了,性能必然有提高。目前由于一个DIMM插槽最多支持两个物理BANK,BIOS设置中是对同一个内存插槽的两个BANK同时进行速度调节的,比如BANK 0/1 DRAM Timing;BANK 2/3 DRAM Timing;BANK 4/5 DRAM Timing选项。,所以我们在选择内存的时候应该根据内存条上芯片的编码,确定内存条是单BANK还是双BANK,排除下面讲到的DIMM插槽信号走线的影响,一根双BANK的内存条与两根单BANK的内存条在性能上是没有多少差别的。能用一个插槽不要使用两个插槽的说法是没有依据的。总体上讲3个DIMM插槽在总容量满足要求的情况下,使用BANK的数目愈少愈好。千万不要出现使用大量低容量芯片组装的条子占用3个DIMM全部6个BANK的情况。 

  3.DIMM插槽超频性能不一致与内存BANK无关 

  前面我们说了尽量减少DIMM插槽的使用,但是有时从保护已有投资考虑,以前购买的低容量内存又不好丢弃,所以有时可能还会出现同时使用三个DIMM插槽的情况,但需要注意的是这时不一定同时使用全部6个BANK,很可能只使用了3个BANK。很多人发现这三个DIMM插槽所允许的最大速度是不同的(VIA主板BIOS允许分别对每个DIMM插槽进行速度调节),一般DIMM2最高,DIMM1其次,DIMM3最差。这与内存条的BANK有无关系呢?根据前面分析,笔者认为无关,这主要与内存BANK控制信号在主板上的走线有关,很多有4个DIMM插槽的BX主板,由于BX主板最大只能支持6个BANK,所以DIMM3与DIMM4的信号走线是共享的,因此导致DIMM2与DIMM3走线设计不一致而导致两者的超频性能相差极大。这也是一些内存甚至无法用在DIMM3和DIMM4插槽上的主要原因。那么DIMM1为什么超频性能还可以呢?主要是主板BIOS或北桥芯片检测内存时是按照BANK编号的顺序进行的,他们要求第一条内存必须插在DIMM1上,所以设计时对其进行了一些电路上的优化。所有一切与内存的物理和逻辑BANK的结构和工作机理无关。 

打印 责任编辑:希望