32位系统最大可以支持4G内存。32位处理器可以一次性处理4个字节的数据量,cpu的位是指一次性可处理的数据量是多少,1字节=8位,因此32位操作系统针对的32位的CPU设计。
cpu处理计算的时候“数据”和“指令”是不同对待的。32位的CPU更加方便,我们就可以一次处理一个a=a+b这样的命令了。优点:简化了软件设计的复杂度。缺点:硬件设计更加复杂,计算速度下降。一般来讲32位的CPU对于我们来讲是最理性的CPU,对于软件开发来讲足够了,但是内存寻址空间在2的32次方=4294967296Byte=4G左右。
32位系统的后续发展:很显然32位CPU只有4G左右的内存寻址空间,对于一些服务器来讲4G的内存是远远不够的了。我们需要更加大的内存寻址空间的话就需要对CPU进行升级。64位CPU就这样诞生了。64位CPU将原来的CPU总线拓展至64根,这使得CPU的内存寻址范围达到2^64。实际上只有较新的64位操作系统才支持大于4G内存空间,且大内存支持会使得操作系统的内存管理程序变得复杂。
AMD和Intel的64位CPU为了兼容旧程序,设计的CPU指令集就在原来的X86构架上直接拓展,一般使用X86-64或EM64T指令集,把原来的32位的硬件电路直接拓展为64位,并提供控寄存器,使得CPU既可以直接运行原来X86构架下的32位程序,又可以运行新设计的64位程序。