如今面對著鋪天蓋地的關于64位處理的宣傳,有些人可能會產生這樣的想法:64位可以讓游戲以兩倍于以前的速度運行,把粗糙的3D模型轉化為平滑而逼真的模型,甚至把一臺普通的PC變為超強的游戲機。 另一方面,再聽聽反面的聲音:為什么我們要買并不需要的產品?
事實上,這兩種看法都有所偏袒。很明顯,64位不可能帶來兩倍的計算速度,不可能重現當初由8位過渡到16位的那種革命性改變。但64位也不可能是毫無意義的。無論AMD64還是Intel的EM64T,它們都是x86指令的64位擴展,64位能支持更大的內存尋址空間,能帶來更簡潔的編程模型,并且完全向下兼容32位應用程序,這些都是提高性能的有利因素。
為了幫助大家真正地了解64位到底能有多大的提升,我們測試了AMD和Intel的64位處理器,操作系統是最新版本的64位Windows XP。看看目前桌面市場上最快的處理器在64位和32位應用程序的性能。
64位基礎知識
最初,是AMD作為業界的先鋒,首先跨入64位(臺式機范圍)。開始,他們把這種技術叫做x86-64。后來出于市場原因,AMD干脆重新命名為AMD64。實際上,最初AMD K8的微內核就叫做AMD64。面對咄咄逼人的AMD,Intel也加入對64位的支持,當然,名字不能和AMD一樣,于是乎EM64T就誕生了。講到這里,大家應該明白AMD64和EM64T師出同門,他們是相互兼容的。對于普通用戶,他們可以說是一樣的。
無論叫什么名字,最新的桌面處理器都已經支持64位技術了,包括AMD的Athlon64和Opteron系列,以及Intel的Pentium4 600系列和最新的Xeon。Intel宣稱桌面系列的處理器都將支持EM64T,包括低端的Celeron。而AMD并沒有承認Sempron系列也將支持AMD64,但是迫于Celeron的壓力AMD也很由可能這樣做。
時至今天,各種支持64位處理器的Linux已經隨處可見。然而微軟支持x86-64的Windows XP仍然只有beta版本,直到4月份,Windows XP Professional x64 Edition正式版才能問世(注意和支持Itanium的Windows XP 64-bit Edition完全不同)。一旦Windows XP x64 Edition正式上市,64位的市場才能真正活躍起來,所以大家也一定想了解64位計算對自己到底意味著什么。
從正面的角度來說,改變的并不是很多。Windows x64仍然能運行32位應用程序,而且幾乎沒什么區別。微軟把這種兼容技術叫做WOW64,那些32位應用程序就像運行在32位的Windows一樣。但區別還是有的,設備的驅動程序必須重新編譯,原有的32位驅動是不能使用的。大多數情況下,Windows x64集成了常用設備的驅動,所以我們無需安裝任何額外的驅動就能測試Intel 925X和nForce4的平臺。否則,設備供應商必須提供64位驅動才能在Windows x64上正常工作。 例如RealTek和NVIDIA,它們分別提供了64位的聲卡和顯卡驅動,ATI也推出了beta版本的64位顯卡驅動。但是,并不是所有的廠商都發布了64位驅動。
仍然存在著一些程序,它們不能簡單地過渡到64位。例如WinXP x64就集成了兩個版本的IE瀏覽器,分別是32位和64位的。系統默認的瀏覽器是32位的IE,因為幾乎所有的ActiveX控件都是32位編碼的,很難想像我們只用某種軟件的部分功能。同樣的,一些直接硬件訪問的系統級軟件可能會產生某種不可預計的后果,盡管微軟很努力,但可以估計一些補丁程序是必不可少的了。當然,最終所有的程序都會順利過渡到64位,它們只能支持64位的處理器和操作系統。
64位的優點
當AMD研發出x86-64架構時,同時也解決了傳統x86固有的一些缺點。其中最重要的就是內存,原來只支持32位的尋址范圍,因此最大支持的內存是4GB。4GB對普通的桌面電腦來說的確足夠了,但由于市場需要,一些入門級服務器及工作站使用的也是桌面平臺,對它們而言,4GB內存的限制就顯得捉襟見肘了。
從更深的層次來講,32位尋址空間的缺陷不僅僅停留在表面的容量上。在默認情況下,Windows XP對應用程序的限制是最大只能使用2GB的內存空間,為系統級任務保留了2GB內存。(Intel為x86發明了一種物理內存擴展技術PAE,使得Windows的Server版本能訪問128GB的內存,但是PAE的頁面調度效率比較低。)
同時,一部分用戶數據在不斷增長,從高分辨率的數碼相機,到HD視頻,還有需要使用512MB顯存的游戲。科學計算和技術工作站也一直受到32位尋址的限制。
通過把尋址總線擴展到64位,最大的尋址空間可達2的64次方字節,基本上可以說是沒有限制了,每個時鐘單位可以傳送16字節的數據。目前AMD64處理器支持的尋址空間是40位,也就是1TB,虛擬地址空間可達48位,也就是256TB。WinXP x64支持128GB的物理內存和16TB的虛擬內存。Windows的系統緩存由原有32位的1GB增加到64位的1TB。即使是WinXP x64中的32位應用程序,系統也能為他們各自分配4GB的空間。
簡單的說,64位克服了老x86架構的尋址范圍的限制,雖然這種改善不能直接帶來性能上的提升,但做為計算機最核心的部分,這種改進還是非常關鍵的。
寄存器
實際上,提升性能最關鍵的因素是x86-64架構中添加的寄存器。x86-64總共添加了8個常規用途寄存器(GPRs),總數目達到了16。這16組寄存器都能支持64位的數據。同時x86-64還添加了8組128位的SSE/SSE2寄存器,總數目也達到了16。
實際上,性能還于編碼的復雜程度密切相關,復雜的程序需要很多嵌套的循環,更多的寄存器可以提供更高的執行效率。
來源:百度知道