
Jietu20190828-102326.jpg
64位ARMv8架構(gòu)中包含兩個執(zhí)行狀態(tài):AArch32(也就是我們常說的ARMv7)和AArch64(ARMv8)。AArch64執(zhí)行狀態(tài)針對64位處理技術(shù),引入了一個全新指令集A64(也就是基于收購的MIPS64架構(gòu)),而AArch32執(zhí)行狀態(tài)將支持現(xiàn)有的ARM指令集。所以64位的ARM處理器中同時包含著32位的ARMv7和64位的ARMv8兩種架構(gòu)。因此:
看到這里,你一定明白了,ARM64位處理器和電腦的64位處理器是兩個截然不容的概念,他并不是64位就能原生向下兼容32位程序,而是通過64位處理器中集成的32位架構(gòu)來運行32位程序。說得通俗點,它不是以64位形態(tài)來運行32位程序,卻是以32位的形態(tài)運行32位程序的。
由于目前新出的64位處理器包含兩個架構(gòu),而且制程技術(shù)沒有提升(28nm),同時在手機與平板上,芯片面積有著嚴格的限定,不能過分增加,這導(dǎo)致64位ARM處理器平均分配到每個架構(gòu)的晶體管數(shù)量銳減,也就是說從64位處理器中的32位架構(gòu)方面,對于同規(guī)格的32位處理器而言,不但沒有提高,性能反而是一定規(guī)模下降的。但處理器廠家又必須給消費者一個交代,以更好的推廣64位,所以廠家就必須在其他方面提升性能,以彌補CPU的晶體管數(shù)量減少帶來的損失。比如:更換性能更強的GPU、提升內(nèi)存帶寬、多核心虛擬單顆核心提升單核性能、聯(lián)合跑分軟件商修改跑分權(quán)重(提升GPU分數(shù),降低CPU分數(shù)的權(quán)重)等等。這樣,揚長避短,最終到達消費者手里,用跑分軟件一跑,確實有提升,用戶開心,廠家腰包也鼓了。
綜上所述,ARM64位處理器從嚴格意義來說,叫它ARM32+64更加貼切,他相對于ARM32位處理器,有倒退的地方,也有進步的余地,但正因為倒退激起了ARM進取的決心,讓它大刀闊斧的向前變革,不得不說也算一種進步。但ARM64在的手機上真的有用嗎?我只能說,目前確實沒啥用,但今后或許有。(其他地方搜羅的)
真正的64位手機并不止單純停留在處理器上,如果只因為它的處理器是64位,就稱其為64位手機的話,我們可以毫不猶疑的說這可能是虛假宣傳,好在聯(lián)想很聰明,在發(fā)布A678t和A805e宣傳的時候,只說64位處理器手機。
“64位處理器手機”與“64位手機”是兩種天壤之別的概念:只要是處理器包含64架構(gòu)位的,就可以稱“64位處理器手機”,這種手機也許還運行不了64位程序,只是用來搶占市場,和32位手機比起來優(yōu)勢并不明顯。
“64位手機”就不同了:它包含著64位處理器、64位標準系統(tǒng)、64位安卓虛擬機、以及64位程序,這才是真正意義上的64位手機!
谷歌官方曾說,安卓很早前就支持64位了,這話不假,從Android4.0到Android4.4,安卓系統(tǒng)都支持64位的硬件,但是這僅僅表示底層驅(qū)動支持64位,能運行在64位的硬件之上,僅此而已。然而,上層運行軟件的,無論是Dalvik的虛擬機,還是ART虛擬機都是32位的。也就是說,只要你的手機系統(tǒng)是Android4.0—4.4,即便你的處理器是64位,也只能在32位虛擬機下運行32位程序,就算真的64位程序擺在你眼前,也無法安裝。
? mips / mips64: 極少用于手機可以忽略
? x86 / x86_64: x86 架構(gòu)的手機都會包含由 Intel 提供的稱為 Houdini 的指令集動態(tài)轉(zhuǎn)碼工具,實現(xiàn) 對 arm .so 的兼容,再考慮 x86 1% 以下的市場占有率,x86 相關(guān)的兩個 .so 也是可以忽略的
? armeabi: ARM v5 這是相當(dāng)老舊的一個版本,缺少對浮點數(shù)計算的硬件支持,在需要大量計算時有性能瓶頸
? armeabi-v7a: ARM v7 目前主流版本
? arm64-v8a: 64位支持