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