关于这个问题,我是这么理解的:
① 确切的说,应该是32位CPU最大支持4G内存
因为32位CPU有32根地址总线,每根线0或1,总共2^32种可能性,2^32个内存地址,每个内存地址对应1个字节的内容,所以是4G
② 因为32位操作系统本身只是为32位cpu设计的,所以32位系统下,即便是64位的CPU,也仅有32根地址线工作
这是操作系统的限制吧,32位操作系统,只编址到32位?
我的理解正确吗?
谢谢诸位
关于这个问题,我是这么理解的:
① 确切的说,应该是32位CPU最大支持4G内存
因为32位CPU有32根地址总线,每根线0或1,总共2^32种可能性,2^32个内存地址,每个内存地址对应1个字节的内容,所以是4G
② 因为32位操作系统本身只是为32位cpu设计的,所以32位系统下,即便是64位的CPU,也仅有32根地址线工作
这是操作系统的限制吧,32位操作系统,只编址到32位?
我的理解正确吗?
谢谢诸位
1 回答3.3k 阅读
2 回答1.6k 阅读✓ 已解决
1.1k 阅读
905 阅读
不是。
Intel 的 32 位 CPU,可使用的地址总线是 36 根(而非 32 根),可寻址的最大内存空间是
2^36 = 64G
,可用的地址空间是4G
。而 16 位系统的 8086 使用了 20 根地址总线寻址。即使是 64 位 CPU,地址总线是 46 根,最大的寻址地址是
2^46 = 64T
。所以,这个不是由总线决定的,而是由操作系统限制的。即使 Windows 系统,通过 PAE 完全可以使用超过 4G 的 RAM,至于为什么默认被禁用,主要原因还是 Windows 需要兼容以前的版本,尤其是驱动程序。