32位CPU的机器只能支持4GB的内存吗

news/2024/11/29 3:59:41/
现在内存条都是白菜价的时代,很多人手中都是4G大内存了。但是普通的32位操作系统只能认3G多的内存,有很多都是给白白的浪费掉了。近来很多人说使用补丁,能使32位的系统支持4G大容量内存。事实果真如此吗?

一,cpu的寻址能力

一般的cpu厂商标示的多少位cpu,其实说cpu的运算位宽。而CPU的位宽一般是以 min{ALU位宽、通用寄存器位宽、数据总线位宽}决定的!也就是说CPU由ALU、通用寄存器、数据总线三者之中最少的位宽决定!所以cpu的寻址能力和位宽是不能挂钩的。

在AMD K8时代引入64位后,AMD的U寻址位就达到物理寻址40多位,而INTEL在p4 6系列之后物理寻址寻址能力亦达到40位,这大概是1TB,而如果是64位寻址应该是16EB,所以,以CPU位宽衡量CPU寻址能力是一个典型的错误!所以说,cpu是32位,所以支持内存为2^32=4G是错误的,传媒中说64位cpu的最大好处是支持更大的内存也是错误的。

事实上CPU寻址能力因每种CPU设计不同而不同!就正如说32位的X86CPU,其实就在PentiumII是引入了36位的扩展PAE机制(Physical Address Extention)地址位来支持64G内存(源于当时服务器的问题),正常情况下也是用32位寻址,但通过设置相应的寄存器(没记错是cr4)的相应位激活PAE就可以支持64位寻址了!

二、大内存需要主板的支持

大家知道,Intel x86平台中使用了名为内存映射I/O(MMIO)的技术。它是PCI规范的一部分,I/O设备被放置在内存空间而不是I/O空间。从处理器的角度看,内存映射I/O后系统设备访问起来和内存一样。这样访问AGP/PCI-E显卡上的帧缓存,BIOS,PCI设备就可以使用读写内存一样的汇编指令完成,简化了程序设计的难度和接口的复杂性。

就像是一个大水缸,里面要装一些泥沙,一些油,还要装一些水。泥沙就是DOS兼容区,水就是系统各I/O设备,最上面的油就是可用的内存了。当配置一定的情况下,泥沙和水的比例也就一定了。那能加多少水呢?这个就要问问你的水缸有多大了。那怎么来看这个水缸的大小呢,就奥看主板芯片组的地址总线位数。例如 i945P芯片组只有32位地址总线,因此它对应的地址空间为4GB。表面上看似乎能够支持4GB容纳量的内存。但这4GB地址空间中,有1MB分配给了 DOS兼容存储区,1MB-2GB分配给了内存访问,而2GB-4GB的部分地址空间则优先分配给了显卡帧缓存,PCI/PCI-E设备和BIOS区域,而这一区域也被Intel称作内存映射I/O(MMIO)区域。

由于4GB芯片组地址空间的限制(32条地址线的限制),Intel 945系列及以前的芯片组、NVIDIA nForce Go C6100/C6510,ATI Xpress 1150M,这些芯片组无论如何都不能完全支持4GB内存。具体原因有三方面:其一是芯片组没有设计剩余地址总线来供操作系统来调配;其二是不支持Memory Remap技术,而物理内存的编址必须是连续的,不能被割断;其三是系统开机时必需先从4GB的顶端地址(FFFF_FFFFh)读取BIOS数据, 这是IA32架构和4GB地址空间的局限。

三、操作系统的支持

除了芯片组方面的原因外,不同版本的操作系统对内存容量的支持也不尽相同,这就是我们所提到的造成4GB内存缩水的软件原因。虽然Windows XP系统号称最大可支持4GB容量的内存,但实际上即使在主板打开内存重映射技术的前提下,Windows XP系统仍然不能完全识别4GB容量的内存。

很多方法可以打开Windows操作系统的PAE功能,但是微软为什么没有主动开启呢?

这个是有副作用的!通过PAE利用大内存32位服务器早做到了。但是如果某驱动程序无法正确处理4gb地址以上的内存,就会发生问题. 这也就是为什么ms要禁用pae的最初原因,因为桌面系统上确实存在不少有问题的驱动程序.

总上所述,32操作系统支持4G大容量内存是可行的,但是它受主板芯片组的制约,同时,开启PAE,会影响稳定性

http://www.ppmy.cn/news/409229.html

相关文章

vagrant简单学习使用

2019独角兽企业重金招聘Python工程师标准>>> 1.安装vagrant 旧版本的vagrant可以在http://downloads.vagrantup.com/下载,支持的系统平台有mac,debian/ubuntu, centos,windows。如果要下载最新版本的vagrant,需要FQ。大家各自找FQ工具。 2.下…

02-4设置第一启动项--U盘装系统中bios怎么设置USB启动

整个U盘启动里最关键的一步就是设置U盘启动了,本教程内只是以特定型号的电脑为例进行演示,鉴于各种电脑不同BIOS设置U盘启动各有差异,所以如果下面的演示不能适用于你的电脑,建议去百度或者谷歌搜索一下你的电脑或者与你的电脑类似…

解决:系统重装后,捷波悍马hao1的声卡驱动问题

系统重装后,出现安装了声卡驱动,但仍无法使用音量控制器,不出声音的问题; 现解决方法如下: 打开设备管理器,点击系统设备,如图所示的设备是否为?号(图中系统已安装了驱动…

什么蓝牙耳机通话质量比较好?音质超好的四款蓝牙耳机测评

真无线蓝牙耳机和智能手机一样,开始成为出街必备的数码单品了。毕竟真无线蓝牙耳机外观时尚,又方便携带,也就自然而然的成为越来越多的人使用它的原因。那么真无线蓝牙耳机买什么好呢?毕竟现在的真无线蓝牙耳机品牌真的很多。下面…

K8S之istio流量控制管理(十七)

一,istio介绍 1、istio架构 结合上图我们来理解Istio的各组件的功能及相互之间的协作方式。 1. 自动注入:在创建应用程序时自动注入 Sidecar代理Envoy程序。在 Kubernetes中创建 Pod时,Kube-apiserver调用控制面组件的 Sidecar-Injector服…

C语言学习笔记:作用域规则

✨博文作者:烟雨孤舟 💖 喜欢的可以 点赞 收藏 关注哦~~ ✍️ 作者简介: 一个热爱大数据的学习者 ✍️ 笔记简介:作为大数据爱好者,以下是个人总结的学习笔记,如有错误,请多多指教! 目录 局部变…

AWS亚马逊认证考试系列 - 知识点 - 内容分发网络CloudFront考点

AWS CloudFront是一个全球性的内容分发网络(CDN),它能够加速内容的传输速度,改善用户的体验,同时降低后端服务器的负载压力。以下是AWS CloudFront的主要特点: 快速: 通过亲近用户的物理位置&a…

期末大作业 | ToDoList网页设计 一个晚上一个奇迹 网站首页界面

目录 一、简要说明 二、页面核心代码 三、CSS样式代码 四、页面效果截图 五、我的心得 一、简要说明 网站首页界面: 本模块是在用户进行登录之后展示的页面,主要包括网页导航栏(因为是登录后的首页展示,所以在此处设置“退出…