大约在两年前,很多人都在问2GB的内存是不是真的需要。之后随着应用程序要求的不断提升,以及内存价格的不断走低,很快4GB内存离我们的距离也非常近了。那么,4GB的系统内存我们真的需要吗?
微软的Vista操作系统配备2 GB的内存就足以满足需求了。如果你是XP系统,那么1GB的内存就已经非常好了。虽然现在一些大的应用程序以及最新的游戏会对内存提出较高的要求,但是实际上,还很少有哪款游戏会使用1.5G以上的内存空间。因此如果你的内存配置为2GB,那么在相当长的时间里都可以满足游戏的运行需求。
4GB内存与32 bits寻址带宽
PC的内存是通过处理器进行管理,而处理器对内存的管理是通过内存寻址总线实现。不同数据带宽的内存总线则意味着支持不同容量的内存,因此32位的内存总线可以寻址的容量为4GB。问题是,处理器的寻址能力并不是完全用于RAM寻址。
当前平台的输入输出是通过 MMIO (Memory Mapped I/O)实现的,相比较老的PMIO (Port Mapped I/O)这个方式要更简单一些。为了访问一个外围设备,部分的寻址能力需要被占据,因此处理器的内存寻址带宽并不会全部用于RAM寻址。
另一个存在的问题就是内存的使用。在32位Windows系统下,4 GB系统内存的使用率是非常低的。除了内存寻址问题以外,Windows系统会自动将内存寻址空间进行等分,其中2G为应用程序,2GB用于系统本身。幸运的是,你可以通过Windows XP的boot ini或者是 Windows Vista的 IncreaseUserVa对其进行修改,将3G内存应用于程序,1G用于系统。这里需要注意,只有“LargeAddressAware”程序才能够充分利用3G的系统内存。
解决办法: 64 bits!
为了避免这些限制,你需要对硬件与软件进行协调处理。在硬件方面,现在一些新的处理器都可以提供超过32 bit的内存寻址内存能力,比如Athlon 64 X2、Phenom 和Core i7为40 bit,这样内存寻址能力就可以达到1TB,而Core 2处理器的寻址带宽为36 bit,可以支持64 GB 寻址空间。
操作系统方面,则可以通过64 bit的操作系统来解决。好消息是由于AMD在2003年就推出了64位处理器,现在64位操作系统已经相当常见,同时硬件的驱动也没有任何问题。实际上,在64位操作系统环境下,64 bit应用程序可以利用所有可以获得的内存,而32 bit应用只能够充分利用2GB 或者4GB的内存