导致4G内存缩水的原因

导致4G内存缩水的原因

随着近期内存价格的不断下跌,目前主流1GB DDR2-667/800内存的价格仅为230元/430元,与半年前的市场价格相比降幅超过40%。另一方面,Windows Vista系统的逐渐推广在一定程度上也刺激了用户升级内存的需要。面对这样的市场环境,很多新装机用户都采用1GB X 2的内存搭配,而原本就配备512MB或1GB内存的老用户也纷纷将2GB内存作为升级的目标。部分硬件和游戏发烧友甚至不满足于2GB内存,而是选择了更为夸张的1GB X 4或者2GB X 2的内存搭配,此时内存容量将达到令人乍舌的4GB。

导致4G内存缩水的原因
内存芯片的下滑使得1G内存报出白菜价

如果单从容量上看,4GB内存无疑是很多玩家都渴望得到的梦幻搭配,不少游戏发烧友也深信4GB内存能够进一步提高配置的游戏性能。然而很多已经购买了4GB内存的硬件玩家在实际使用中却遭遇到了一个非常尴尬的问题,那就是明明安装了4条1GB内存或者2条2GB内存,为什么在操作系统中能够使用的内存却只有3.7G甚至3GB?最初不少玩家都认为是内存和主板不兼容或存在质量问题,可是经过三番五次更换硬件后,内存容量“缩水”的情况丝毫没有得到改变,这究竟是什么原因呢?

其实问题的根源并非内存和主板的硬件原因,而是这些用户在使用4GB内存之前没有充分了解使用4GB内存所需要的软硬件支持,更没有对自己的配置进行认真评估,只是盲目地认为使用4GB内存能够带来更好的系统性能和游戏性能。事实上,尽管目前很多主板和主流操作系统都宣称能够支持4GB内存,但使用起来却远不如大家想象的那样简单。那么,究竟哪些主板和操作系统能够支持4GB内存?与2GB内存相比,4GB内存对于提高配置的游戏性能是否有帮助?在接下来的文章中,笔者将为大家详细回答这些问题。

导致4GB内存缩水的硬件原因

简单说来,造成4GB内存缩水的原因主要可以归结为硬件和软件两种,其中硬件原因指的就是主板。在很多人的印象中,主板能够支持多大容量的内存是由主板上的内存槽数量决定的,这样的想法虽然有一定的逻辑但并不正确。事实上,真正决定主板支持内存容量大小的因素是芯片组可支配地址空间大校这里所说的地址空间就是系统中所有存储器的编码范围,这里面既包括有内存编码,也包括了主板BIOS、显卡BIOS、显存以及其他PCI设备的存储器编码。

以i945P主板为例,i945P芯片组只有32位地址总线,因此它对应的地址空间为4GB。表面上看似乎能够支持4GB容纳量的内存。但从下表中我们可以看到,芯片组支持的4GB地址空间中,有1MB分配给了DOS兼容存储区,1MB-2GB分配给了内存,而2GB-4GB的地址空间则优先分配给了PCI/PCI-E设备和BIOS、闪存区域,而这一区域也被Intel称作MMIO(存储器映射)区域。那么,内存容量缩水与地址空间、MMIO区域又有什么联系吗?

在i945P芯片组4GB的地址空间中,DOS兼容存储区占用的空间较小,对内存容量不会造成大的影响,但MMIO区域由于占用了大量的地址空间,势必会影响实际内存的使用——当用户使用3GB以下容量的内存时,内存地址与MMIO区域基本不会发生重叠,不会影响内存的正常使用;但用户使用4GB内存时,势必会与MMIO区域重叠,而此时系统会优先将空间分配给MMIO区域,那么重叠部分的内存将无法被系统正确识别,进而造成内存容量丢失。

说得再简单一点,假设芯片组的地址空间是一个4L的水缸,而内存、DOS兼容存储区和MMIO区域则是一定体积的水。只有当水的体积小于或等于4L时,这些水才能够被完全容纳在水缸中,一旦水的体积之和超过了4L的容积,那么溢出部分自然不能被利用。由于i945系列以及以前推出的Intel平台芯片组仅支持4GB地址空间,因此这些芯片组都不能顺利支持4GB内存。而在Intel平台上,nForce 550及以前推出的芯片组同样有类似的问题,不能解除4GB地址空间的限制。

经过以上介绍,相信大家已经基本了解了造成4GB内存缩水的硬件原因,那么,目前有哪些芯片组是能够顺利支持4GB内存的呢?在Intel平台上,Intel 965/975以及新推出的3系列芯片组都具有36位地址总线,地址空间达到了64GB,最大可支持8GB容量内存。而在AMD平台上,nForce 570/590以上级别的芯片组同样支持64GB地址空间和最大8GB内存。需要注意的是,虽然从规格上看这些芯片组似乎能够顺利支持4GB内存,但事实上在默认情况下,芯片组仍然不能解决MMIO区域占用系统内存的问题。这就需要借助到高端服务器领域的Memory Remapping(内存重映射)技术。

比如当用户在965P主板上使用4GB内存时,位于4GB地址以下的MMIO区域仍然会占用部分内存空间,此时4GB的内存容量无法得到充分利用。通过内存重映射技术,我们可以将MMIO区域重新影射到4GB地址以上的空间,此时4GB以下地址将完全留给内存使用,保证所有内存都能够被系统正确识别。那么,我们应该如何开启内存重映射技术呢?一般说来,基于Intel 965/975、nForce 570/590及以上级别芯片组的主板在BIOS中都提供了类似“Memory Remapping Feature”这样的选项,大家只需设置为“Enable”即可启用此项功能。