以前,處理器有所謂的8位元、16位元、32位元……但是到了Windows XP時代,這些字眼逐漸為世人所遺忘。大多數電腦用的處理器都是3 2 位元處理器, 而Windows XP也(應該)是個32位元作業系統,既然如此,也就沒有必要刻意去做描述。

直到AMD開發了號稱「64位元」的處理器,事情漸漸變得複雜起來了。

接著就會有各種論調跑出來,「64位元要有專屬的作業系統」、「64位元的程式要特別撰寫」、「64位元會比較快」……,這些論調固然是其來有自,是「似是而非」也罷,是「空穴來風」也好,總之,大部分人總是希望這些論調能有個「解釋」──至少多數人都想知道,「到底64位元能帶來什麼好處?」

藉著Windows 7的發表以及64位元環境的成熟,本人就我自己的認知來給各位介紹一下好了。

什麼是64位元電腦?
最早的處理器是4位元的,後來有8位元,16位元……的處理器,這些「位元(bit)」是怎麼一回事?

簡單的說,處理器裡面有很多的「暫存器」,而用來做運算的是一堆所謂的「通用暫存器」。這通常暫存器的「寬度」,就是我們俗稱的「幾位元處理器」。通用暫存器是32位元寬,那一般就稱這處理器是32位元處理器。目前來說,32位元處理器因為「夠用」,所以各行各業所採用的各種電子裝置(也包含手機和電腦),裡面的處理器大多以32位元為主。

如果是32位元的暫存器寬度,要計算整數時,可以計算從-2147483648到2147483647的範圍,這數字說大不大,說小不小,但是沒關係,如果你要計算更大的數字範圍,你可以使用浮點數或是用「拼湊的」,把大的數字拆成好幾份,分別計算。

如果你的暫存器寬度是64位元,那計算的範圍就大多了,可以計算從-263到263–1的範圍。如果你常要計算很大的數字,那64位元處理器應該會更有效率(數字不必被拆成兩份以上計算)。問題是,你要計算的數字是不是常會那麼大?

如果是所謂的3D運算,影像處理……那可能會,因為這類大量資料的運作處理,是常需要大量較大數字的運算。從處理器的角度來看,64位元處理器有他的必要性──也許不是極端必要,但在資料量大且數字較大時有點用處。

OS與Processor的相依性
但是,作業系統設計之初,就一定會針對某個處理器的運作模式而撰寫。比方說,Windows XP(一般而言,都是32位元版)就已經針對了Intel的各式處理器(早期也都只是32位元的產品)而設計。所以在業界,有人稱此架構為「Wintel架構」。

這架構可不是任何一邊可以說動就動的。

比方說,有一天,Intel宣佈推出64位元處理器⋯⋯如果這處理器是全新的,和原來的32位元處理器不相容,那這產品一推出就會面臨「沒東西可用」的窘境。事實上,Intel真的推了一個新的6 4 位元處理器, 叫做Itanium,這就是個全新架構的Intel處理器,得搭配全新架構的Windows──不過可不是Windows XP,而是Windows Server。因為這東西並不是設計給一般人用的,所以你並不能拿一般的Windows XP就給它灌下去(我是沒試過就是)。

所以,如果有一天,處理器廠商要把現有的處理器改成64位元,它們就得學習某製藥公司的理念:先求不傷身體再講求效果⋯⋯當然不是!是「先講求和現有軟體相容,再講求新作業系統/軟體的支援」。

所以,當AMD公司先發表,而Intel後來跟進推出64位元處理器之後,其實已經過了好幾個年頭了。確實,Microsoft公司曾推出Windows XP x64版本,但這個作業系統鮮少人用⋯⋯事實上,這產品根本沒有公開發行,只提供給OEM廠商吧?而且這產品沒有原生中文版,你得裝了英文版,再自己更換語系。

x86與x64到底是個什麼意思?
到了Windows Vista發表,終於,64位元的Windows有了所謂的原生中文版。所謂的「原生」是「native」這個字的中譯,意指裝好就是中文版,不需要(像Windows XP x64版一樣)再另外去安裝什麼語系片、修正程式的。某種程度上,Vista的x86版本和x64版本看起來幾乎一模一樣,表面上都是一樣的Windows,但是骨子裡的核心其實大不相同。

首先,說明「x86」和「x64」這兩個字眼的意義。

x86其實是指過去處理器的通稱,Intel以前的處理器大多以86為其產品編號的末兩碼──8086、80286、386、486……。即使到了Pentium時代,大家私底下還是用586、686這樣的說法。不過,太舊的處理器我們就不去探討了,總之,現在我們講x86,其實就是泛指過去32位元的處理器──就是這樣,x86等於32位元。

至於x64,泛指現在新一代,支援64位元(處理器裡面有64位元通用暫存器)處理器的相關產品就對了。

有人會問,「為何不叫x32、x64,幹麼叫什麼x86、x64?」這我也不清楚,請你去問Intel或Microsoft,反正我來的時候就這樣了,我也不知道為何不用容易辨識的方式,所以不要問我,謝謝。x64作業系統的相容性如何?
x86版的作業系統可以裝在x86和x64的處理器(前面講過,因為相容的必要),而x64的作業系統,就只能裝在x64的處理器,這是各位應該要知道的第一點。

