簡單歸納一下32位、64位、x86、x64的區別和聯繫

32位、64位、x86、x64區別和聯繫

 

一切都要從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

 

區別:

在硬件上,32 位 軟件和 64 位 最大區別,也是當年 64 位被推上舞臺的原因,32 位支持的內存是 2^32 Byte,也就是最大隻支持 4 GB 內存。而64位支持 2^64 Byte,也就是 17179869184G = 16777216TB內存 ≈ ∞ 。64 位處理器解決了內存地址總線的問題。

另外, 64 位處理器的「寄存器」也是 64 位,曾經 32 位處理器一次運算需要 4 個「寄存器」,在 64 位處理器上只需要 2 個就夠了。好處就是速度更快了。

在 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 位的緣故,所以 64 位系統中 C:\Windows\System32\ 目錄用來放 64 位 DLL 文件,C:\Windows\SysWOW64\ 目錄則存放 32 位的 DLL。

 

總之,64 位操作系統包含 32 位系統兼容庫,並且有 32 位單獨的文件夾,可以運行大部分 32 位的軟件,但 32 位卻不能使用 64 位的軟件。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章