唉,說到這個,一般在討論科學的東西,總是有定義可以查詢吧!!偏偏某一些特定人士,如某j,因為要批AMD的Athlon64,所以可以用"我認為"K8不是真的64bit CPU這種方式來批,Athlon64整數邏輯運算(ALU)暫存器是64bit,也可以跑64bit OS,若這不是64bit CPU,就是Linux 64bit OS/Windows XP 64bit OS不是真的64bit作業系統,因為它讓不是真的64bit CPU在上面跑
曾幾何時要評論抨擊對手時,可以不用查詢一下資料,直接用"我認為"就可以了,難道某人的認為變成"金科玉律"了,XD勒,Orz
-------------------------------------------------------------------------
重新釐清64位元運算的定義和需求
隨著時代的演進,人類的電腦擁有越來越高的位元數,從昔日的8位元,一路進展到今日主流的32位元,而64位元指令集,更早已行之有年,成為高階運算市場的主流。我們有充分的理由可以相信,正如同昔日32位元取代16位元,64位元運算取代32位元也只是時間的問題。
首先,我們先釐清最基本的觀念,一顆處理器所謂的位元數,其基本定義為整數邏輯運算(ALU)暫存器或著是指令指標(IP)暫存器的寬度。所以,以x86指令集為例,從386至今,相容i386指令集的處理器都是32位元。至於浮點運算暫存器,在普遍的指令集設計中,都定義有別於上述兩者的獨立暫存器群,而且寬度往往遠遠超過整數暫存器,例如雙倍精確度的64位元、雙倍延伸精確度80位元、或著是針對SIMD設計的128位元等。所以,浮點暫存器的寬度,和處理器本身多少位元並無任何關聯。
那麼,更高的位元數,會帶來怎樣的好處呢?首先,更長的暫存器,代表更多的資料量或數值範圍。另外,越大的暫存器檔案,配合程式上的最佳化(尤其是設法降低64位元所增加的記憶體使用量),也越能降低記憶體頻寬不足的壓力。不過,對於今天大多數的運算,使用64位元整數的機會並不多,會用到的多半都是特殊的應用,例如資料庫、資料解壓縮、資料加密等等。
所以,目前64位元處理器比較明顯的優勢,就在於64位元的記憶體平面定址能力,擺脫32位元所造成的4GB虛擬定址空間限制。雖然,不少既有的32位元指令集,都有擴充實體定址空間的應急方案,例如 英特爾的PSE/PAE-36延伸定址模式,透過載入不同的分頁表,使處理器可以定址到相當於36位元的64GB實體記憶體。不過,相較於64位元平面定址,這種方法非常的沒有效率,尤其像大型資料庫、或是Web伺服器,會經常發生不規則存取大範圍記憶體的程式行為,導致記憶體存取效率不彰,這對伺服器應用上會造成很大的限制。今天,高階運算及伺服器市場幾乎都已被眾多64位元化的RISC處理器產品所主宰,並不是讓人感到意外的事實。
反過來說,對於伺服器及工作站應用,記憶體定址空間加大有著立竿見影的好處,成為企業迫切的需求實無可厚非。但是,對於一般的個人電腦用戶,將現有的32位元處理器升級至64位元,究竟有沒有這個必要?畢竟,目前的個人電腦,主記憶體距離4GB上限仍有一段不小的距離。如果要說服消費者購買64位元系統,必須使其感受到64位元所帶來的效能優勢,且可以延續現有32位元的軟體應用環境。更何況,除了浮點運算普遍擁有獨立的暫存器群,且今日眾多SIMD浮點指令集更普遍支援整數運算,這也降低了64位元指令集的優勢。
個人電腦市場,在32位元的386推出後的十年,才出現第一個普及的32位元個人作業系統Windows 95及殺手級應用程式Office。雖然,我們有充分的理由相信,這是不變的長期趨勢,但64位元徹底取代32位元,也絕非一朝一夕之功。
http://www.poweruser.com.tw/news_content.php?N_ID=121