论文部分内容阅读
内存价格越来越便宜,单条内存的容量也逐渐变大,加上Vista操作系统的刺激,用户装机或者升级时搭配的内存容量也越来越大。随着单条1G8的内存条成为市场的主流容量,电脑搭配2GB内存已经不是什么新鲜事。在用户享受大容量内存带来的高性能的同时,问题也随之而来……
内存容量减半
笔者新配的电脑,采用的是华硕的P5GZ-MX主板,Intel945GZ芯片组,搭配的是两条512MB的DDR2667组成双通道1GB内存,后来因为安装Vista操作系统,打算把内存升级到2GB,于是又购买了两条单条单面1GB的DDR2667内存,可是插上两条1GB的内存之后,在系统启动自检的时候发现内存容量只有1024MB,在BIOS中的系统信息里面看仍然只有1GB内存,另外1GB内存到哪里去了呢?取下一条1GB的内存,系统也能够识别到1GB内存,换另外一根内存,结果也是一样,看来不是内存条本身的质量问题。后来上网,发现这个问题还不是个别现象,为什么会出现内存只能识别一半的问题呢?而且问题往往发生在一些低端的芯片组主板上,这些主板通常只有两条DIMM。通过笔者对Intel945GZ芯片组技术文档的仔细研究,发现这个问题其实和内存Bank的概念有关,在内存单条容量增大的同时,尤其值得初学者注意。
何为内存Bank
对于内存Bank的概念,有的说法是单面就是单Bank,双面就是双Bank,这样的说法有一定的道理,但是并不是绝对准确。Bank的概念还分为逻辑Bank和物理Bank。其中逻辑Bank是芯片内部寻址的阵列,在一个内存颗粒中就分为若干个逻辑Bank,和使用者的关系并不十分密切。而物理Bank和逻辑Bank的概念却完全不一样,是指北桥芯片组内存控制器到内存的通道,通常位宽为64bit,芯片组通常支持4~8个物理Bank。
识别内存的物理Bank数
对应到内存,我们再来看看如何识别内存条的物理Bank数。现在市面上的内存条以单条1GB为主流,又分为单面和双面的内存条,其中单面通常是采用8颗128Mx8bit颗粒,双面采用的是16颗64M×8bit的颗粒,那么单面的内存条的位宽就是8bit×8=64bit,双面的内存条的位宽就是8bit×16=128bit,也就是说,现在单条1GB的内存,单面的大多是1个物理Bank,双面的大多是2个物理Bank,至于512MB的内存,由于通常采用单面设计,所以和双面1GB的情况类似,不过Bank数量减半,仅为1个物理Bank。
为何容量会减半
在以前的一些主板上,内存插槽在插满的情况下,部分内存容量不能识别,就是因为内存条的物理Bank数超出了芯片组支持的物理Bank数量。这样的问题在主板有多个内存插槽,并且全部插双面内存条时经常会遇到。
不过单面的1GB内存条仅仅占用1个物理Bank,为什么在支持4个物理Bank的Intel 945GZ芯片组主板上插满两条单面的1GB内存时,仍然只能识别出一半的容量呢?两条单面的1GB内存才占用2个物理Bank,应该不会是因为芯片组支持的物理Bank数不够而导致部分内存容量不能识别。其实内存容量减半还和芯片组的内存处理方式有关,在查询了Intel945GZ的技术资料之后,发现在双通道模式下,该芯片组每个物理Bank的最大容量为512MB(每个通道可包含2个物理Bank,最大容量为1024MB),因此,理论上可以实现最大2GB的内存容量。由于笔者使用的单面1GB内存仅有1个物理Bank,受到512MB内存容量的限制,因此在插满两条内存时,每个通道的内存只能识别到一个物理Bank的容量,也就是只能识别出512MB。这也是内存容量减半的直接原因。
内存容量减半的解决办法
看到这里,解决的办法已经呼之欲出了。只要我们使用具有2个物理Bank的内存条来组建双通道,即使用双面1GB的内存条,此时,每条通道就拥有2个物理Bank,就可以识别到1GB的容量,实现最大容量为2GB内存,而不用担心内存容量丢失一半。笔者也是更换了两条双面1GB内存条之后,让Intel 945GZ实现双通道2GB内存。如果遇到类似的问题,不妨留意一下内存的物理Bank,而且由于这个问题受芯片组的限制,通过更新BIOS等办法不能解决。另外,在选择内存条时不妨看看主板说明书,通常都会注明兼容的内存条和对应的搭配模式。
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文
内存容量减半
笔者新配的电脑,采用的是华硕的P5GZ-MX主板,Intel945GZ芯片组,搭配的是两条512MB的DDR2667组成双通道1GB内存,后来因为安装Vista操作系统,打算把内存升级到2GB,于是又购买了两条单条单面1GB的DDR2667内存,可是插上两条1GB的内存之后,在系统启动自检的时候发现内存容量只有1024MB,在BIOS中的系统信息里面看仍然只有1GB内存,另外1GB内存到哪里去了呢?取下一条1GB的内存,系统也能够识别到1GB内存,换另外一根内存,结果也是一样,看来不是内存条本身的质量问题。后来上网,发现这个问题还不是个别现象,为什么会出现内存只能识别一半的问题呢?而且问题往往发生在一些低端的芯片组主板上,这些主板通常只有两条DIMM。通过笔者对Intel945GZ芯片组技术文档的仔细研究,发现这个问题其实和内存Bank的概念有关,在内存单条容量增大的同时,尤其值得初学者注意。
何为内存Bank
对于内存Bank的概念,有的说法是单面就是单Bank,双面就是双Bank,这样的说法有一定的道理,但是并不是绝对准确。Bank的概念还分为逻辑Bank和物理Bank。其中逻辑Bank是芯片内部寻址的阵列,在一个内存颗粒中就分为若干个逻辑Bank,和使用者的关系并不十分密切。而物理Bank和逻辑Bank的概念却完全不一样,是指北桥芯片组内存控制器到内存的通道,通常位宽为64bit,芯片组通常支持4~8个物理Bank。
识别内存的物理Bank数
对应到内存,我们再来看看如何识别内存条的物理Bank数。现在市面上的内存条以单条1GB为主流,又分为单面和双面的内存条,其中单面通常是采用8颗128Mx8bit颗粒,双面采用的是16颗64M×8bit的颗粒,那么单面的内存条的位宽就是8bit×8=64bit,双面的内存条的位宽就是8bit×16=128bit,也就是说,现在单条1GB的内存,单面的大多是1个物理Bank,双面的大多是2个物理Bank,至于512MB的内存,由于通常采用单面设计,所以和双面1GB的情况类似,不过Bank数量减半,仅为1个物理Bank。
为何容量会减半
在以前的一些主板上,内存插槽在插满的情况下,部分内存容量不能识别,就是因为内存条的物理Bank数超出了芯片组支持的物理Bank数量。这样的问题在主板有多个内存插槽,并且全部插双面内存条时经常会遇到。
不过单面的1GB内存条仅仅占用1个物理Bank,为什么在支持4个物理Bank的Intel 945GZ芯片组主板上插满两条单面的1GB内存时,仍然只能识别出一半的容量呢?两条单面的1GB内存才占用2个物理Bank,应该不会是因为芯片组支持的物理Bank数不够而导致部分内存容量不能识别。其实内存容量减半还和芯片组的内存处理方式有关,在查询了Intel945GZ的技术资料之后,发现在双通道模式下,该芯片组每个物理Bank的最大容量为512MB(每个通道可包含2个物理Bank,最大容量为1024MB),因此,理论上可以实现最大2GB的内存容量。由于笔者使用的单面1GB内存仅有1个物理Bank,受到512MB内存容量的限制,因此在插满两条内存时,每个通道的内存只能识别到一个物理Bank的容量,也就是只能识别出512MB。这也是内存容量减半的直接原因。
内存容量减半的解决办法
看到这里,解决的办法已经呼之欲出了。只要我们使用具有2个物理Bank的内存条来组建双通道,即使用双面1GB的内存条,此时,每条通道就拥有2个物理Bank,就可以识别到1GB的容量,实现最大容量为2GB内存,而不用担心内存容量丢失一半。笔者也是更换了两条双面1GB内存条之后,让Intel 945GZ实现双通道2GB内存。如果遇到类似的问题,不妨留意一下内存的物理Bank,而且由于这个问题受芯片组的限制,通过更新BIOS等办法不能解决。另外,在选择内存条时不妨看看主板说明书,通常都会注明兼容的内存条和对应的搭配模式。
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文