而大多數的較老的應用軟體(32位元的),大多可以裝在x86和x64的作業系統裡面跑,問題不多,這是你該知道的第二點。但是專門的x64軟體,則一定得裝在x64作業系統底下跑才行。問題是,那我們為何需要x64作業系統和軟體?

其中一個神奇的理由是:x64作業系統可以支援更大的容量的記憶體。

但是,這裡有個奇怪的問題:x86作業系統只能支援到4GB(或是更少的)記憶體容量,而x64作業系統可以支援到超過4GB記憶體。由於目前上市的各種筆電、桌機,很多電腦出貨時都已經安裝4GB記憶體了,若是不安裝x64作業系統,那4GB的記憶體就似乎被……浪費了。是的,這是正確的。

所以有些Sony的筆記型電腦,因為出貨時預設的記憶體容量是4GB,所以出貨時安裝的Vista就是Vista x64,Acer、Asus好像也有,恕我就不去一一列舉了。

似是而非的論調
早期的處理器,16位元的代表作──8086,定址能力是1MB(我的天啊!)。可是,2的16次方是65536,也就是俗稱的64K。那按照錯誤的邏輯:8086的應該只能支援64KB的記憶體容量,不是嗎?

再看一個老例子,16位元的傳奇作品──80286,定址能力是……16MB。等一下,這是個16位元的處理器,為何能定址到16MB?再講一遍:處理器的定址能力,和處理器的「幾位元」是無關的。一般處理器業界/學界所稱「這處理器是XX位元」,是指這處理器的「通用暫存器多寬」而不是定址能力。技術的細節,我就不再此仔細的描述了。總之,用一些修補程式(網路上有,似乎是彼岸的高手寫的),如果你的主機板夠新,晶片組夠新,記憶體夠多,經過patch之後,32位元的Vista/Win7,也可以支援到超過4GB。事實上,Microsoft的server產品中,有些32位元的WindowsServer也可以支援超過4GB以上的記憶體容量。

也就是說,Microsoft的Windows設計中,本來就存在一些問題, 讓Windows只要支援到3.25GB左右,因此你裝32位元的Windows就無法使用後段的記憶體,這樣的問題是存在於所有的32位元Windows,包括Windows XP/Vista/Win7,Microsoft應該也不會去解決了。結果現在的情況就變成:如果你的電腦有超過3GB以上的記憶體,恐怕就得裝Windows x64較好,才能完整應用所有的記憶體容量。不過這並非32位元處理器的限制,這是Windows本身設計的限制。但是Windows經過「非正式」的修補也可以解決此問題(我試驗過),但非官方的任何事情都不被建議的(畢竟這不知道會不會有副作用)。

本期結論:列舉x64 Windows的優缺點
如果你的電腦有超過3GB以上的記憶體容量(4GB、6GB、8GB……,我目前裝機都是裝到8GB),我確實會建議你裝x64作業系統。但是,到底裝了x64作業系統有什麼好處?

其實,真的不多。

如果跑一些「專屬的應用程式」,像是x64版的Photoshop或是x64版的AutoCAD,若是在讀取較大的圖檔,那會快不少,差距甚至達到10倍!不過那是在讀取較大的圖檔,請不要忘記這個前提。

換句話說, 資料量大時,x64Windows有其優勢。

反之,裝了x64版本的Windows(無論是Win7還是Vista),你得有64位元版的驅動程式,你的系統程式得支援64位元。以我而言,如果你想用什麼「記憶體最佳化軟體」(像是Cacheman),那都得特別找尋64位元版的,有些冷門的硬體也可能沒有64位元的驅動程式,面臨淘汰!

再舉一例,如果你的程式已經是64位元版的,像是x64 Windows裡面的IE或是記事本,那你的輸入法還得是64位元版的才能正常運作。如果你安裝的是32位元版的輸入法(像本人慣用的新酷音),那很抱歉……你不能在記事本裡面打字,原因為何?我……我不清楚,我試驗結果是如此,而且無解(除非哪天出了64位元的新酷音)。

如果你並不是執行資料量大的程式,那64位元對你就沒有太大的好處。如果你的記憶體容量不大,64位元也沒有太大必要性。如果你的程式都是32位元版本的,像是辦公文書、燒錄、瀏覽器,那64位元的Windows也不會讓它們變快。即使這些程式也推出64位元版本,獲得的效能增益也很有限(因為它們處理的資料量不大)。

不過,Microsoft的Server已經不再推出32位元版本的,我認為這樣比較方便版本控管(維護兩種作業系統真是會要人命)。所以如果問我,那採用64位元的Windows 7就像是自然演化。也許32位元的Windows不會立刻滅亡,但全面進化到64位元的OS是遲早的事情。所以……我的結論是:你遲早得用64位元的Windows,只是也許會晚點吧!


Microsoft的官方網站,說明64位元平臺的各項優點。


Advertisement

更多 iThome相關內容