千家论坛_弱电智能化技术与工程讨论(建筑智能,家居智能,人工智能)

服务器
收藏本版 |订阅

服务器 今日: 2188 |主题: 828|排名: 43 

发新帖
打印 上一主题 下一主题

32位Windows 上4GB 内存问题...

[复制链接]
dd009 发布于: 2011-3-1 09:21 1511 次浏览 5 位用户参与讨论
跳转到指定楼层
1) 为什么32位的系统可以使用超过4GB的内存? 只要CPU、主板、操作系统都支持并启用PAE(物理地址扩展),那么此时的物理内存地址总线就是36位。 2^36 = 68719476736 = 64 GB 另外,当前的x64并非真正使用64位的地址总线,而是48位,所以内存上限是 2^48。 所以,现在的32位系统并非纯正的“32位”;x64并非纯正的"64位"。 2) 为什么Windows 2003 32位版本最高可以支持128GB内存? 20090417修正 by fujianabc: 自P4、K8以后的32位CPU,物理地址地址都是40位,所以可以支持128GB。 详细见此贴。 3) 为什么主板支持4GB内存,并且已经安装上4GB内存,但32位Windows只能使用3.1GB? 原因有两个: 3.a, 受限于Windows 的许可证限制。 Windows内核会在系统启动时检查当前操作系统的许可,从中确定当前允许使用的物理内存最大值。 例如Windows XP/Vista许可的上限为4GB。 3.b, 主板,及其上面的各种PCI设备的资源的限制。 主板必须支持超过4GB以上内存,并且必须支持内存重影射功能。 主板在不支持内存重影射功能时,所有PCI设备的内存地址范围都落在4GB空间内,占用大约750MB的物理地址空间。因此与此相同地址空间的物理内存将不可用。 当主板打开内存重影射功能时,PCI设备的内存地址将被BIOS影射到4GB以上的空间,所以PCI设备此前所占用的地址空间可以空出来而为物理内存使用。此时系统可用的物理内存可以达到接近4GB。 4) 为什么有些设备的驱动程序在4GB内存时无法正常工作? 如3所示,设备的内存地址超出4GB,这些旧的驱动无法接收正确的地址。 5) 为什么32位的Windows 可以管理超过4GB的内存? 将32位的地址从两层转换改为三层转换。 PDPE/PDE/PTE都扩展到64位。
回复

使用道具 举报

已有5人评论

新浪微博达人勋

千家认证

沙发
低调本色 发表于 2011-3-1 11:51:00
学习了
回复 支持 反对

使用道具 举报

新浪微博达人勋

千家认证

板凳
gzjm8729614 发表于 2011-3-1 16:42:00
以前遇到这样的问题,
回复 支持 反对

使用道具 举报

新浪微博达人勋

千家认证

地板
david2marin 发表于 2011-5-27 15:59:00
helpful , thanks
回复 支持 反对

使用道具 举报

新浪微博达人勋

千家认证

5#
ly8800180 发表于 2012-1-28 14:31:00
企业版可以支持
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆 千家通行证登陆

本版积分规则

千家智客微信号
千家智客微信
玩物说商城
玩物说商城