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

转载于:https://www.cnblogs.com/leftfist/p/6808777.html

32位与4G内存限制相关推荐

  1. [硬件]为什么32位的操作系统最大支持4G内存

    之前一直知道32位的系统最大支持4G内存,但没有深究其原因,正好最近考试需要这个知识点,在这里总结一下加深一下印象. 1.硬件原因 X86架构CPU分为32位与64位,这里所说的32位与64位指的是C ...

  2. 32位java 最大内存_【答疑系列】为什么32位系统只支持最大4G内存?

    这个问题一直都有同学问到,算是提问次数最多的问题之一了. 32位是什么 现在主流的操作系统都是64位的,早期存在32位操作系统,相信大家也都有所听闻,其实,在更早之前,还有16位.8位的,这里就不展开 ...

  3. 4g内存只有1.6g可用_32位系统可用内存小 遇到32位系统内存小的解决方法

    内存是CPU进行沟通的桥梁,我们计算机上所有的程序都是在内存中运行的,如果内存不够用,可能系统缓慢卡顿,甚至会造成系统崩溃.那今天小编就给大家介绍一下32位系统可用内存小的解决方法,感兴趣的小伙伴一起 ...

  4. Readyfor4GB帮你的32位Win7用4G内存

    虽然现在64位操作系统可以很好的支持大容量内存,但是由于以前少数的软件不能运行在64位的WIN7上,不管多少,毕竟不爽,所以我还是偏爱使用32位的Windows7,课时由于微软当初设置操作系统的时候, ...

  5. 32M内存 跑linux内核,32位Linux单进程4G内存限制

    可用下面代码测试系统能给单进程分配多少用户态内存: 1 #include 2 #include 3 4 int main(){ 5   int MB = 0; 6   while(malloc(1 & ...

  6. 【汇编】32位操作系统进程为什么最大可以占用4G内存?

    前言:首先我们要知道这里提到的4G内存指的是虚拟的,并不是内存条或硬盘这种内存,它仅仅只是一个概念. 1.位(bit) Bit计算机是计算机最小的存储单位, 大家都知道计算机实质上都是用二进制数0或者 ...

  7. mysql 32位4g存储_基础 - 32位操作系统最多只支持4G内存。

    32位操作系统最多只支持4G内存. CPU能不能直接访问硬盘的数据呢, 不能. 只能通过把硬盘的数据先放到内存里, 然后再从内存里访问硬盘的数据.我们平时玩游戏碰上读图loading 进度条的这个过程 ...

  8. 32位XP开启直接支持4g内存

    32位XP开启直接支持4g内存 1. 首先还是必须确认CPU和主板支持PAE和memory remap/hole. 2. 到SYSTEM32下,复制 ntkrnlpa.exe 为 ntkrnl4g.e ...

  9. 32位win系统,突破4G内存限制方法

    我本本是32位win7系统,最大支持内存才3个多G,为了不浪费(或者说想让本本运行更顺畅),实施了如下变相突破4G内存限制的方法(记下,备忘): 1.把多余内存转换成虚拟硬盘. 2.设置虚拟内存为&q ...

最新文章

  1. 原来博客园的日历是这样用的!
  2. 【错误记录】Android Studio 编译报错 ( VirtualApp 编译 NDK 报错 | Error:A problem occurred configuring project ‘: )
  3. SpringBoot项目打成jar包后,无法读取resources下的文件
  4. Smarty目录结构和子目录路径问题
  5. python99乘法表while翻译_Python学习之while练习--九九乘法表
  6. python弹球小游戏程序_Python实现弹球小游戏
  7. Qt文档阅读笔记-共享库的创建与调用
  8. 撸了个 DDD 项目,爽!
  9. HTTP CSP详解
  10. java awt文件上传_springMVC实现前台带进度条文件上传的示例代码
  11. 2018年《环球科学》十大科学新闻:霍金逝世、贺建奎事件位列前二
  12. windows Hadoop环境搭建之一---软件准备
  13. cad结构字体_AutoCAD字体选择:如何快速选中gbcbig.shx通用字体
  14. 机器学习实战pdf原文内容分享
  15. SpringSecurity实战(六)-集成图形验证码-自定义认证实现
  16. iphone 计算机的shift键在哪,苹果电脑shift是哪个键 苹果电脑shift是什么键
  17. Java 使用pio生成word
  18. FileReader()读取文件
  19. 链克迎来大涨?迅雷:这只是前戏,“王炸”还在后头呢!
  20. 学习设计模式之建造者模式

热门文章

  1. 根据进程名称获取进程id
  2. “拼图”化解智慧城市“碎片化”难题
  3. 一些系统事件的手动触发方法
  4. 思路与好题记录与小技巧
  5. Codeforces Round #Pi (Div. 2) B. Berland National Library 模拟
  6. Cocos2d-x 3.2:定时器的使用和原理探究(1)
  7. Widows Live Writer
  8. Prototype库终于有了文档了
  9. 7-5 全量复制和部分复制
  10. 个人计算机的未来,未来的个人电脑将会成为光子计算机的天下