熟悉計算機的朋友應該都知道,處理器、作業系統、驅動和軟體都有 32 位和 64 位之分,一般我們裝系統、下軟體都會選 64 位版的。但現在仍有很多新開發的軟體,僅提供 32 位版本。
32 位和 64 位的真正區別是什麼?到底哪種更好?而且不光是 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 和 x86_64 這種說法的,於是 x86_64 被簡稱成了 x64。
02 、有什麼區別
在硬體上,32 位 軟體和 64 位 最大區別,也是當年 64 位被推上舞臺的原因,32 位支援的記憶體是 2^32 Byte,也就是最大隻支援 4GB 記憶體。而 64 位支援 2^64 Byte,也就是 17179869184G=16777216TB ≈ ∞。
64 位處理器解決了記憶體地址匯流排的問題。
1.5 TB 執行記憶體的 Mac Pro
另外 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。
是不是有點繞?System32 是 64 位的,SysWOW64 是 32 位的。
總之,如果你安裝了 64 位 Windows 系統,它其實包含了 32 位系統相容庫,並且有 32 位單獨的資料夾,可以執行大部分 32 位的軟體。
但 32 位卻不能使用 64 位的軟體。
Windows 系統從 XP 開始便一直有 32 位版和 64 位版,而 macOS 自 v10.8(Mountain Lion)開始就拋棄了 32 位版,只提供 64 位版。
檢視系統多少位最簡單的辦法就是右鍵桌面上的 此電腦- 屬性:
0332 位怎麼活到今天
大家都知道這次 Windows 11 升級了很多硬體要求,其中的進步之一就是:Windows 11現在需要 64 位或 ARM64 處理器,對 32 處理器已不再支援。
這可以說是極大的進步,取消對 32 位的支援,也就意味著把老舊的 BIOS(非UEFI)、MBR 分割槽表格式、32 位發行版、16 位執行環境(NTVDM)等落後技術一併淘汰掉。
但系統中依然保留了 32 位虛擬系統,仍然可以執行 32 位程式。(希望微軟提上日程)
這二十年來,蘋果從 MacOS9 RISC 到 OSX RISC 到 OSX X86 到 macOS X64 到 macOS ARM,更新了 4 次架構,
Windows 這才終於移除了 32 位處理器和 IE 瀏覽器,減輕了一點歷史包袱。
為什麼 Windows 這麼先進的系統,直到 Windows 11 才肯放棄 32 位處理器呢?
主要還是使用者太多了。
6 年 Windows 10 釋出時,前微軟的官方負責人回答過這個問題:當時還有大約 1 億使用者在使用 32 位的處理器。
微軟並不打算放棄這部分使用者。
官方負責人的回答
6 年後的今天,大概那 1 億臺裝置也老的老,破的破了,所以微軟終於可以在 Windows 11 上移除對 32位處理器的支援。
03、 總結
其實 Windows 系統的向下相容性一直非常好,肯定很多人覺得這話是扯淡,一些軟體就不能再 Windows10 上執行嘛。
然而即便如此 Windows 系統的向下相容性也是業界楷模,達到變態的程度,甚至阻礙其發展。
也正是 Windows 系統的相容性好,軟體開發商就省事了,反正我的軟體不需要那麼多系統資源,甚至一套軟體開發完不需要維護就能賣十幾年,既然如此為什麼還要單獨出64位版的? 2021 年的 Windows 11 還能執行 90 年代的軟體,這在其他作業系統上是很難做到的。