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