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

 我来答
很龌龊0419
2013-10-10 · TA获得超过2858个赞
知道小有建树答主
回答量:958
采纳率:0%
帮助的人:1816万
展开全部
一般的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容量的内存。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式