如今,记忆棒正处于白菜价格时代,许手中拥有4G大型记忆。但是普通的32位操作系统只能识别超过3G的内存,并且其中许多都是白白浪费的。最近,许说使用补丁程序可以使32位系统支持4G大容量内存。是真的吗?
首先,CPU的寻址能力
一般CPU制造商指示的CPU位数实际上是指CPU的计算位数。 CPU的位宽通常由min {ALU位宽,通用寄存器位宽,数据总线位宽}决定!换句话说,CPU由ALU,通用寄存器和数据总线中最小的位宽决定!因此,cpu的寻址能力和位宽无法链接。
在AMD K8时代引入64位之后,AMD的U寻址位已达到40多个物理寻址位,而p4 6系列之后的INTEL物理寻址能力已达到40位,约为1TB 。如果是64位寻址,则应为16EB,因此通过CPU位宽来测量CPU寻址能力是一个典型的错误!因此,cpu是32位的,因此支持2 ^ 32 = 4G的内存是错误的。媒体表示,64位cpu的最大优点是它支持更大的内存,这也是错误的。
实际上,CPU的寻址能力随每个CPU设计而变化!实际上,就像32位X86CPU一样,奔腾II引入了36位扩展的PAE机制(物理地址扩展)地址位来支持64G内存(由于当时服务器的问题)。通常情况下,也使用32位寻址。 ,但是通过设置相应的寄存器(我记得cr 4)的相应位会激活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 RAM。原因有三点:一是芯片组没有设计剩余的地址总线供操作系统部署。另一个原因是它不支持Memory Remap技术,并且物理内存的寻址必须是连续的并且不能中断。第三是系统启动时,有必要从4GB的最高地址(FFFF_FFFFh)读取BIOS数据。这是IA32架构和4GB地址空间的局限性。
三、操作系统支持
除芯片组外,不同版本的操作系统对内存容量的支持也不同。这就是我们提到的导致4GB内存减少的软件原因。尽管Windows XP系统声称可以支持多达4GB的内存,但实际上,即使主板启用了内存重新映射技术,Windows XP系统仍然无法完全识别4GB的内存。
有很多方法可以打开Windows操作系统的PAE功能,但是Microsoft为什么不主动打开它?
这有副作用!通过PAE使用大内存32位服务器已经完成。但是,如果驱动程序无法正确处理4GB以上的内存,则会出现问题。这是MS想要禁用pae的最初原因,因为桌面系统上确实存在许多有问题的驱动程序。
如上所述,对于32操作系统来说,支持4G大容量内存是可行的,但是受主板芯片组的限制。同时,打开PAE会影响稳定性。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-363799-1.html
你想
看了很多遍
中国海军实力也是超过日本的