主板不支持大容量内存的原因

跟着内存价格的下调,不少网友都为自己的机械设置设置设备摆设摆设了高容量内存,增大年夜内存容量不只可以前进读写速率,而且会适当的前进系统机能;然则,单条大年夜容量内存在一些主板上(光阴对照长的主板)不是无法识别,便是识别差错(容量识别差错)。详细是什么缘故原由造成的呢?首先我们懂得一些内存的常识,信托网友会在此中找到谜底的。

一.内存芯片的逻辑BANK

我们知道主板上应用的32MB/64MB/128MB的内存条都是由多少内存芯片焊接在4层或6层电路板上组成的,是以首先我们必须对内存芯片的内部布局有个清楚的熟识

在芯片的内部,内存的数据因此位(bit)为单位写入一张大年夜的矩阵中,每个单元我们称为CELL,只要指定一个行(Row),再指定一个列(Column),就可以准确地定位到某个CELL,这便是内存芯片寻址的基滥觞基本理。这个阵列我们就称为内存芯片的BANK,也称之为逻辑BANK(Logical BANK)。因为工艺上的缘故原由,这个阵列弗成能做得太大年夜,以是一样平常内存芯片中都是将内存容量分成几个阵列来制造,也便是说存在内存芯片中存在多个逻辑BANK,跟着芯片容量的赓续增添,逻辑BANK数量也在赓续增添,今朝从32MB到1GB的芯片基础都是4个,只有早期的16Mbit和32Mbit的芯片采纳的照样2个逻辑BANK的设计,譬如三星的两种16MB芯片:K4S161622D (512K x 16Bit x 2 BANK)和K4S160822DT(1M x 8Bit x 2 BANK)。芯片组本身设计时在一个时钟周期内只容许对一个逻辑BANK进行操作(实际上芯片的位宽便是逻辑BANK的位宽),而不是芯片组对内存芯片内所有逻辑BANK同时操作。逻辑BANK的地址线是通用的,只要再有一个逻辑BANK编号加以差别就可以了(BANK0到BANK3)。然则这个芯片的位宽抉择了一次能从它那里读出若干数据,并不是内存芯片里所有单元的数据一次整个能够读出,下图便是一个容量为32MB(256Mbit)内存芯片内部逻辑BANK布局示意图,从中你可以更清楚逻辑BANK的布局。

可以看出,DQ数据输入/输出线只有8根而不是32根,可以发明4个BANK是分时事情的,任一时候只可能有一个BANK的数据被存取,0-3是它们的编号。每个逻辑BANK有8M个单元格(CELL),一些厂商(比如今世/三星)就把每个逻辑BANK的单元格数称为数据深度(Data Depth),每个单元由8bit组成,那么一个逻辑BANK的总容量便是64Mbit(8M×8bit),4个逻辑BANK便是256Mbit,是以这颗芯片的总容量便是256Mbit(32MB)。

内存芯片的容量是一样平常以bit为单位的。比如说32Mbit的芯片,便是说它的容量是32Mb(b=bit=位),留意位(bit)与字节(Byte)差别,这个芯片换算成字节便是4MB(B=Byte=字节=8个bit),一样平常内存芯片厂家在芯片上是标明容量的,我们可以芯片上的标识知道,这个芯片有几个逻辑BANK,每个逻辑bank的位宽是若干,每个逻辑BANK内有若干单元格(CELL),比如今朝今朝64MB和128MB内存条常用的64Mbit的芯片就有如下三种布局形式:

①16 Meg x 4 (4 Meg x 4 x 4 banks) [16M╳4]

②8 Meg x 8 (2 Meg x 8 x 4 banks) [8M╳8]

③4 Meg x 16 (1 Meg x 16 x 4 banks) [4M╳16]

表示措施是:每个逻辑BANK的单元格数×逻辑BANK数量×每个单元格的位数(芯片的位宽)。芯片逻辑BANK位宽今朝的工艺水平只能最多做到16位,是以大年夜家看到险些所有的芯片逻辑BANK位宽只可能4/8/16三者之一。曩昔16Mbit的芯片基础采纳的单个芯片两个逻辑BANK,然则到了64Mbit基础就都是4个逻辑BANK设计了,往后跟着临盆工艺水平的前进预计单个芯片8个以致16个逻辑BANK的呈现也不是没有可能.

二.内存条的物理BANK

