而且不光是32位和64位,x86和x64在计算机中又代表什么?
01
—
x86
一切都要从1978年说起,英特尔在这年发布了世界上第一款 x86
指令集架构的处理器「Intel 8086」。
86
作为结尾,比如 Intel 8086、80286、以及 80486,所以慢慢的这个系列就被简称为 x86
了。x86
从 1985 年发布的 Intel 80386 处理器开始使用「32 位架构指令集」,称之为 x86_32
(此前都是 16 位),随着 Intel 不断推出新的 32 位处理器,慢慢大家发现 32 位
和 x86
通常指的都是一个东西,所以 32 位也被简称为 x86
,这也是为什么现在我们看到的x86
几乎都默认指 32 位
。
谁能想到 AMD 在2003年一个翻身,抢在英特尔之前发布了 64 位
处理器,并将其命名为「AMD 64」,从此 x86
正式进入了 64 位
的时代。

64 位
不光数字上领先 32 位
,在性能和应用场景上也得到了大幅提升(后面讲),之后英特尔也跟进推出了与之兼容的处理器,命其为「Intel 64」,两者被统称为 x86_64
。x86
的本意其实同时包含「32位和64位」 。
历史的经验告诉我们,懒癌不是能接受 x86_32 and x86_64
这种说法的,于是 x86_64
被简称成了 x64
。
02
—
有什么区别
在硬件上,32 位
软件和 64 位
最大区别,也是当年 64 位被推上舞台的原因,32 位支持的内存是 2^32 Byte
,也就是最大只支持 4 GB
内存。而64位支持 2^64 Byte
,也就是17179869184G = 16777216TB内存 ≈ ∞
。64 位处理器解决了内存地址总线的问题。

在 Windows 系统中,32 位系统单个程序进程最多只能使用 2GB 内存空间,这就导致 Adobe 等吃内存的软件几乎无法工作,所以这些大型软件都没有 32 位版本。在 64 位系统则中没有这方面的限制。
C:\ProgramFiles\
是软件默认安装目录,C:\ System32\
是系统文件和 DLL
库的目录。
在 64 位系统中,C:\Program Files\
是 64 位软件的默认安装目录,而C:\Program Files(x86)\
是 32 位软件的默认安装目录。因为 DLL 文件也分 32 位和 64 位的缘故,所以 64 位系统中 C:\Windows\System32\
目录用来放 64 位 DLL 文件,C:\Windows\SysWOW64\
目录则存放 32 位的 DLL。
总之,64 位操作系统包含 32 位系统兼容库,并且有 32 位单独的文件夹,可以运行大部分 32 位的软件,但 32 位却不能使用 64 位的软件。

03
—
32位为什么还活着
