32位,64位系统寻址空间及最大内存
理论上:32位=2^32B = 4 * 2^30B = 4GB,这是 32 位下单进程内存上限
目前(2015年5月),Intel的32位架构下,可使用的地址线是36个,可使用的最大物理地址是2^36B,折合64GB,可用的地址空间是4GB。
64位架构下,地址线是46个,所以最大的物理地址是2^46B,折合64TB,可用地址空间也是这么大(目前为止):
为什么32位Windows中实际可用内存少于4G:
虽然物理地址有4G,但CPU如果要访问你的显卡上的显存,就必须把物理地址空间的一部分用于标识显存,这种技术被称为memory-mapped I/O,这样可以让CPU操作显存像操作内存一样。
在Windows的设备管理器里,查看显卡的属性页里的“资源”,可以看到内存映射的地址范围,实际上不管32位还是64位,都需要占用一部分地址空间,32位Windows只有4G的地址空间,被显存占去了一部分,所以可用的地址空间就少于4G了
实际上不仅仅是显存,你电脑上的PCI控制器,各种网卡、声卡、USB控制器等等都需要占用一定的物理内存,所以最终的后果就是可用的物理地址范围变得特别少,最少可能只有1.99GB,这种限制在32位Windows上是不可改变的。
所以,32位WIN7的可用内存才变得那么少,解决问题的唯一途径是换64位系统,或者Linux。
CPU | CPU Address Bus Size | Maximum RAM |
8086 | 20 bit | 1MB |
8088 | 20 bit | 1MB |
80286 | 24 bit | 16MB |
80386SX | 24 bit | 16MB |
80386DX | 32 bit | 4GB |
80486SX | 32 bit | 4GB |
80486DX | 32 bit | 4GB |
Pentium I | 32 bit | 4GB |
K6 | 32 bit | 4GB |
Duron | 32 bit | 4GB |
Athlon | 32 bit | 4GB |
Athlon XP | 32 bit | 4GB |
Celeron | 36 bit | 64GB |
Pentium Pro | 36 bit | 64GB |
Pentium II | 36 bit | 64GB |
Pentium III | 36 bit | 64GB |
Pentium 4 | 36 bit | 64GB |
Athlon | 40 bit | 1TB |
Athlon-64 | 40 bit | 1TB |
Athlon-64 FX | 40 bit | 1TB |
Opteron | 40 bit | 1TB |
Itanium | 44 bit | 16TB |
Itanium 2 | 44 bit | 16TB |
PAE确实可以让x86硬件支持到能够访问64G的地址空间,Windows的内核也支持使用多达64G的物理地址空间,但是微软偏偏要对各个版本的Windows的物理内存上限作出限制,下面是XP和Win7的物理内存上限
参考:https://blog.csdn.net/w892824196/article/details/80558114
https://bbs.pediy.com/thread-137830.htm
https://docs.microsoft.com/zh-cn/windows/win32/memory/memory-limits-for-windows-releases?redirectedfrom=MSDN
32位,64位系统寻址空间及最大内存相关推荐
- 32和64位系统各内置类型所占字节大小(int char long double 指针等)
指针大小不一样主要原因在于:32位的寻址空间是2^32, 即32个bit,也就是4个字节.同理64位编译器 32/64位操作系统,数据类型字节数对比 32/64位操作系统,数据类型字节数对比 32位 ...
- C语言入门经典——基础知识(数据类型)(32位与64位系统基本数据类型的字节数)
一.读取数据的格式说明符 除此之外: sizeof(char) = 1 ...
- 32位/64位操作系统的最大支持内存的空间
32位/64位操作系统的最大支持内存的空间 计算机能单独处理的最小内存单位为字节 所以 32位操作系统最大支持:2^32Byte = 2^2 x 2^10 x 2^10 x 2^10Byte = 4G ...
- 计算机win7几位,Win7 32位与64位有什么区别 Win7系统32位和64位的区别科普篇
Win7系统分32位和64位版本,很多人在选择32位和64位系统的时候十分纠结,原因是自己的电脑应该安装哪一种版本,那么Win7 32位与64位有什么区别,下面装机之家分享一下Win7系统32位和64 ...
- cmake跨平台编译之判断操作系统平台、32位64位系统
判断交叉编译: if(CMAKE_CROSSCOMPILING)message(STATUS "Cross Comliling!!!, ARM")set(CURRENT_SYSTE ...
- 让使用SQLite的.NET应用自适应32位/64位系统
Windows 7 64 bit(刚扩到4G内存,果断换64位的,那速度杠杠的) Microsoft Visual Studio 2010 Ultimate 32bit(在64位系统里运行正常) sq ...
- 计算机科普小知识——Win7系统32位与64位的区别,该如何选择?
Win7系统32位与64位的区别 首先我们要知道32位和64位指的是什么.其实这是根据CPU内的寄存器字长来确定的,计算机内部数据都是二进制来呈现的,32位的计算机CPU一次最多能处理32位的二进制数 ...
- 如何检查Windows Vista , XP和2003系统是32位或64位( x86或x64 )版本
您可能会收到一个电脑作为礼物,以及想要找出系统是否设置了一个32位或64位(微软标签,他们作为x86或x64 )为基础的作业系统,这需要特别建造的应用软件. ) . For computer or P ...
- 32位/64位系统,jdk32位,64位,32/64位jdk编译出来的class和eclipse 32位和64位
首先关于32位/64位系统,jdk32位,64位,32/64位jdk编译出来的class和eclipse 32位和64位的一些对应关系做些说明. 1.32位操作系统不可以装64位jdk,64位操作系统 ...
- 32位与64位系统基本数据类型的字节数
32位与64位系统数据类型 不同的平台上对不同的数据类型分配的字节数是不同的,一般的,数据类型的字节数是由编辑器决定的(编译期间决定数据类型长度). 简单来说,平台就是CPU+OS+Compiler, ...
最新文章
- 最喜欢的博客书签和站内短信系统
- step4 . day1标准IO和文件IO
- jupyter 共享_可共享的Jupyter笔记本!
- 互联网反欺诈体系中的常用方法
- 【NodeJs】用WebStorm创建Express项目时出现:express version is unavailable
- Common lisp编译成C的bin(二)
- 拼音字母搜索匹配汉字
- 计算机命令提示符的使用,命令提示符(电脑系统命令提示符的打开方法)
- Spring(SpringBoot)--事务传播机制--应用/实例/详解
- win7 局域网服务器 文件共享,Win7系统电脑设置局域网共享文件的操作方法-电脑自学网...
- PLSQL Developer 12 破解注册码(64位)
- 用10行代码实现鉴黄
- python开发的著名游戏制作人是_Python 曾经开发过哪些了不起的程序或游戏?
- java Exchanger原理
- python接入萤石云HLS直播流(海康威视摄像头4g连接条件下)
- Linux下网络丢包故障定位
- 大数据可视化-绘制景点热力图
- 2022年自考专业考试(英语)外贸函电练习题
- 无线网络技术导论笔记(第二讲)
- YouTube图片幻灯片分享技巧
热门文章
- cad打开卡死_AutoCAD程序启动就卡死的修复工具(解决CAD启动卡死不动)V2.00 修正版...
- html中怎样变英文月份,英语月份的巧记方法
- 微信/QQ/TIM消息防撤回最新补丁
- (论文阅读笔记)Deep Learning based Recommender System: A Survey and New Perspectives
- 投资心理和关于延迟满足的三个实验
- c语言挖地雷游戏,c扫雷小游戏
- CSS calc()函数的用法
- Java Seckill Module:seckill
- 2020 Jiangsu Collegiate Programming Contest-A.Array
- python-2.找出数组中重复的数字