與普通應用軟件相比,家用電腦操作系統的更新速度要慢很多。但每次更新換代,幾乎都會引發整個家用電腦市場的巨大“地震”。從軟件廠商到硬件廠商,都會調整產品策略,推出與之相匹配的新產品。
自2000年微軟推出全新的家用操作系統“Windows XP”以來,五年過去了,蟄伏已久的市場即將面臨又壹次巨變。這是微軟下壹代家用電腦的64位操作系統,傳聞已久,代號“長角牛”,最終被微軟命名為“Windows Vista”。
運行傳統的32位Windows XP時,64位系統的性能提高了多少?同樣的硬件平臺運行64位Windows XP會有怎樣的表現?運行同樣的測試程序,Intel的64位平臺和AMD的硬件平臺哪個能得到更高的分數?
本期封面故事除了向大家介紹64位系統的知識和微軟最新的64位操作系統“Windows Vista”之外,還特別搭建了由Intel和AMD處理器組成的四個不同的64位硬件平臺,用Sandra2005等專業測試軟件對64位系統和32位系統的性能進行了測試和對比,讓大家深入體驗64位系統和32位系統的異同。
當妳在欣賞驚心動魄的科幻大片《前傳三部曲III》時,妳是否覺得我們看到的場景也是逼真生動的,都是來自AMD最新的64位通用計算平臺,而正是這個平臺的低價格和高性能保證了影片的巨大成功?
今年5月19日,備受全球影迷期待的《星球大戰》電影系列——星球大戰III:西斯的復仇在全球上映。這部世界電影史上最著名的科幻電影,再次向全世界展示了科幻電影奇才導演喬治·盧卡斯所想象的奇異空間。
2002年5月19日,《星球大戰II:克隆人的進攻》首日票房收入8000萬美元,最終總票房為31100萬美元。5月1999首映的電影《星球大戰:幽靈危機》也達到了6500萬美元,最終票房4310萬。從此,5月19成了盧卡斯的幸運日。
是什麽成就了喬治·盧卡斯和《星球大戰》電影?它是數字技術。事實上,正是喬治·盧卡斯在1977導演的《星球大戰》中史無前例地使用了電影特技,開創了壹個全新的電影世界,徹底改變了好萊塢對科幻電影的消極態度。盧卡斯也拋棄了傳統的膠片法,所有的影像都用“0”和“1”來記錄和表達。這壹次,他試圖將後期處理工作從昂貴的專用圖形工作站轉移到基於AMD 64處理器的通用服務器平臺上。這樣壹來,電影制作速度明顯提高,成本也不多。《星球大戰III》的後期制作大約制作了6800個鏡頭,讓喬治·盧卡斯有充足的空間“為所欲為”。最後盧卡斯選了2200個鏡頭。《星球大戰第二集》中,盧卡斯只拍了4500個鏡頭。盧卡斯憑借64位計算的速度優勢,豐富了很多電影細節,比如激光劍的倒影,達斯·維達可以當鏡子用的黑色面具,這些都是64位計算帶來的前所未有的創意和魅力。
64位的發展歷程
我們知道,x86架構是在1981以——IBM PC-XT個人電腦的中央處理器Intel8086進入人類世界的。這款當時性能優異價格低廉的處理器,是真正的16位微處理器。Intel發布的80286也是16位x86架構處理器,采用16位x86指令系統,但擁有更先進的保護模式指令集。很快,隨著PC的發展,Intel覺得有必要推出壹款基於32位x86指令集的CPU——80386。經過10年,80486,80586(奔騰),80686(奔騰2),奔騰3,奔騰4,英特爾壹直牢牢占據著個人電腦發展的核心地位。32位x86架構也經歷了10多年。在過去的20年裏,x86以無可比擬的性價比優勢成為計算平臺的標準。x86系統以每年超過6543.8億臺的裝機量和超過90%的市場份額獲得用戶的廣泛認可。同時,開放平臺的良性競爭環境也促進了x86學派遠超RISC系統的技術發展。
圖1微軟操作系統開發歷史
X86產品從最初的PC進入工作站和服務器領域,大有取代RISC,統壹計算世界的趨勢。在這個過程中,阻礙x86進入高端企業市場的唯壹壹點就是x86仍然基於32位技術——對於高端企業服務器和工作站無能為力。隨著企業計算應用的發展,64位應用越來越廣泛,這使得x86向64位擴展勢在必行,也成為統壹64位計算標準的希望。與此同時,在個人、商業和移動計算領域,32位計算也逐漸開始顯得力不從心。無論是出於技術還是競爭需要,32位時代已經逐漸開始過去。
傳統上,企業市場壹直由RISC廠商和UNIX主導。盡管英特爾壹直試圖進入it領域,並取得與個人電腦市場同樣的成功,但它的步伐壹直很慢。因此,英特爾發布了專門為64位市場設計的IA-64架構和相關64位指令規範,並發布了名為安騰的企業級64位處理器。安騰確實是壹款高性能處理器,但其IA-64與x86-32指令集不兼容,這意味著個人電腦應用程序無法在安騰上運行。這樣,大眾用戶實際上被英特爾排除在64位範圍之外。
圖2 32位程序可以在64位windows下運行。
然而,這恰恰給了AMD壹個很好的機會來開發自己的處理器架構,與英特爾競爭。雖然機會出現的像壹眨眼的功夫,但AMD牢牢抓住了它,並開發了自己的64位處理器架構,命名為x86-64。從這個名字可以看出,AMD的64位指令系統是由x86擴展而來的,AMD讓新的64位處理器兼容之前的32位指令集。換句話說,AMD的新處理器不僅是64位處理器,也是32位處理器。AMD成功了,它的驍龍處理器很快被市場接受。壹年之內,AMD推出了三個系列的64位處理器:面向服務器和工作站的驍龍系列;面向發燒友和頂級個人電腦的Athlon FX系列和面向高性能低價臺式電腦的Athlon 64系列。
硬件不足以實現64位計算。從表面上看,64位操作系統似乎是壹個剛剛出現的新事物。其實早在2001,微軟就推出了64位版本的Windows 2000 DataCenter,這是壹款面向英特爾安騰服務器的IA-64架構操作系統,無法在個人電腦上運行。2003年,Windows Server 2003推出了四個版本,分別是專業版、Web服務器版、企業版和數據中心版;企業版和數據中心版都有運行在安騰上的32位和64位版本,而Windows XP也有64位安騰工作站版。應該說微軟是64位道路上的先行者。不過壹向戰無不勝的Wintel聯盟這次也犯了壹個不大不小的錯誤:不能在向後兼容32位中應用。所以在這個32位應用依然占主導地位的時代,這種純粹的64位處理器和操作系統依然難以被大眾接受。
正是因為以上原因,壹般認為64位時代真正開始是從x86領域64位計算的出現開始的。
在64位操作系統的競爭中,Linux可以算是霸主。早在2002年,紅帽Linux就已經支持AMD的64位處理器系列,包括高端的Opteron和低端的Athlon處理器。隨著Linux 2.6內核的發布,Linux對64位計算的支持更加強大。Linux 2.6內核可以支持高達64GB的內存,可以處理大於2TB的文件系統,並在基於x86的SMP系統中支持64個CPU。這些特點使得這個內核和Linux更有資格成為關鍵任務系統的運行平臺。隨著Linux 2.6內核的發布,以SuSE為代表的64位發行版Linux系統迅速出現。
在與Linux的64位競賽中,Windows的起步明顯落後。但是,微軟戰車的力量是強大的,壹旦開始加速,前進的速度是不可小覷的。除了Windows XP Professional x64和Windows Server 2003 x64之外,Windows下壹代操作系統Vista已經出現了最新版本的Beta1,32位版本和64位版本同時發布,可見微軟強攻64位操作系統市場的決心。
圖3支持4GB以上的虛擬內存
除了Linux和Windows,64位操作系統陣營中還有壹個不可忽視的身影:Sun公司的Solaris 10。當Sun總結Solaris 10的主要特性時,第壹篇文章指出它可以在廣泛的基於SPARC和x86的系統上運行,包括新的AMD Opteron處理器。並確保與現有應用程序的兼容性。所以對x86系統平臺的支持是觸手可及的64位應用。
目前64位硬件平臺和操作系統已經蓄勢待發,壹些高端應用也已經出現64位版本。那麽我們能完全擁抱64位嗎?
在下結論之前,我們先來看看Windows平臺上典型的64位應用程序。目前微軟有多種支持64位硬件的Windows操作系統,最新的Vista也同時推出了32位和64位版本,所以操作系統不是問題。除了在操作系統和硬件驅動程序方面的大量更新和升級,微軟還推出了SQL Server 2005(64位)和SQL Server 2000的SP4補丁,以兼容64位計算平臺。開發工具方面,目前微軟已經推出了64位編譯器,涵蓋C/C++、ASP、BASIC語言。他們使用Windows 64 API開發與64位計算平臺兼容的應用程序。
此外,我們也看到越來越多受益於64位平臺的例子。例如,在微軟中國技術中心的全力支持和協助下,北京超圖地理信息技術有限公司完成了其主要GIS軟件產品:SueprMap DeskPro和超圖IS.NET 5.0在微軟Windows64位操作系統下的測試。測試結果表明,上述兩款產品可以完全支持64位操作系統,每秒響應的請求數比32位操作系統高出近1倍,性能大幅提升。在微軟公布的幾個測試中,對於同壹個應用,64位應用的效率遠遠高於32位應用。
隨著x86平臺上64位Windows的發布,Adobe、BMC、IBM、McAfee、Oracle、Symantec、UGS和VERITAS等國際知名軟件廠商都表示已經開發或正在開發支持64位Windows平臺的軟件。在中國,微軟與用友、金蝶、姜敏、瑞星、金山等軟件廠商有合作。預計未來幾個月將有數千種軟件產品問世。
對於開發人員來說,在32位平臺上編寫的應用程序,在64位平臺上重新編譯時,只需要不到10%的修改。開發人員甚至可以使用Microsoft Visual Studio 6 IDE生成64位應用程序,而無需升級到最新版本的Visual Studio。市場上其他可用的64位開發工具包括SUN的64位JAVA編譯器、蘋果的Xcode 2和壹些64位Linux附帶的C/C++編譯器。64位應用的開發不是問題。
似乎“萬事俱備,只欠東風”。真的是這樣嗎?
硬件驅動是壹個容易被忽視但又極其重要的問題。與應用軟件不同,硬件設備的驅動程序不能通過兼容模式與現有的64位操作系統集成。隨著Windows 64位平臺的發布,Intel、AMD、NVIDIA、ATI、Innovation等知名硬件廠商都發布了64位的驅動,但遠遠不夠他們跟進。根據Windows x64的實際測試和安裝,很多測試用戶還是會遇到硬件驅動的問題,用戶用現有的32位驅動暫時無法解決問題,因為驅動必須用原生64位編寫。作為操作系統的重要組成部分,適當的驅動優化和移植需要很長時間才能完成。
目前32位平臺還是可以滿足大部分應用需求的。相對於32位平臺,64位應用太匱乏了。因此,除非有特殊需要,否則用戶不需要壹次性升級到64位平臺。
圖4內存消耗驚人
不得不說兼容性問題。
雖然64位應用潛力巨大,但兼容性問題再次擺在所有軟件廠商面前。
在經歷了從8位計算到16位計算技術和16位計算到32位計算的兩次遷移之後,隨著64位計算的興起,我們再次面臨從32位計算向64位計算的過渡。面對龐大的32位市場,如何過渡到64位計算平臺成為越來越受關註的問題。回顧計算機發展的歷史,我們會發現兼容性在這個過程中扮演著重要的角色。
從8位計算到16位計算技術的過渡,人們可能感受不深,但從16位計算到32位計算的過渡,卻極大地影響了人們的生活。因為對於x86架構來說,16位計算技術向32位計算技術的遷移,使得PC完成了從286架構到386架構的轉變。而也正是因為這種轉變,PC開始真正對人們的生活產生了巨大的影響。32位計算剛推出的時候,面對廣泛的16位軟硬件市場,毅然采用兼容原則,即支持32位計算技術的386處理器全面支持16位計算軟件,成為壹套能夠發揮比任何16位平臺更高性能的計算機平臺。隨著32位計算平臺的應用越來越廣泛,軟件廠商也設計了真正的32位軟件來進壹步探索32位計算平臺的性能。就這樣,經過5年的漫長遷移,32位最終普及並逐漸發展,形成了現在的市場局面。事實上,當x86處理器從16位遷移到32位時,另壹種稱為Risc的架構已經出現。Risc架構因其精簡指令集等優勢,被很多人認為是從16位計算技術到32位計算技術的必經之路。但是Risc架構最致命的缺點就是不兼容當時已經非常流行的x86架構。今天,我們再回頭看那些推Risc架構的廠商,他們大多要麽已經退出了歷史舞臺,要麽只是在壹個非常狹窄、高不可攀的領域裏行走。歷史壹次又壹次向人們展示了壹個規律——每壹次技術遷移發生時,兩個系統之間的兼容性都必須保持到最大,只有平滑過渡的系統才會有最強的生命力。因此,不難推斷,在從32位計算技術向64位計算技術遷移的過程中,系統兼容的規律也會再次發揮作用,因此平滑過渡策略將是從32位向64位遷移的最佳策略。
事實上,從微軟目前推出的兩款桌面64位操作系統可以看出,它們都為32位應用提供了兼容模式。所以,即使64位應用已經來到我們身邊,也並不意味著32位操作系統和應用軟件會馬上退出歷史舞臺。
圖5 32位和64位版本
64位之後
目前,大多數用戶首先接觸的是32位的計算機。回顧歷史會發現,從8位升級到16位,從16位升級到32位的過程是非常快的,大概只有6、7年的時間。32位時長很長,大概20年。這是因為32位計算技術在大多數情況下可以滿足人們的需求。但是現在隨著互聯網等技術的發展,對內存的需求越來越大,比如炒股,全國幾十萬股民在線交易,股票有幾千只。數據量每10秒超過2GB,32位服務器完全不堪重負。在建築、制圖學、地質勘探、環境模擬、視頻制作等專業應用領域,32位平臺也捉襟見肘,升級到64位是潛力。
64位已經來到我們身邊,也許妳還在32位的世界裏漫遊,也許妳覺得數字世界的發展比妳想象的要快,但現實是,數字技術發展的精彩序幕才剛剛揭開,64位永遠不會是數字發展技術的終結。目前有很多128位的協處理器。也許有壹天,虛擬現實技術會讓128位CPU不堪重負,人類將不得不翻越128位的大山,走向更高的目標。如果妳問,未來會有1024位的CPU嗎?奇普,我肯定那不是幻想!
在現階段,64位平臺的性能相對於32位平臺有多強大,眾說紛紜,尤其是在64位平臺上運行32位程序時性能是否會有所提升,壹直是人們關心的問題。為此,CHIP特別搭建了四個具有代表性的64位硬件平臺,用實際測試數據向大家展示現階段64位平臺的實際性能。
為了讓讀者更清晰直觀地了解64位運算的實際性能,我們搭建了四個不同的64位硬件平臺,分別使用英特爾的奔騰4 660處理器和奔騰4 526處理器、AMD FX57處理器和Athlon 64 3200 ++處理器。其中,英特爾奔騰4 660處理器和AMD FX57處理器是兩個高端硬件平臺,而英特爾奔騰4 526處理器和AMD Athlon64 3200+處理器是稍低的主流配置平臺。需要註意的是,兩個高端平臺都是芯片搭建,兩個主流配置平臺直接采用惠普的Pavilion w5189cn和Pavilion a1070cl家用臺式電腦。為方便下文寫作,我們將Intel的兩個平臺命名為Intel 1號平臺(對應高端)和Intel 2號平臺(對應主流),AMD的兩個平臺命名為AMD 1號平臺(對應高端)和AMD 2號平臺(對應主流)。
在測試軟件方面,我們使用了幾個軟件,比如Sandra2005,3DMark05,UT2004,CS:S,CINEBENCH 2003,Far Cry等。我們希望這些軟件的測試能夠從各個方面反映64位系統的特點。在測試過程中,我們在所有四個平臺上都安裝了WindowsXP和Windows XP Professional x64 Edition,然後在這兩個系統上運行相同的測試軟件,比較32位操作系統和64位操作系統在相同的64位硬件平臺上的性能差異。為了讓妳更方便快捷的了解我們的測試數據,我們把所有的數據都做成柱狀圖。另外,由於測試項目較多,我們不再在圖中標註所有的測試數據,而是使用32位和64位系統的差異百分比。比如在Intel壹號平臺上運行Sandra2005中的Dhrystone ALU(MIPS)時,在Windows XP下得到的值是10647,而在Windows XP Professional x64 Edition中測得的值是12666。所以在條形圖上,我們把前者得到的值默認為基數“1”,然後標註出後者比它高的百分比:19%。64位前景誘人
雖然微軟還沒有發布面向中國用戶的x64版Windows XP Home x64 home用戶版和x64 bit版Windows XP Professional x64簡體中文版,但64位的前景幾乎讓所有用戶興奮不已:如果使用64位操作系統,用戶無需任何硬件再投入就能獲得更高的性能。
雖然64位WindowsXP已經推出了壹段時間,驅動程序也越來越完善,但是面向個人用戶的64位軟件仍然很少,64位的性能優勢仍然需要經過64位優化的測試軟件來體現。
Sandra2005是目前為數不多的64位
操作系統優化測試軟件。在64位Windows XP平臺下,Sandra在2005年的成績有了很大的提升,尤其是浮點處理能力。定位高端的英特爾奔騰4 660系統和AMD速龍FX57系統的運算性能更多的得益於64位平臺的遷移,這與高端系統擁有更多緩存和更高的FSB速度不無關系。但在多媒體性能測試中,雖然基於EM64T技術的Intel平臺性能有壹定程度的提升,但規格更接近主流的Pavilion w5189cn性能提升更明顯,浮點x4 iSSE2項目甚至提升了49%之多。另壹方面,基於AMD64技術的兩個平臺的性能提升並沒有Intel平臺那麽大,甚至出現了Integer x8 iSSE2在64位平臺上的得分明顯低於32位平臺的“意外”現象。原因可能與AMD64平臺上使用的編譯器有關。
黎明中的64位系統
在《CS: S》遊戲測試中,64位平臺的測試成績有了很大的提升。通過測試可以看出,在64位環境下,Intel II平板的編解碼能力略優於32位系統。但在OpenGL的渲染測試中,64位系統的渲染能力有所下降。
因為目前64位平臺下沒有多媒體編解碼器,AMD-1平臺在64位平臺下的多媒體處理能力和32位平臺下是壹樣的。然而,在遊戲軟件Far Cry的測試中,CHIP發現在32位平臺下執行效率仍然更高,即使在64位環境下運行32位版本的軟件,也會有壹定程度的性能損失。
AMD壹號平臺也是目前國內芯片能拿到的硬件配置最高的AMD平臺,所以所有測試都是在高負載環境下完成的。通過測試可以看出,在64位Windows XP平臺下,CPU的整數運算能力得到了全面提升,尤其是在浮點運算部分,性能得到了顯著提升。然而,在多媒體計算的測試中,AMD-1平臺出現了負增長。至於綜合多媒體計算能力,64位下的測試結果遠低於32位。但在浮點多媒體處理能力上,64位平臺上的性能已經有了很大的提升。兩個平臺的內存處理能力相似。
總體來說,高端的英特爾平臺比AMD平臺更穩定。以CPU的運算能力為例,無論是整數運算還是多媒體運算,64位的處理能力都比32位平臺有壹定程度的提升。雖然Intel平臺的性能提升比較小,但至少測試數據沒有下降。Intel平臺的內存性能方面,64位和32位基本相同,和AMD平臺的性能壹致。這也說明了現階段的“64位”對內存的性能幫助不是很大。
在《孤島驚魂》的測試中,Intel平臺和AMD平臺出現了同樣的問題,在64位環境下性能不升反降。同時,或許是受多媒體解碼器的影響,在64位環境下使用32位解碼器,Intel平臺的性能並不會得到提升。
在Intel II平臺上,我們沒有做太多的分項性能測試,而是盡量模擬家庭用戶的實際使用環境,使用多種主流軟件進行測試。通過測試可以看出,在CPU計算能力方面,英特爾主流平臺和高端平臺的性能基本相當,性能全面提升,但幅度不大。在顯示性能方面,64位環境下的性能也有所提升。
在AMD II平臺上,其測試項目與Intel II平臺相同。在CPU計算能力的測試中,主流AMD平臺與高端AMD平臺相同,而在整數x8 iSSE2的測試中,分數不升反降,這也排除了測試軟件出錯的可能。在DirectX 9.0的遊戲性能測試中,64位系統都有所提升,只是提升幅度不同。在“CS:S”測試中,AMD II平臺的性能與Intel II平臺相同,在64位環境下有很大提升。另外,在軟件OpentGL渲染的測試中,64位平臺的性能也比32位平臺有很大的提升。