加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Win7-32bit与4GB内存

(2010-08-09 14:23:39)
标签:

windows

7

win7-32bit

4gb内存

it

分类: Windows7攻略

内存,是电脑中重要的部件之一,之所以称之为“内”存,是相对于“外存”而言的。内存的另一个名字是“内存储器”(同样,“外存”即为“外存储器”),它的作用相当于CPU与外存储器(如硬盘、光盘、U盘等)的数据中转站,平时我们所运行的程序虽然都大都安装于上述的外存储器入硬盘中,但是当其运行时,是CPU将其调入内存然后再进行运算的,运算结束后在传输到外存储器中。由此可见,内存如同桥梁一样连接并维持着CPU与外存储器的运行,它的性能也直接关系到电脑的总体性能。而内存容量的大小,就是一个基本而且直接的判断内存性能的技术指标。在过去内存处在较小的水平时,大家总是追求更高的内存。然而,随着大内存时代的到来,一个问题出现了,就是32位操作系统对于内存的使用存在一个极限,例如Windows XPWindows 7中只能使用约3.25GB的内存。这个问题的源头还要从x86结构的硬件说起。

x86构架于1978年推出的Intel 8086中央处理器中首度出现, 8086在三年后为IBM PC所选用,之后x86便成为了个人计算机的标准平台,成为了历来最成功的CPU架构。前面提到CPU是运算在内存中的数据,而CPU对于内存的数据访问通过寻址方式完成。所谓寻址,从字面上看就像邮递员投递信件一样,需要一个地址,地址的分配过程叫做“编址”或者“地址映射”。这个过程就好像在日常生活中我们给每家每户分配一个地址门牌号。如此一来CPU才可以找到并使用内存中的数据。同时,CPU对内存的访问通过主板芯片组的地址线来进行,简单的说就是32条电线,通过高低电平的不同表示0或者1。假设这个CPU只有一条地址总线,那么它能找到的就是0或者1两个地址;如果有两条,能找到的就是00011011四个;以此类推,32条地址总线对应的寻址空间为2^324GB。这里就出现了一个问题,32CPU明明是刚好支持到4GB内存,为什么在操作系统中使用不了呢?大家常说的内存就是指安装在主板上的内存条,其实不然,在计算机的系统中,物理内存不仅包括装在主板上的内存条(RAM),还应该包括主板BIOS芯片的ROM,显卡上的显存(RAM)BIOS(ROM),以及各种PCIPCI-E设备上的RAMROM。而这些就与刚刚提到的编址有联系了,CPU所支持的4GB内存不仅仅是指内存条所包含的内存,也包括BIOS(ROM)PCI/PCI-E设备的存储器。所以在编址时0MB~物理内存顶端的地址分配给主板上安装的物理内存即通常所说的“内存条”,物理内存顶端~4GB的地址分配给 BIOS(ROM)PCI/PCI-E设备的存储器。这段地址空间称之为“MMIO” (Memory-Mapped I/O—I/O存储器映射)MMIO占用的地址空间在256MB1GB之间。因此当安装的内存条达到4G时,由于总共的“门牌号”只有4GB这么多,没有多余的地址分配给内存条上额外的空间了,所以只能使用大约3.25GB的内存。

随着技术的发展,x86架构的内存管理方式的弊病逐渐体现出来:由于MMIO占用的空间过于巨大——可以达到1GB以上,在一些4GB~8GB内存容量的服务器上损失就非常巨大,因为通常服务器需要大量的内存,而这部分内存很重要。从Pentium Pro开始,x86-32架构的地址线由32条增加到了36条,这使得CPU可以访问的内存空间达到了2^36即最高可支持64GB内存。因此,芯片组厂商们开始考虑采用一些技术来回收利用这部分丢失的MMIO内存空间,这就是“内存重映射”(Memory Remapping),通过这项技术,可以使CPU访问到高于4GB的内存。所以从硬件的角度来说,x86架构的CPU使用大于4GB的内存已经不是问题,如Windows server 200332bit版本支持使用32GB的内存。由于桌面操作系统一般用不到像服务器那样大的内存,所以在操作系统中对其进行了限制,并没有扩展为64GB的可用内存,仍旧沿用最初设计的3.25GB。即便是最近推出的新一代操作系统Windows7,它的32位版本在安装4GB内存后可用的也是3.25GB。那么有没有方法能够使32位的Win7使用到完整的4GB内存呢?目前常用的方式是使用一款叫做ReadyFor4GB的软件对系统内核进行破解从而使系统可以用到4GB内存,这种方法是否真的有效,下面将通过实验来验证。

这次测试使用的操作系统是Win7-32bit,安装内存为4GB。首先从资源监视器查看内存的详细信息。

Win7-32bit与4GB内存

运行Readyfor4GB,对系统内核进行破解并且进入破解后的系统,再次查看资源监视器的内存信息,可以看到已经发生了变化。

Win7-32bit与4GB内存

可以看到,破解后多出来的可用内存是原先的灰色部分即“为硬件保留的内存”。这部分的占用从1037MB变为了141MB,于是可用的内存总数变为了3955MB。但是在桌面的右下角出现了“测试模式”的水印。

Win7-32bit与4GB内存

并不是所有硬件都可以使用这个方法来使用为系统保留的内存,例如有些使用集成显卡的电脑虽然安装了4GB的内存,但是在资源监视器中显示“为硬件保留的内存”部分大小为0,这样是无法使用这种方法来使用空闲的内存的。

Win7-32bit与4GB内存

因为破解后使用的这部分内存再地址上并非是连续的,所以在一些硬件型号比较旧的电脑上由于功能不支持或者没有安装新版本的驱动,使用了这个软件还会出现系统假死以及不定时的蓝屏等现象。所以如果想使用4G或是4G以上的内存,最好的办法还是安装64位的操作系统。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有