cpu的位是指一次性可处理的数据量是多少,1字节=8位,32位处理器可以一次性处理4个字节的数据量,依次类推。32位操作系统针对的32位的CPU设计。64位操作系统针对的64位的CPU设计。操作系统只是硬件和应用软件中间的一个平台。我们的CPU从原来的8位,16位,到现在的32位和64位。
cpu处理计算的时候“数据”和“指令”是不同对待的。
8位的CPU,一次只能处理一个8位的“数据”或者一个8位的"指令"。比如'00001101',又比如:“+1”这个运算,你要先指示CPU做“+”,完成后再输入“1”数据给CPU。8位的CPU优点是设计简单,处理速度比较快。缺点就是:软件设计复杂,繁琐。
由于8位的CPU不利于计算机的发展。后来推出了16位的CPU,我们就可以一次处理两个字节(16位)的数据了,比如“加1”这个命令。“加”是一个指令,占用8个位,余下的8位我们可以存放数据“1”了。
32位操作系统32位的CPU就更加方便了,我们就可以一次处理一个a=a+b这样的命令了。优点:简化了软件设计的复杂度。缺点:硬件设计更加复杂,计算速度下降。一般来讲32位的CPU对于我们来讲是最理性的CPU,对于软件开发来讲足够了,但是内存寻址空间在2的32次方 = 4294967296Byte = 4G左右。
很显然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位程序。
在实际使用中32位操作系统是可以使用4GB以上的内存的;
例如:
在Windows Server 2003中,各版本支持的最大内存如下:
==================================================
标准版的 32位版本支持2.93GB RAM,64位版本最高可支持 32 GB RAM。
企业版的 32 位版本最高可支持32 GB RAM, 64 位版本支持 1 TB RAM
数据中心版的 32 位版本支持 64 GB RAM,64 位版本支持 1 TB RAM
32位操作系统(2)WEB版最高可支持2G RAM。