平日主板上的每个内存插槽分为两段,这个大年夜家从VIA主板BIOS设置中的BANK 0/1 DRAM Timing选项很轻易推理获得,实际上也便是两个BANK,不过这里的BANK观点与我们前面阐发芯片内部布局时提到的BANK可不一样。简单地说这个BANK便是内存和主板上的北桥芯片之间用来互换数据的通道,今朝以SDRAM系统为例,CPU与内存之间(便是CPU到DIMM槽)的接口位宽是64bit,也就意味着CPU一次会向内存发送或从内存读取64bit的数据,那么这一个64bit的数据聚拢便是一个内存条BANK,很多厂家的产品阐明里称之为物理BANK(Physical BANK),今朝绝大年夜多半的芯片组都只能支持一根内存包孕两个物理BANK,然则针对某个详细的条子,很多人想当然,觉得每个DIMM插槽应用内存条的面数来区分占用几个BANK通道,单面的(16M,64M)只占用一个物理BANK,而双面的(32M,128M)则需占用两个物理BANK。实际上物理BANK与面数是无关的,PCB电路可以设计成双面和单面,也可把整个芯片(16颗)放在一壁上(至少从理论上是完全可能)。有些内存条单面便是一个物理BANK,但有些双面才是一个物理BANK,以是不能一概而论。前一阵闹得沸沸扬扬的大年夜度256MB内存条便是一个范例的例子,虽然是双面并多达16枚芯片,但仍旧是单个物理BANK的。要准确知道内存条现什物理BANK数量,我们只要要将单个芯片的逻辑BANK数量和位宽以及内存条上芯片个数搞清楚。各个芯片位宽之和为64便是单物理BANK,假如是128便是双物理BANK。今朝的芯片组最多支持2个物理BANK。以是内存厂家临盆的内存条都弗成能跨越2个物理BANK。CPU一次只能对一个物理BANK进行造访和操作(由于一个物理BANK是64bit的位宽),那么内存条要包管一个周期内向数据总线供给或接管64bit的数据,而这些数据都是分手存储在内存条的的芯片中。那么内存条中有多个内存芯片,这64位数据到底是有一个芯片供给照样由所有芯片每个供给一部分呢?我们照样以上面的那颗256Mbit的芯片为例,根据芯片组的事情道理,今朝还没有那家芯片临盆厂家做出位宽16位以上的芯片,以是现在的芯片组设计时都是要求内存条上每个芯片均承担供给数据的义务,也便是说内存条上的每个芯片都要要对这64位数据做供献,而那颗内存芯片的位宽是8位,是以用这个芯片组成内存条只必要8颗芯片即完成了64位数据并发义务,算下来,内存条的容量便是32 MB (256Mbit)×8=256MB的容量,要是是内存芯片的位宽是4位,那么必要的芯片数量必须是16颗,这时要是应用八颗位宽照样8位的64MB(512bit)芯片(单个芯片的总容量翻了一番)组装,只管内存条上的总容量达到了256MB的要求,照样因为位宽不敷是不能正常事情。要能事情就必须采纳16位位宽的64MB(512bit)芯片。

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的差别。

CPU一次只能对一个物理BANK进行造访和操作(由于一个物理BANK是64bit的位宽),那么内存条要包管一个周期内向数据总线供给或接管64bit的数据,而这些数据都是分手存储在内存条的的芯片中。那么内存条中有多个内存芯片,这64位数据到底是有一个芯片供给照样由所有芯片每个供给一部分呢?我们照样以上面的那颗256Mbit的芯片为例,根据芯片组的事情道理,今朝还没有那家芯片临盆厂家做出位宽16位以上的芯片,以是现在的芯片组设计时都是要求内存条上每个芯片均承担供给数据的义务,也便是说内存条上的每个芯片都要要对这64位数据做供献,而那颗内存芯片的位宽是8位,是以用这个芯片组成内存条只必要8颗芯片即完成了64位数据并发义务,算下来,内存条的容量便是32 MB (256Mbit)×8=256MB的容量,要是是内存芯片的位宽是4位,那么必要的芯片数量必须是16颗,这时要是应用八颗位宽照样8位的64MB(512bit)芯片(单个芯片的总容量翻了一番)组装,只管内存条上的总容量达到了256MB的要求,照样因为位宽不敷是不能正常事情。要能事情就必须采纳16位位宽的64MB(512bit)芯片。

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的布局和事情机理无关。

您可能还会对下面的文章感兴趣: