鱼C论坛

 找回密码
 立即注册
查看: 1509|回复: 2

关于内存地址空间的问题。

[复制链接]
发表于 2013-10-17 00:38:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
刚学到内存地址空间
一个小问题一直没想明白
一个32位的CPU,那么他的寻址能力因该是2^32次方对吧,也就是4G。
那如果PC机配置的是的4G内存+1G独显显卡再加上其他的存储空间,
那么远远超过了32位CPU所能寻址的范围,那多出来的存储空间就没用了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-10-17 06:17:25 From FishC Mobile | 显示全部楼层
玩玩硬件吧,我试过在32位的装1g的都不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-10-17 08:56:52 | 显示全部楼层
尽管从许可上来说,32位系统的最大内存支持是4GB,但是实际上的限制会更低,这要看计算机的芯片组以及所连接的设备。这是因为物理地址映射不仅仅包含物理内存,还包含设备内存,X86和X64位系统会把所有设备内存映射到低于4GB的地址边界,以便确保和32位操作系统的兼容性,这些操作系统不知道如何处理超过4GB的地址部分。如果计算机配备4GB内存和类似显卡、声卡和网卡这样的设备,Windows会给这些设备内存分配共计500MB空间,而4GB物理内存中的500MB只能占用超过4GB的地址边界。

其他设备占用其他大部分的地址空间,PCI总线会保留一部分地址范围,以供系统引导时某些设备固件所使用。哪怕计算机只有2GB内存,在32位Windows中也无法使用所有的内存,因为芯片组会为设备强制保留一部分内存范围。我们的一台家庭公用计算机,几个月前从一家OEM厂商那里购买的,显示安装了2GB内存,但是只有1.97GB是可用的:    
其中7E700000到FFFFFFFF的物理地址范围是给PCI总线和设备所保留的,理论上还有最多7E700000字节(1.976GB)的物理地址空间,但是其中还有一些还要给设备内存所保留,这就是为什么Windows报告说1.97GB。

评分

参与人数 1鱼币 +5 贡献 +5 收起 理由
白羊 + 5 + 5

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-17 11:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表