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 年代的軟件,這是其他操作系統很難做到的。既然看到這裡不妨點個 在看 支持一下吧!



分享到:


相關文章: