随着Intel P3x系列芯片组的发布,DDR3内存的普及日益临近,AMD K10系列处理器AM2+规格也正式支持DDR3内存,明年即将面临淘汰的DDRII内存是越来越便宜了。很多笔记本用户在提买笔记本的时候都把是否支持4G内存作为一个总要的衡量标准。官方资料里面仅仅支持2G内存的笔记本型号往往这些用户被无情的抛弃,不作为选择对象考虑,事实上我们真的有必要使用到4G内存么?与2GB内存相比,4GB内存对于提高笔记本综合性能是否有帮助?会在接下来的文章中,笔者将为大家详细回答这些问题。
从内存容量上看,4GB内存无疑是很多笔记本玩家都渴望得到的梦幻搭配,不少笔记本发烧友也深信4GB内存能够进一步提高配置的笔记本综合性能。然而很多花了大价钱(2G单条笔记本内存2007年7月售价一千二百多)提买4GB笔记本内存的用户在实际使用中却遭遇到了一个非常尴尬的问题,那就是明明安装了2条2GB笔记本内存,为什么开机无法点亮笔记本,黑屏?即使能够通过自检开机,在Windows XP操作系统中能够使用的内存却只有2.7-3.2GB?
开机无法点亮笔记本,是2G内存和主板不兼容问题,可是能顺利开机的笔记本,在经过三番五次更换硬件后,Windows XP系统下面内存容量“缩水”的情况丝毫没有得到改变,这究竟是什么原因呢?
其实问题的根源并非内存质量和主板的硬件原因,而是这些用户在贸然提买4GB内存之前没有充分了解使用4GB内存所需要的软硬件支持,更没有对自己的笔记本配置进行认真评估,只是盲目地认为使用4GB内存能够带来更好的系统性能和游戏性能。事实上,尽管目前很多笔记本和主流操作系统都宣称能够支持4GB内存,但使用起来却远不如大家想象的那样简单。那么,究竟哪些主板和操作系统能够支持4GB内存?简单说来,造成4GB内存缩水的原因主要可以归结为硬件和软件两种,下面笔者来给分别解析:
导致4GB内存缩水的硬件原因
硬件原因其实指的就是笔记本上的移动主板芯片组。在很多人的印象中,主板能够支持多大容量的内存是由主板上的内存槽数量*单条内存容量决定的,这样的想法完全不正确。事实上,笔记本大部分只有2根内存插槽,所以组成4G内存的唯一选择就是安装2根2G单条的内存(4G单条内存并没有上市),因为2007年4月以来的内存一直走低,相信已经又不少网友把自己笔记本的内存升级到了2G,但是其中至少三成用户在升级笔记本内存时候遇到了兼容性问题,安装2条1G内存往往导致笔记本不能睡眠唤醒,无法开机,无故自动重启等奇怪问题。
而笔记本主板对2G单条内存模块的兼容性要求比1G单条还要高不少。所以安装2条2G单条内存往往有必要在几个品牌产品之间选择一款跟自己的笔记本主板兼容的产品。实际情况是现在市场上2G内存现货寥寥无几,远没有像1G内存这样的替换余地,所以碰上不兼容问题基本上无法通过替换的方法很好的解决。
就算运气非常好,提买的4G内存在笔记本上能够正确的识别开机。我们又会面对操作系统里面识别不足4G内存的问题。为什么4G内存Windows XP仅仅报告3.2G甚至更少的2.77G呢?因为决定32位系统下面4G内存地址空间并不是仅仅是系统内存独占的。4G内存地址空间是系统中所有存储器的编码范围,这里面既包括有内存编码,也包括了主板BIOS、显卡BIOS、显存以及其他PCI设备的存储器编码。这是因为Intel x86平台中使用了名为内存映射I/O(MMIO)的技术。
提示:内存映射I/O是PCI规范的一部分,I/O设备被放置在内存空间而不是I/O空间。从处理器的角度看,内存映射I/O后系统设备访问起来和内存一样。这样访问AGP/PCI-E显卡上的帧缓存,BIOS,PCI设备就可以使用读写内存一样的汇编指令完成,简化了程序设计的难度和接口的复杂性。
Intel主板的内存映射官方PDF文档下载:点击下载
以i945P主板为例,i945P芯片组只有32位地址总线,因此它对应的地址空间为4GB。表面上看似乎能够支持4GB容纳量的内存。但从下表中我们可以看到,芯片组支持的4GB地址空间中,有1MB分配给了DOS兼容存储区,1MB-2GB分配给了内存访问,而2GB-4GB的部分地址空间则优先分配给了显卡帧缓存,PCI/PCI-E设备和BIOS区域,而这一区域也被Intel称作内存映射I/O(MMIO)区域。那么,内存容量缩水与地址空间、MMIO区域又有什么联系吗?
Intel TA 719文档给出的x86/x64系统典型内存地址分配表:
[tr=#ffffff][td=4,1]典型系统内存映射表[/td][/tr][tr=#ffffff][td=1,1,172]
系统资源
[/td][td=1,1,82]
占用容量
[/td][td=1,1,103]
4G内存可用
[/td][td=1,1,103]
3G内存可用
[/td][/tr][tr=#ffffff][td=1,1,172]BIOS
[/td][td=1,1,82]
1MB
[/td][td=1,4,103]
3.99 GB
[/td][td=1,4,103]
3.00 GB
[/td][/tr][tr=#ffffff][td=1,1,172]本地APIC
[/td][td=1,1,82]
4KB
[/td][/tr][tr=#ffffff][td=1,1,172]芯片组保留
[/td][td=1,1,82]
2MB
[/td][/tr][tr=#ffffff][td=1,1,172]IO APIC
[/td][td=1,1,82]
4KB
[/td][/tr][tr=#ffffff][td=1,1,172]PCI设备
[/td][td=1,1,82]
256MB
[/td][td=1,1,103]
3.84 GB
[/td][td=1,1,103]
3.00 GB
[/td][/tr][tr=#ffffff][td=1,1,172]PCI Express设备
[/td][td=1,1,82]
256MB
[/td][td=1,1,103]
3.58 GB
[/td][td=1,1,103]
3.00 GB
[/td][/tr][tr=#ffffff][td=1,1,172]PCI设备(可选)
[/td][td=1,1,82]
256MB
[/td][td=1,1,103]
3.33 GB
[/td][td=1,1,103]
3.00 GB
[/td][/tr][tr=#ffffff][td=1,1,172]显示帧缓存
[/td][td=1,1,82]
16MB
[/td][td=1,1,103]
3.31 GB
[/td][td=1,1,103]
2.85 GB
[/td][/tr][tr=#ffffff][td=1,1,172]TSEG
[/td][td=1,1,82]
1MB
[/td][td=1,1,103]
3.30 GB
[/td][td=1,1,103]
2.84 GB
[/td][/tr][tr=#ffffff][td=1,1,172]操作系统,BIOS,软件可以自由使用的物理内存
[/td][td=1,1,82]
[/td][td=1,1,103]
3.30 GB
[/td][td=1,1,103]
2.84 GB
[/td][/tr]
在i945PM/GM芯片组4GB的地址空间中,DOS兼容存储区占用的空间较小,对内存容量影响可以忽略不计,但MMIO区域由于占用了大量的地址空间,势必会影响实际内存的使用——当用户使用2GB以下容量的内存时,内存地址与MMIO区域基本不会发生重叠,不会影响内存的正常使用;但用户使用3GB以上内存时,势必会与MMIO区域重叠,而此时系统会优先将空间分配给MMIO区域,那么重叠部分的内存将无法被系统访问,进而造成内存容量丢失。
说得再简单一点,假设笔记本芯片组的内存地址编码空间是一根4米深的水缸,物理内存、DOS兼容存储区和MMIO区域则是一定体积的水,油,泥沙。其中泥沙(DOS占用)占了最底下的1厘米高度,油(系统设备MMIO区域占用)飘在水面上占了75厘米,剩下的这些水(可用内存部分)才能够被完全容纳在水缸中,一旦加起来水油的深度之和超过了4米,那么溢出部分自然不能被利用。
由于4GB芯片组地址空间的限制(32条地址线的限制),Intel 945系列及以前的芯片组、NVIDIA nForce Go C6100/C6510,ATI Xpress 1150M,这些芯片组无论如何都不能完全支持4GB内存。具体原因有三方面:其一是芯片组没有设计剩余地址总线来供操作系统来调配;其二是不支持Memory Remap技术,而物理内存的编址必须是连续的,不能被割断;其三是系统开机时必需先从4GB的顶端地址(FFFF_FFFFh)读取BIOS数据, 这是IA32架固嵬4GB地址空间的局限。
所以建议使用这些芯片组主板的用户不要安装4GB的内存,这样会有部分内存容量不能被操作系统所使用。
经过以上介绍,相信大家已经基本了解了造成4GB内存缩水的硬件原因,那么,目前有哪些芯片组是能够顺利支持4GB内存的呢?在Intel笔记本平台上,Intel PM965/GM965以及未来推出的P/G3系列芯片组都具有36位地址总线,地址空间达到了64GB。而在AMD平台上,M690T以上级别的芯片组同样支持64GB地址空间。
[tr=#ffffff][td=5,1]支持4G内存的笔记本芯片组一览表[/td][/tr][tr=#ffffff][td=1,1,122]
[/td][td=1,1,127]芯片组
[/td][td=1,1,110]地址总线
[/td][td=1,1,110]最大地址空间
[/td][td=1,1,113]最大内存容量
[/td][/tr][tr=#ffffff][td=1,1,122]Intel平台
[/td][td=1,1,127]Intel PM/GM965
[/td][td=1,1,110]36bit
[/td][td=1,1,110]64GB
[/td][td=1,1,113]8G
[/td][/tr][tr=#ffffff][td=1,1,122]AMD平台
[/td][td=1,1,127]AMD M690T
[/td][td=1,1,110]36bit
[/td][td=1,1,110]64GB
[/td][td=1,1,113]8G
[/td][/tr]
需要注意的是,虽然从规格上看这些芯片组似乎能够顺利支持4GB内存,但事实上在默认情况下,芯片组仍然不能解决MMIO区域占用系统内存的问题。这就需要借助到BIOS中的Memory Remapping(内存重映射)技术。
如图所示,在CPU寻址的物理空间中,MMIO空间仍然存在,然而,在实际插入的内存中,这部分MMIO空间对应的却是一部分重映射内存空间,在CPU想使用这部分内存的时候,CPU将寻址高于4GB内存的这部分空间,内存控制器再对其进行转换,再寻址到实际物理内存。
比如当用户在965P主板上使用4GB内存时,位于4GB地址以下的MMIO区域仍然会占用部分内存空间,此时4GB的内存容量无法得到充分利用。通过内存重映射技术,我们可以将MMIO区域重新影射到4GB地址以上的空间,此时4GB以下地址将完全留给内存使用,保证所有内存都能够被系统正确识别。那么,我们应该如何开启内存重映射技术呢?一般说来,基于Intel GM965/PM965、AMD M690T及以上级别笔记本芯片组的主板在BIOS中都提供了类似“Memory Remapping Feature”这样的选项,大家只需设置为“Enable”即可启用此项功能。
有些笔记本BIOS设置里面没得这个选项,那它多半是默认一直开启的,可以不用管它。如果很不幸BIOS设置没有这个选择而默认又没有开启。那只建议使用至多2G内存。
导致4GB内存缩水的软件原因
除了芯片组方面的原因外,不同版本的操作系统对内存容量的支持也不尽相同,这就是我们所提到的造成4GB内存缩水的软件原因。从下表中我们可以看到,虽然Windows XP系统号称最大可支持4GB容量的内存,但实际上即使在主板打开内存重映射技术的前提下,Windows XP系统仍然不能完全识别4GB容量的内存。
微软给出的官方解释是因为32位驱动和软件兼容性支持,微软的技术文章地址见:Windows XP Service Pack 2由系统属性对话框和系统信息工具报告 RAM 的量小于您安装的容量
Windows VISTA 32位系统情况也跟XP类似,也有只有当用户使用类似Windows Server 2003这类面向高端服务器平台的32位系统由或者64位的Windows XP/Vista系统时,4GB内存的限制才会被完全解除。
操作系统支持,要是64位操作系统,就支持4G以上内存。32位系统要真正完全支持物理地址扩展的系统才支持。
以下是支持4G以上内存的系统,大家确认一下,以免因为系统不支持浪费了内存。
[tr=#ffffff][td=1,1,284]操作系统版本
[/td][td=1,1,284]最大支持内存
[/td][/tr][tr=#ffffff][td=1,1,284]Windows 2000 Advance Server SP4
[/td][td=1,1,284]8-32 GB
[/td][/tr][tr=#ffffff][td=1,1,284]Windows Server 2003 Enterprise R2
[/td][td=1,1,284]32-64GB
[/td][/tr][tr=#ffffff][td=1,1,284]Windows XP x64 Edition
[/td][td=1,1,284]32GB
[/td][/tr][tr=#ffffff][td=1,1,284]Windows Server 2003 x64 Edition
[/td][td=1,1,284]64-512GB
[/td][/tr][tr=#ffffff][td=1,1,284]Windows Vista x64 Edition
[/td][td=1,1,284]8-128 GB
[/td][/tr]
从上面可以看出,希望兼容最多游戏软件,又要4G内存支持的笔记本用户。最理想是安装32位Windows Server 2003。因为有接近Windows XP的兼容性。同时可以识别出超过8G的内存。Windows 2000已经逐渐被淘汰,64位系统,Windows VISTA虽然版本更新,但是驱动和软件兼容性远远不如32位版Windows Server 2003。
4G内存系统实际性能分析
经过前面的分析,相信大家对于4GB内存在实际使用中容量缩水的原因以及使用4GB内存时需要注意的问题已经有了初步的了解。看到这里,也许有网友会提出这样的观点:“虽然使用4GB内存需要大费周折,但如果能够明显提升笔记本电脑的系统整体性能,再麻烦我也愿意。”那么,4GB内存在实际使用中相对于是否能够有效笔记本电脑的系统性能呢?下面笔者在结合评测数据和自己的使用体验为大家进行简要的对比分析。
以大家非常熟悉的网络游戏《魔兽世界》为例。当系统使用1GB内存时,游戏载入较为缓慢,进入游戏后一段时间内画面帧数不连续,游戏运行在主城过程中有较为明显的停顿感。从截图中可以看到游戏虽然平均fps很高,但是最小fps很低,这时候用户会有卡的感觉。
将系统内存升级至2GB以后,游戏载入时间明显缩短,进入游戏后仅有很短暂的时候会出现帧数不连贯的现象,游戏过程中始终能够保持较为流畅的速度。而在系统内存容量增加至4GB后,此时在Windows XP系统中能够识别的内存容量只有3.25GB,为了完全使用4G内存,笔者采用了Windows VISTA Ultimate x64 Edition系统。运行同样的《魔兽世界》场景,系统载入时间与2GB内存基本相当,进入游戏后同样有短暂的不连续感,游戏帧数与使用2GB内存时没有明显差别。随后笔者又以《科林麦克雷·尘埃》作为测试对象,结果与《魔兽世界》基本一致。
通过对上述现象进行分析我们可以清楚地看到,当内存容量从1GB升级至2GB时,系统的游戏性能得到了明显提升,载入时间和游戏速度都得到了很大的改善。不过在将内存容量增加至4GB以后,笔记本电脑的游戏性能与2GB内存时基本持平。换句话说,使用4GB内存对于提升游戏性能的帮助微乎其微。事实上,由于在Windows XP/VISTA等32位操作系统中,单个进程可调用的内存只有2GB左右,所以4GB内存是无法在大型软件和游戏中被充分利用。
进一步进行应用软件测试,笔者在运行着《魔兽世界》的情况下,切换出系统,启动PhotoShop CS,将分辨率为3072*2048 72dpi的PSD图片文件插值到300dpi,然后复制图层。1G物理内存在复制第三个图层的时候开始笔记本开始停止响应,2G物理内存情况下复制第六个图层的时候笔记本开始停止响应。等到系统恢复可操作时候,《魔兽世界》已经掉线。4G物理内存复制到第十个图层,系统依然可以正常操作。
实际测试表明,只有在高端商用或专业设计等经常涉及多程序同时运行的复杂环境中,4GB内存在容量上的优势才能得到较好的发挥;而在运行单一程序时(包括游戏和其他应用程序),受32位操作系统的制约,4GB内存的性能表现与2GB内存基本处于同一水平。要解决单一程序访问内存容量的限制,用户只能选择更高级的32位或64操作系统。
综合以上分析,我们可以得出以下结论:由于Intel 945PM/GM、NVIDIA C6100/C6150,ATI X1150M及以前推出的芯片组无法解决4GB地址空间的限制,因此正在使用这主板的用户使用4GB内存必然会造成部分内存容量无法被操作系统识别,损失的容量大约在750MB甚至1GB之间。另外,从软件来看,虽然目前主流的32位Windows XP/Vista系统从理论上能够支持4GB内存,但实际上他们仍然不能对4GB内存提供完美的支持,这同样会造成部分内存容量的“丢失”。因此,就目前的主流笔记本配置来看,尚不能满足4GB物理内存的最佳硬件要求。
另一方面,虽然一部分高端用户可以通过提买最新的AMD和迅驰4笔记本、更换操作系统等一系列手段让笔记本电脑完全支持4GB内存,但一般游戏,视频,家用娱乐应用对大容量内存的利用也远不如我们想象的那样充分。在实际使用当中,1GB容量内存已经能够很好地满足大部分主流游戏的运行需要;即使是在Windows VISTA下运行《魔兽世界》、《科林麦克雷·尘埃》这类场景较大、模型较多的大型3D游戏,对内存的实际使用容量也只是在2GB左右。换句话说,就目前和未来一段时间的应用来看,2GB内存已经能够胜任包括VISTA下各种游戏的实际需要。与超过2GB的内存容量相比,处理器性能、显卡核心的性能以及显存容量、显存带宽等因素才是影响游戏,高清视频性能的瓶颈所在。
当然,实际测试表明4GB内存对于提高系统在复杂应用环境(如出版级的图形处理)中的性能还有一定帮助的。但大家在选择4GB内存之前必须要做好相应的准备:
一、在现有的32位Windows XP/Vista系统中,4GB内存不可避的存在一些兼容性问题或者出现内存容量丢失的情况;建议采用Server 2003或者64位系统。
二、使用完4G完整容量,笔记本主板BIOS必须支持内存重映射技术。并且是Intel 965系列,AMD M690T或者NF570 MCP(笔记本尚未推出)以上北桥芯片组。
满足这些条件,才能充分利用上4G内存,不会造成内存容量和资金的浪费。 |