02.15 32位,64位,x86,x64到底是什么关系?差距居然这么大

熟悉计算机的朋友应该都知道,处理器、操作系统、驱动和软件都有32位和64位之分,一般我们装系统、下软件都会默认下载64位版的,但这真的重要吗?32位和64位的真正区别是什么?

而且不光是32位和64位,x86和x64在计算机中又代表什么?


01

x86


一切都要从1978年说起,英特尔在这年发布了世界上第一款 <code>x86/<code> 指令集架构的处理器「Intel 8086」。

32位,64位,x86,x64到底是什么关系?差距居然这么大

之后这个系列的处理器名称都以数字 <code>86/<code> 作为结尾,比如 Intel 8086、80286、以及 80486,所以慢慢的这个系列就被简称为 <code>x86/<code> 了。<code>x86/<code> 从 1985 年发布的 Intel 80386 处理器开始使用「32 位架构指令集」,称之为 <code>x86_32/<code>(此前都是 16 位),随着 Intel 不断推出新的 32 位处理器,慢慢大家发现 <code>32 位/<code> 和 <code>x86/<code> 通常指的都是一个东西,所以 32 位也被简称为 <code>x86/<code> ,这也是为什么现在我们看到的 <code>x86/<code> 几乎都默认指 <code>32 位/<code>。然而

谁能想到 AMD 在2003年一个翻身,抢在英特尔之前发布了 <code>64 位/<code> 处理器,并将其命名为「AMD 64」,从此 <code>x86/<code> 正式进入了 <code>64 位/<code> 的时代。

32位,64位,x86,x64到底是什么关系?差距居然这么大<code>64 位/<code> 不光数字上领先 <code>32 位/<code>,在性能和应用场景上也得到了大幅提升(后面讲),之后英特尔也跟进推出了与之兼容的处理器,命其为「Intel 64」,两者被统称为 <code>x86_64/<code>。所以,
<code>x86/<code> 的本意其实同时包含「32位和64位」 。

历史的经验告诉我们,懒癌不是能接受 <code>x86_32 and x86_64/<code> 这种说法的,于是 <code>x86_64/<code> 被简称成了 <code>x64/<code>。

02

有什么区别


在硬件上,<code>32 位/<code> 软件和 <code>64 位/<code> 最大区别,也是当年 64 位被推上舞台的原因,32 位支持的内存是 <code>2^32 Byte/<code>,也就是最大只支持 <code>4 GB/<code> 内存。而64位支持 <code>2^64 Byte/<code>,也就是 <code>17179869184G = 16777216TB内存 ≈ ∞/<code> 。64 位处理器解决了内存地址总线的问题。

32位,64位,x86,x64到底是什么关系?差距居然这么大1.5 TB 运行内存的 Mac Pro

另外 64 位处理器的「寄存器」也是 64 位,曾经 32 位处理器一次运算需要 4 个「寄存器」,在 64 位处理器上只需要 2 个就够了。好处就是速度更快了。

在 Windows 系统中,32 位系统单个程序进程最多只能使用 2GB 内存空间,这就导致 Adobe 等吃内存的软件几乎无法工作,所以这些大型软件都没有 32 位版本。在 64 位系统则中没有这方面的限制。

32位,64位,x86,x64到底是什么关系?差距居然这么大

另外在 Windows 32 位系统下 <code>C:\\ProgramFiles\\/<code> 是软件默认安装目录,<code>C:\\ System32\\/<code> 是系统文件和 <code>DLL/<code> 库的目录。

在 64 位系统中,<code>C:\\Program Files\\/<code> 是 64 位软件的默认安装目录,而<code>C:\\Program Files(x86)\\/<code> 是 32 位软件的默认安装目录。因为 DLL 文件也分 32 位和 64 位的缘故,所以 64 位系统中 <code>C:\\Windows\\System32\\/<code> 目录用来放 64 位 DLL 文件,<code>C:\\Windows\\SysWOW64\\/<code> 目录则存放 32 位的 DLL。

32位,64位,x86,x64到底是什么关系?差距居然这么大

是不是有点绕? System32 是 64 位的,SysWOW64 是 32 位的。

总之,64 位操作系统包含 32 位系统兼容库,并且有 32 位单独的文件夹,可以运行大部分 32 位的软件,

但 32 位却不能使用 64 位的软件。

32位,64位,x86,x64到底是什么关系?差距居然这么大

Windows 系统从 XP 开始便一直有 32 位版和 64 位版,而 macOS 自v10.8(Mountain Lion)开始则都是 64 位版。查看系统多少位最简单的办法就是右键桌面上的 此电脑- 属性:32位,64位,x86,x64到底是什么关系?差距居然这么大


03

32位为什么还活着


64 位系统相较 32 位有明显的优势,并且已经发展近 20 年了,为什么 32 位Windows 和软件还能延续至今呢?Windows 10 系统作为 Windows 的最后一个版本,5 年前发布时,还有大约 1 亿用户在使用 32 位的处理器。微软并不打算放弃这部分用户。32位,64位,x86,x64到底是什么关系?差距居然这么大官方负责人的回答并且 Windows 系统的向下兼容性一直非常好,肯定很多人觉得这话是扯淡,一些软件就不能再 Windows10 上运行嘛,然而即便如此 Windows 系统的向下兼容性也是业界楷模,
达到变态的程度,甚至阻碍其发展。也正是 Windows 系统的兼容性好,软件开发商就省事了,反正我的软件不需要那么多系统资源,甚至一套软件开发完不需要维护就能卖十几年,既然如此为什么还要单独出64位版的? 2020 年的 Windows 10 都还能运行 90 年代的软件,这是其他操作系统很难做到的。既然看到这里不妨点个 在看 支持一下吧!



分享到:


相關文章: