32位与4G内存限制
来源:互联网 发布:淘宝刷手是什么意思 编辑:程序博客网 时间:2024/04/27 04:07
32位有4G内存限制,好像人所共知。但这个32位是指32位的CPU还是32位的操作系统?
答案是,都是。内存限制,是操作系统和硬件(CPU,也许还有内存控制器)共同制约的。CPU对应的是寻址物理地址,而操作系统对应的是寻址逻辑地址。实际上用户在使用计算机时,进程所访问到的地址是逻辑地址,并不是真实的物理地址,这个逻辑地址是操作系统提供的,CPU在执行指令时需要先将指令的逻辑地址变换为物理地址才能对相应的存储单元进行数据的读取或者写入(注意逻辑地址和物理地址是一一对应的)。
32位CPU地址总线数目为32根(一根就能瞬时传递一个0或1,代表一位),所以一次能处理32位(即4字节)的数据,可寻址物理地址范围为2的32次方= 4GB;64位CPU地址总线数目一般采用的是36位或者40位,能够寻址的物理地址空间为64GB或者1T。
对于32位的windows操作系统,其逻辑地址编码采用的地址位数是32位的,那么操作系统所提供的逻辑地址寻址范围是4GB。同理,64位逻辑地址寻址范围是1TB。
但是,在intel x86架构下,采用的是内存映射技术(Memory-Mapped I/O, MMIO),也就说将4GB逻辑地址中一部分要划分出来与BIOS ROM、CPU寄存器、I/O设备这些部件的物理地址进行映射,那么逻辑地址中能够与内存条的物理地址进行映射的空间肯定没有4GB了,看下面这幅图就明白了:
对于32位CPU,只能安装32位操作系统;64位CPU,既可以安装32位操作系统,也可以安装64位操作系统。如果64位CPU装32操作系统的话,由上述可知,也只能至多应用4GB的内存,太浪费了。64位操作系统只能安装在64位CPU的服务器上。
参考文章
http://www.cnblogs.com/dolphin0520/archive/2013/05/31/3110555.html
- 32位与4G内存限制
- 32位win系统,突破4G内存限制方法
- 32位系统突破3.6g内存限制
- 32位系统与内存限制
- 32位4G内存
- 如何在32位程序中突破地址空间限制使用超过4G的内存
- 如何在32位程序中突破地址空间限制使用超过4G的内存
- 32位Linux单进程有4G内存的限制
- 如何在32位程序中突破地址空间限制使用超过4G的内存
- 成功破解 windows 7 32位 4G内存限制 双显卡笔记本(ATI+INTEL集显)
- 32位Linux单进程有4G内存的限制
- 如何在32位程序中突破地址空间限制使用超过4G的内存
- 4G以上(含4G)内存与32位Linux系统
- win7 32位系统内存限制破解支持到128G内存
- Xen 32G内存限制
- windows7 32位支持4G内存
- 32位Win7使用4G内存
- 32位ubuntu支持4G内存
- HDU 1160 FatMouse's Speed(DP)
- iGrimaceVX3.0.0基本使用教程
- ZOJ 1251
- 达内学习日志Day21:Java核心API(多线程基础)
- Bootstrap CSS——输入框组
- 32位与4G内存限制
- Bootstrap CSS——导航
- 抽象类与接口
- Bootstrap CSS——导航条
- Android常见分辨率及屏幕适配注意事项
- <PY>kNN
- 黑马程序员——4.继承(接口、多态、内部类、异常、包)
- JavaScript 模块
- sencha touch 在新版谷歌浏览器中painted事件无法触发解决方案以及carousel 控件、togglefield控件、滚动条失效