32位系统玩不了大容量内存?
目前我们正处在硬件规格大爆炸的时代,CPU的频率在爆炸、显卡的规格在爆炸、硬盘的容量在飞涨、乃至内存的容量也都在飞速增长着。但是问题出在哪里?当我们插上8GB内存模组之后为什么在系统中看到能够使用的只显示3.5GB,其余的内存容量哪里去了呢?这就要从硬件和软件两方面来分析了。
从理论上来说,早期的主板芯片组(Intel i945P以及以前发布的主板芯片组)拥有32位地址总线,因此它对应的地址空间也为4GB容量,但在支持的4GB地址空间中,有1MB分配给了DOS兼容存储区,1MB-2GB分配给了内存,而2GB-4GB的地址空间则优先分配给了PCI/PCI-E设备和BIOS、闪存区域,而这一区域也被Intel称作MMIO(存储器映射)区域。
当用户使用3GB以下容量的内存时,系统会优先发配给内存调用,内存地址与MMIO区域基本不会发生重叠,不会影响内存的正常使用。但当用户使用4GB内存时,势必会与MMIO区域重叠,而此时系统会优先将空间分配给MMIO区域,那么重叠部分的内存将无法被系统正确识别,进而造成内存容量丢失。
当然,目前新推出的主板芯片组都已经具备了36位地址总线,一般最大可支持8GB到16GB容量的内存模组,因此,在硬件方面,4G内存大小已经完全可以调用。但为何我们仍然不能完全使用到4G内存呢?其实这是因为我们的操作系统根本无法支持超大容量的内存,3.5GB已经是微软32位系统的极限了,因为32位操作系统的内存寻址极限其实是2的32次方,这个数字计算出来就是4294967296字节,让我们换算一下,这就等于是4GB。
真的没有办法吗?不是,实际上我们可以通过两个办法来让自己的电脑支持超过4GB的内存。第一种方法是换用64位系统,这种方法虽然足够简单,但随之而来的问题也是足够明显的:由于系统不普及而带来的软件兼容性问题会给工作和娱乐带来极大不便。而第二种方法则是通过PAE内核来实现32位操作系统下大容量内存的识别和利用,但这种方法则会令内存寻址效率略为降低,通过手动操作即可完成PAE内核文件的修改,如果你懒得手动修改,那么还有一种更为简单的方法。
一款第三方补丁可以打破这一限制,操作起来也很简便,这款补丁的原理正是破解了Windows操作系统的PAE内核文件ntkrnlpa.exe,绕过ZwQueryLicenseValue API函数的许可限制,当然这样破解PAE内核的后果是内存执行效率会略为下降,但能使32位 x86 的 Vista/Windows 7支持超过3.6GB(显示为3.5GB)的物理内存,并且最大可以支持到128GB的容量,当然,前提是你的主板能够支持128GB内存的辨认。如何使用这款补丁,而通过PAE方式所得到的哪些内存容量究竟性能如何呢,这就是我们本次测试的目的所在,我们将在下面将这一并不复杂的过程揭秘,并通过测试了解破解前后的内存真实性能。
网友评论