過去數月,多款新智能手機都把64位處理器作為賣點。用戶應當購買一款配置64位處理器的手機嗎?64位處理器的性能是32位處理器的2倍嗎?這兩個問題的答案是否定的。轉向更新的ARM架構會帶來性能的提升,但64位計算技術卻不能。 在用戶購買首款64位Android手機(HTCDesire 510)前,或開始對將于今年秋季上市銷售的64位手機“垂涎欲滴”前,本文將討論64位計算技術的真正含義,以及用戶需要關心或無視它的理由。
什么是64位處理器?
“64位處理器”的定義不止一種。最常見的一種說法是,64位計算技術意味著處理器可以訪問超過4GB的系統RAM。這種說法是不正確的,一款芯片的“位數”與它能尋址的內存容量沒有關系。
在完成加法、乘法、移動或復制數據等操作時,處理器可以使用2種類型的數據:整型(例如90210)或浮點型(例如3.14159265359)。如果一款處理器能完成多達16位的整型數據操作,它就被稱作16位處理器;如果能完成多達32位的整型數據操作,就被稱作32位處理器。讀者一定能猜想到,64位處理器能處理多達64位整型數據的操作。
32位處理器使用32位數據表示內存地址,64位處理器使用64位數據表示內存地址。這意味著,在32位處理器上運行時,一款軟件的最大尋址范圍只有4GB,即使處理器本身的尋址能力更強大;64位處理器使用64位整型數據表示內存地址,一款軟件的最大尋址范圍是16艾字節(exabyte)——實際上相當于無限的內存。
對于大多數軟件來說,64位處理器帶來的好處不大。在智能手機或平板電腦上運行的大多數應用,對64位整型數據操作的需求都不大,使用的內存容量也不會超過4GB。事實上,有時64位應用的運行速度低于32位應用,因為使用64位內存指針會使應用“膨脹”,占用更多緩存和內存。
為什么移動64位處理器性能更高?
ARM處理器由32位發展為64位,只是范圍更廣、更重要的變化的一個方面:由ARMv7架構升級為ARMv8架構。
過去近10年,基本上所有智能手機芯片都基于ARMv7。所有現代智能手機——從第一代iPhone和T-Mobile G1到iPhone 5和Galaxy S5,它們都配置基于ARMv7架構的處理器。誠然,過去數年ARMv7一直在進步,但其基本架構近10年來卻一直沒有什么變化。
ARMv7確實有些老邁了。約3年前,ARM發布了新的處理器架構ARMv8。ARMv8包含有許多改進。它能執行所有ARMv7指令,并對它們進行了簡化。ARMv8新增添了面向現代應用的指令,并淘汰了部分陳舊的指令。另外,它還增添了適用于加密操作的指令。更重要的是,ARMv8中的寄存器數量翻了約一番。這非常重要,因為這意味著ARMv8能在更短時間內從內存中讀取數據。當然,ARMv8支持64位計算技術,但與32位的ARM軟件兼容。
ARMv8架構提高了64位芯片的運行速度和運行效率,而非僅僅是一款64位芯片。對于媒體來說,與解釋增加的寄存器數量或新指令集帶來的好處相比,宣揚“64位”計算技術更能吸引眼球。
64位計算技術有很大影響?
這一問題的答案既是肯定的也是否定的。首批64位Android手機的性能可謂“參差不齊”。例如,HTC Desire 510配置高通驍龍410處理器,是一款低價手機,運行速度比市場上大多數高端手機要慢。驍龍410基于ARMv8架構,是一款64位處理器。高通即將推出的新一代64位處理器是中檔的驍龍610和615。高通真正厲害的高端64位處理器是驍龍810,配置驍龍810的手機明年初將會上市銷售。
另一方面,配置雙核64位英偉達Tegra K1處理器的平板電腦將于今年底前上市銷售。Tegra K1運行速度相當快。
蘋果iPhone 5S手機配置64位處理器,上市銷售已經約1年時間。iPhone 5S運行速度很快,但配置32位處理器的部分Android手機性能已經可以媲美iPhone 5S。
因此讀者不要被手機配置清單中64位處理器所蒙蔽。手機轉向支持64位計算技術的ARMv8架構是件好事,但并非每款64位處理器的運行速度都比任何一款32位處理器更快。
64位處理器需要Android L的配合
僅64位處理器不能真正提升智能手機性能,還需要操作系統的配合。如果64位智能手機運行Android 4.4 KitKat,其潛能就無法得到充分發揮。64位硬件還需要Android L的配合,才能充分發揮其潛能。
64位ARM處理器還需要得到操作系統和應用的支持,其潛能才能得到充分發揮。Android L的設計目標是支持ARMv8和64位平臺,而KitKat則不能充分發揮ARMv8和64位平臺的性能。那么,用戶還需要等待應用開發者針對64位平臺對他們的應用進行優化嗎?
誠然,如果開發者針對64位處理器對應用進行優化,應用運行速度會更快,效率會更高,但是,用戶很快就能享受到64位處理器帶來的好處。在Android上,大多數應用都是利用Java語言編寫的。當下載一款應用時,用戶獲得的是java代碼和庫文件,Android操作系統能把這些代碼轉換為智能手機處理器可以執行的軟件。這一過程被稱作“編譯”。
Android L中的編譯器被稱作ART,能夠生成針對新ARM架構優化的代碼。因此,只要智能手機或平板電腦配置64位處理器、運行Android L,即使開發者不對應用進行優化,應用的運行速度也會得到提高。如果開發者對應用進行優化,應用的運行速度會更快。
到明年的現在 就沒有人拿64位處理器說事兒了
營銷部門喜歡“64位”這一詞匯。對于32位手機用戶來說,直覺上會認為64位手機的速度會快1倍。攝像頭像素數量、處理器內核數量也都成了手機廠商的營銷“噱頭”。
營銷部門沒有錯,它只是夸大了64位計算技術對于Android市場的重要性。除64位計算技術外,ARMv8還有許多改進之處。Android L也是如此。但是,處理器和操作系統每年都在進步,今年推出的產品的性能不可能是去年的2倍。
未來1年,幾乎所有新款智能手機和平板電腦都將配置64位處理器,甚至是廉價手機。屆時Android L將會普及, 64位計算技術將不再是一個值得大書特書的賣點。
評論