新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 業(yè)界動態(tài) > 32位已死:對安卓和蘋果意味著什么?

32位已死:對安卓和蘋果意味著什么?

作者: 時間:2021-06-16 來源:快科技 收藏

  宣布,從2023年起,其所有新智能手機內(nèi)核都將僅為64位,且沒有32位兼容模式。

本文引用地址:http://www.butianyuan.cn/article/202106/426340.htm

  其實早在2013年,就在iPhone 5s中使用了64位A7處理器,我們開始擁有支持64位的智能手機處理器。不久之后,64位同樣出現(xiàn)在手機中,不過所有這些既能運行32位代碼又能運行64位代碼。

  因此,我們從僅支持32位,到同時支持32位和64位,再到現(xiàn)在我們將要拋棄32位,進入只有64位的時代。

  這對而言,又意味著什么呢?

  32位已死:對意味著什么?

32位已死:對安卓和蘋果意味著什么?

圖源:快科技

從32位到64位的轉(zhuǎn)變

  智能手機中,每個像素、通過互聯(lián)網(wǎng)發(fā)送的每一個數(shù)據(jù)、存儲在閃存中的每個文件、播放的每個聲音以及屏幕上的每一次觸摸都由數(shù)字表示和處理。依靠GPU等其他組件的幫助,大部分處理由CPU完成。

  處理器以二進制形式存儲這些數(shù)字,為它們分配的空間以位為單位。位由0和1的二進制表示,8位可以表示零到255之間的任何數(shù)字,16位的范圍從0到65,535,而32位可以存儲高達4,294,967,295(即4GB)的數(shù)字。

  在其指令集架構(gòu)的第8版(稱為v8)中引入了64位支持,并且在ARMv9中繼續(xù)支持64位。這兩者也可選擇性地向后兼容以前的32位ARM架構(gòu)。

  這意味著原則上Cortex-A處理器可以運行32位代碼和64位代碼并在它們之間即時切換。用戶不會注意到32位和64位代碼之間的任何區(qū)別。

  事實上,三星的第一款A(yù)RMv8 SoC就是Galaxy Note 4中使用的Exynos 5433,它有四個Cortex-A57內(nèi)核和四個Cortex-A53內(nèi)核,但僅用于32位模式。

  多年來,事情變得更加微妙。ARM有一些基于ARMv8的Cortex-A內(nèi)核,其中某些只有32位(例如Cortex-A32),另一些只有64位(例如Cortex-A34和Cortex-A65)。您可能沒有聽說過這些CPU設(shè)計,因為它們沒有用于任何智能手機處理器。

  從Cortex-53到Cortex-A75的大多數(shù)Cortex-A處理器都支持32位和64位模式。Cortex-A76稍有改變,它支持32位模式,但僅適用于應(yīng)用程序。這意味著您需要運行64位版本的安卓,但您仍然可以運行32位應(yīng)用程序。

  如果您有Snapdragon 855(或更高版本)處理器,或者基于Kryo 4xx(或更高版本)的處理器(包括驍龍480、驍龍675、驍龍720、驍龍730、驍龍765、驍龍780G等),那么處理器已經(jīng)放棄了對32位操作系統(tǒng)的支持,而你沒有注意到。

  隨著Cortex-X2和Cortex-A510對32位應(yīng)用程序的支持的下降,你不得不運行64位操作系統(tǒng)和64位應(yīng)用程序。Cortex-A710保持對32位應(yīng)用程序的支持,這意味著任何無法脫離32位模式的應(yīng)用程序都將被迫在A710核上運行。

  到2023年,所有Cortex-A CPU都將只有64位

  ARM就64位的轉(zhuǎn)移發(fā)表了兩項聲明。

  首先,ARM談到2022年它所有的大內(nèi)核都將是64位的,然后幾個月后ARM又談到2023年它所有的內(nèi)核都將是64位的。

  聽起來不錯,不過Cortex-A510(一個小內(nèi)核)已經(jīng)只有64位了,那么為什么是兩個不同的截止日期呢?筆者認為,我們將在2022年看到支持32位的新的小內(nèi)核,此后一切都將是64位。

  值得注意的是,我們談?wù)摰氖荂ortex-A處理器,即智能手機、平板電腦、Chromebook等中的CPU,而不是在談?wù)揂RM微控制器系列中的Cortex-M CPU。

  事實上,ARMv8-M(M代表微控制器)只有32位。

放棄32位對安卓影響不大

  好消息是64位的安卓是一項成熟的技術(shù),完全放棄32位支持不會有什么很大的不同。

  第一個完全兼容64位的安卓版本是Android 5.0(Lollipop)。它于2014年發(fā)布,增加了對64位Intel處理器以及64位ARM芯片的支持。

  自2019年8月起,所有Google Play應(yīng)用都需要支持64位。為了幫助開發(fā)者支持64位,流行的游戲引擎都添加了支持:Unreal(2015年)、Cocos2d(2015年)和Unity(2018年)。

  從2021年8月1日起,Google Play將停止在支持64位的設(shè)備上提供沒有64位版本的應(yīng)用,這意味著這些設(shè)備上的Play商店將不再提供這些應(yīng)用。

  Google提供了不同的工具和大量文檔,讓應(yīng)用程序開發(fā)人員為切換到64位做好準備。

  對于許多應(yīng)用程序,實際上幾乎沒有什么可做的,因為那些用Java或Kotlin編寫的應(yīng)用程序不需要更改。但是使用游戲引擎或第三方SDK開發(fā)的應(yīng)用程序需要確保使用最新的64位版本。

  由于搭載64位Android的設(shè)備現(xiàn)已上市多年,再加上Google努力確保Play商店中提供64位應(yīng)用程序,因此最終只切換到64位將不會有太大的影響。

蘋果更早放棄32位

  自iPhone 5S以來,蘋果一直在硬件和軟件方面支持64位。

  早在2015年2月,Apple就宣布所有iOS應(yīng)用程序都必須支持64位。之后在2017年,Cupertino宣布32位應(yīng)用程序?qū)o法在iOS 11上運行。

  那時,蘋果就完全放棄了32位,從蘋果A11(在iPhone 8、iPhone X中能找到)開始,所有處理器都只有64位。

  32位已死:對安卓和蘋果意味著什么?

  macOS也有類似的故事。自10.7 Lion(2011)以來,蘋果的桌面操作系統(tǒng)一直是64位的。

  自2018年以來,所有提交到Mac App Store的新應(yīng)用程序都需要支持64位,就像iOS一樣,macOS放棄了對32位應(yīng)用程序的支持(隨著2019年macOS 10.15 Catalina的發(fā)布)。

  今天,macOS 11在Intel上是64位的,在ARM上也是64位,M1處理器僅為64位。

未來是64位的

  從2023年開始,所有Cortex-A處理器都將只支持64位。

  由于安卓支持64位,并且正在轉(zhuǎn)向僅支持64位的應(yīng)用程序且將轉(zhuǎn)換地很順利,因此您可能不太會注意到任何差異。

  如果您是蘋果用戶,那么在iOS和macOS上切換到64位已經(jīng)有一段時間了。我沒有聽說過渡過程中出現(xiàn)任何重大問題。

  對于其他CPU架構(gòu)和其他操作系統(tǒng),如Windows和Linux,32位支持將持續(xù)更長的時間。既然Linux開源,那么32位支持很可能會持續(xù)幾十年。對于x86-64處理器上的Windows,可能連一條清晰的道路都沒有。



關(guān)鍵詞: ARM 蘋果 安卓 CPU

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