熟悉电脑的朋友应该都知道,处理器、操作系统、驱动、软件分为32位和64位两个版本。一般我们在安装系统和下载软件的时候都会默认下载64位版本,但是这个真的很重要吗?32位和64位的真正区别是什么?
而且不仅仅是32位和64位,x86和x64在电脑中分别代表什么?
01—x86
这一切都始于1978年,当时英特尔发布了全球首款采用x86指令集架构的处理器——英特尔8086。
之后这个系列的处理器名称都是以数字86结尾的,比如Intel 8086,80286,80486,所以这个系列简称x86。
自1985年Intel 80386处理器发布以来,x86一直使用“32位架构指令集”,称为x86_32(以前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和x86-64,所以x86-64就干脆叫x64。
02—有什么区别?
硬件方面,32位软件和64位软件最大的区别也是当年64位被推上舞台的原因。32位支持的内存是2^32字节,也就是说最多只支持4 GB内存。并且64位支持2^64字节,即17179869184G = 16777216TB内存≈∞。64位处理器解决了内存地址总线问题。
运行内存为1.5 TB的Mac Pro
此外,64位处理器的“寄存器”也是64位的。曾经,32位处理器的一次操作需要四个“寄存器”,但64位处理器上只有两个就足够了。好处是更快。
在Windows系统中,32位系统中单个程序进程最多只能使用2GB内存空,导致Adobe等吃内存的软件几乎无法工作,所以这些大型软件都没有32位版本。在64位系统中没有这样的限制。
另外,在Windows 32位系统下,C:\ProgramFiles\是软件的默认安装目录,C:\ System32\是系统文件和DLL库的目录。
在64位系统中,C:\Program Files\是64位软件的默认安装目录,而C:\Program Files(x86)\是32位软件的默认安装目录。因为DLL文件也分为32位和64位,所以C:\Windows\System32\目录用于存储64位DLL文件,而C:\Windows\SysWOW64\目录存储32位DLL。
是不是有点绕弯?System32是64位,SysWOW64是32位。
总之,64位操作系统包含32位系统兼容库,有32位单独的文件夹,可以运行大部分32位软件,但是32位软件不能使用64位软件。
Windows从XP开始有32位版本和64位版本,macOS从v10.8(Mountain Lion)开始有64位版本。
检查系统位数的最简单方法是右键单击这台电脑-桌面上的属性:
为什么03-32人还活着?
相对于32位系统,64位系统优势明显,已经发展了近20年。32位Windows和软件为什么能延续至今?
作为Windows的最后一个版本,5年前Windows 10发布的时候,大约有1亿用户还在使用32位处理器。微软不打算放弃这部分用户。
官方负责人的回答
而且Windows系统的向后兼容性一直都很好。可以肯定的是,很多人认为这是胡说八道,有些软件无法在Windows S10上运行。然而,即便如此,Windows系统的后向兼容性却是业内典范,达到了畸形的程度,甚至阻碍了它的发展。
也正是Windows系统的兼容性让软件开发者更容易上手。反正我的软件不需要那么多系统资源,甚至一套软件开发出来后不用维护也能卖十几年。那么,为什么要单独发布64位版本呢?
2020年的Windows 10还能运行90年代的软件,这是其他操作系统很难做到的。