服务器 频道

突破4GB内存屏障 64位平台解析(上)

  一直以来人们对于计算机存在着各种各样的误理解——欢迎来到又一处大令人误解的地方:)——32位系统并不意味着就只能寻址4GB空间。包括很多计算机理论的教师在内持有的一个常见的观点就是:32位系统只能支持4GB内存,这实际上是不正确的。

  2的32次方就是4G,32位系统就是4GB,这么简单的数学还会有什么问题吗?这要先从系统的位数讲起。


根据通用寄存器GPRs区分一些处理器的位数,尚没有加入最新架构的Core 2

  从硬件上讲,所谓的计算机位数是指处理器指令的长度,对硬件来说就是通用寄存器(GPR,General Purpose Registers)的宽度,它并不意味着地址总线的宽度,虽然有些情况下它们碰巧也会相等。对于当前的从80386开始算起的大多数x86处理器来说,通用寄存器的长度就是32位,支持x86-64(或者按照更常见的说法:x64)的处理器则可以支持64位的通用寄存器。32位的PowerPC(G5之前)使用32位的通用寄存器,指令长度固定为32位,DEC Alpha64则基于64位通用寄存器,指令为64位。


Intel Pentium PRO运行16/32位混合操作系统Windows 95很慢,性能甚至低于运行纯32位操作系统Windows NT

  了解了这个处理器的位数之后我们再来看看寻址,现在我们知道处理器的位数并不等同于寻址数,实际上,早在Pentium Pro(Pentium Pro是一个纯正的32位处理器)上就采用了36位的地址总线(基于这个原因,PAE有时也被称为PAE-36bit),寻址能力就达到了64GB,这个简单有效的扩展就被称为PAE(Phsical Address Extension,物理地址扩展),可见10多年前,x86处理器就能支持这么多的内存了。一再认为32位系统只能支持4GB内存在硬件上就错了。

0
相关文章