您的位置:首页 > 其它

Windows 7/8各版本支持最大内存容量

2015-06-18 17:16 465 查看

Windows 7 中的物理内存限制

Windows 7有6个主要版本,分别是Windows 7 Starter(简易版),Windows 7 Home Basic(家庭普通版),Windows 7 Home Premium(家庭高级版),Windows 7 Professional(专业版),Windows 7 Enterprise(企业版),Windows 7 Ultimate(旗舰版)。

通过拨打微软中国客服电话(免费电话800-820-3800 付费电话400-820-3800)咨询微软客服人员和在微软官网查询,我们得知:

32位Windows 7的除了简易版仅支持2GB内存外,其他版本均支持4GB内存,但32位的Windows 7实际可利用的最大内存只有3.25GB左右。

64位的Windows 7家庭普通版能支持8GB内存,家庭高级版能支持16GB内存,而64位的Windows 7专业版、企业版和旗舰版最高可支持192GB内存。

下表规定了不同 Windows 7 版本对物理内存的限制。

VersionLimit on X86Limit on X64
Windows 7 Ultimate4 GB192 GB
Windows 7 Enterprise4 GB192 GB
Windows 7 Professional4 GB192 GB
Windows 7 Home Premium4 GB16 GB
Windows 7 Home Basic4 GB8 GB
Windows 7 Starter2 GBN/A

Windows 8 中的物理内存限制

Windows 8有3个主要版本,分别是Windows 8(标准版),Windows 8 Professional(专业版),Windows 8 Enterprise(企业版)。

32位Windows 8的所有版本均支持4GB内存,但32位的Windows 8实际可利用的最大内存只有3.25GB左右。

64位的Windows 8标准版能支持128GB内存,64位的Windows 7专业版和企业版可支持512GB内存。

下表规定了不同 Windows 8 版本对物理内存的限制。

VersionLimit on X86Limit on X64
Windows 8 Enterprise4 GB512 GB
Windows 8 Professional4 GB512 GB
Windows 84 GB128 GB
为什么Windows 7/8的32位版不能支持4GB以上内存呢?

32位系统使用32位地址线的最大寻址空间为2的32次方bytes,计算后即4294967296 Bytes,也就是我们常说的4096MB,32位地址线的寻址空间封顶即为4GB。但是,虽然系统能够识别4096MB,我们还是不能完全使用它,这是因为还有内存映像输入/输出(Memory-Mapped Input Output)作怪,我们的系统中除了CPU和内存占据寻址空间外,还有显卡也需占用寻址空间,这就是为什么32位系统不能全部调用内存的原因,32位Windows 7/8系统支持的最大内存事实上只有3.25GB左右。

这里要纠正一个常识错误:32位系统不能使用大于4G的内存。早在16位系统上,系统可使用的内存就远远大于64KB(2的16次方bytes)了,这是因为采用了内存分段和20位地址线,最大寻址空间为2的20次方bytes,即1MB。那么在32位系统上,32位CPU使用36位地址线的最大寻址空间为2的36次方bytes,也就是64GB。32位Linux系统早就直接支持4G以上的内存。Windows系统因为微软的人为限制,不允许32位系统使用大于4G的内存。

如果启用PAE(Physical Address Extension),32位Windows就可以使用超过4GB的内存,比如Windows Server 2003/2008 Enterprise/Datacenter X86(32bit)可以支持最大64GB内存(16 GB with 4GT)。所以在当前x86架构中,通过ReadyFor4G直接修改Windows内核(使用36位地址线),32位Windows最多可以使用64GB的内存。不过,这个方法也有很多限制,32位Windows的每个进程最大可用内存被限制在4GB之内,一些不规范的驱动程序不能支持大于4G的内存,会导致系统崩溃。

64位系统使用64位地址线的最大寻址空间为2的64次方bytes,计算后其可寻址空间达到了惊人的18446744073709551616 Bytes,即16384PB(PebiByte)=16777216TB(TebiByte),但是,很多64位CPU使用40位地址线,最大寻址空间仅为1TB,加之别的种种原因,目前Windows 7 64位版最大仅能使用192GB内存,Windows 8 64位版最大仅能使用512GB内存。

微软官方文档:《Windows 7 的物理内存限制》《Memory Limits for Windows Releases》

CPU的位数和地址线

所谓多少位CPU,最准确的定义是指CPU内部通用寄存器的位宽。

比如8088,16位通用寄存器,8位数据线,20位地址线,它是16位CPU;

8086,16位通用寄存器,16位数据线,20位地址线,它是16位CPU;

又比如Pentium Pro或者Pentium II,32位通用寄存器,64位浮点寄存器,64位数据线,36位地址线,它是32位CPU。

用比较少位数的寄存器确定较多位地址的时候会多一重转换,稍微麻烦一点,也慢一点。

8086用16位寻址20位叫做分段寻址,要多一次移位加的操作;Pentium Pro/II/III/4 等32位寻址36位叫做PAE36寻址,更慢。

使用PAE40技术的Intel x86-64 CPU是40位地址线,使用PAE48或PAE52技术的AMD x86-64 CPU是48位或52位地址线。目前没有64位地址线的CPU,原因很简单,就是现在还用不着这么多地址线(而且过大的虚拟地址空间需要更多级的分页,这会导致硬件更复杂,寻址速度更慢)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: