De toekomstige mobiele chips van Arm zullen vanaf 2023 geen 32-bit apps ondersteunen, wat betekent dat alle Android-smartphones zullen overstappen naar 64-bit.
Arm heeft aangekondigd dat al zijn mobiele CPU-ontwerpen vanaf 2023 geen 32-bit-bewerkingen zullen ondersteunen, een stap die de 32-bit-ondersteuning op Android volledig zal beëindigen. De chipontwerper al verplaatst naar 32-bits ondersteuning op zijn big core-chipontwerpen in 2020, nadat 64-bit-ondersteuning in 2013 voor het eerst op de smartphonemarkt werd geïntroduceerd. Hoewel het een grote stap lijkt, zullen er waarschijnlijk weinig of geen gevolgen zijn voor het Android-ecosysteem.
"Bits" verwijst naar het aantal geheugenadressen waartoe in een machine toegang kan worden verkregen. Een 32-bits machine heeft over het algemeen toegang tot 2^32 geheugenadressen, wat overeenkomt met ongeveer 4 GB. Een 64-bits machine heeft toegang tot 2^64 geheugenadressen, grofweg 18 biljoen. Er zijn niet veel tastbare voordelen verbonden aan het compileren van een app met een 64-bits instructieset, maar er is ook geen reden om deze met een 32-bits instructieset te compileren. 64-bit komt het besturingssysteem meer ten goede, omdat het kan verwijzen naar meer dan 4 GB virtueel geheugen. Bij 32-bits ontwerpen kan de ARM CPU maximaal 4 GB aan virtuele geheugenruimte adresseren, die moet worden gedeeld tussen gebruikersruimteprocessen, de kernel en hardwareapparaten. De toekomstige mobiele chipsets van Arm zullen vanaf 2023 volledig rond 64-bit draaien (via
Android-autoriteit), wat betekent dat alle software die op het apparaat wordt uitgevoerd, moet worden gecompileerd met een 64-bits instructieset.Android is 64-bit en 64-bit-apps zijn al de standaard
Android 5.0 Lollipop legde de basis voor 64-bits OS-ondersteuning, hoewel de ondersteuning voor 32-bits applicaties behouden bleef, zodat ze nog steeds konden draaien. Androïde 12 lijkt echter de eerste release te zijn met volledige 64-bits versies van systeem-apps en -services over de hele linie.
Wat apps betreft, lang geleden in augustus 2019, Google dwong ontwikkelaars om 64-bits versies van native applicaties in te dienen bij de Google Play Store. Alle apps die in Java of Kotlin zijn gecompileerd, zullen waarschijnlijk heel weinig werk (indien aanwezig) nodig hebben om in de 64-bits modus te draaien, aangezien apps gecompileerd in Android Studio met behulp van standaardbibliotheken zou gewoon in 64-bit moeten worden gecompileerd zonder enige ontwikkelaar interventie. App- en game-ontwikkelaars zelf beginnen zelfs de 32-bit-ondersteuning te laten vallen, met Niantic in 2020 beloofde de 32-bits ondersteuning van Pokémon Go te schrappen ook.
Eigenlijk hoeven alleen ontwikkelaars die bibliotheken of game-engines van derden gebruiken zich zorgen te maken over de architectuur waarvoor hun app is gecompileerd. Grote game-engines op Android ondersteunen al 64-bit, terwijl Unity in 2018 64-bit-ondersteuning toevoegde, een heel jaar voordat Google dit in de Play Store vereiste. Armv8 was de eerste Arm-instructieset die 64-bits bewerkingen ondersteunde en werd aangekondigd in 2011, en Armv9 zet die ondersteuning voort. Google geeft al langer informatie over de overstap naar 64-bit en heeft dat ook gedaan beloofde volledig te stoppen met het aanbieden van 32-bits apps vanaf 1 augustus 2021. De geruchten over 32-bit-apps hangen al een tijdje aan de muur, en Arms toewijding aan 64-bit zal waarschijnlijk voor niemand als een schok komen.
Arm's Cortex-A-chips zullen alleen 64-bit zijn
Eerdere door Arm ontworpen chips konden zowel 32-bits als 64-bits code uitvoeren en daartussen schakelen. Enkele van de vroegst geïmplementeerde Armv8 SoC's werden alleen in 32-bits modus gebruikt, ondanks dat de referentieontwerpen 64-bits ondersteuning hadden. Tegenwoordig zijn sommige Arm-chips alleen 32-bit, terwijl andere alleen 64-bit zijn, hoewel de 64-bit-chips momenteel in geen enkele smartphone worden gebruikt. Alle chips uit de Cortex-A-serie zullen in 2023 alleen nog maar 64-bits zijn, en zoals we al weten zullen alle grote kernen in 2022 64-bits zijn.
Het is ook de moeite waard te vermelden dat Cortex-A-chips bijna uitsluitend worden gebruikt in smartphones, tablets, en Chromebooks, terwijl Cortex-M-chips goedkoop en energiezuinig zijn en worden gebruikt in bijvoorbeeld IoT apparaten. Terwijl Cortex-A-chips de behandeling voor alleen 64-bits krijgen, zijn Cortex-M-chips uitsluitend 32-bits, en er zijn momenteel geen plannen om ze alleen 64-bits te maken.
Arm's toekomst in Android
Voor de eindgebruiker zou er eigenlijk niets moeten veranderen, en het is onwaarschijnlijk dat er problemen zullen optreden. Google bereidt zich hier al jaren op voor en ontwikkelaars kunnen al twee jaar niet eens 32-bit native applicaties indienen bij de Google Play Store. Ik kan geen recente smartphones bedenken die alleen als 32-bit zijn gelanceerd, aangezien alle smartphones die ik kan bedenken en die de afgelopen jaren zijn uitgebracht, 64-bit zijn. Dit zou (hopelijk) voor iedereen een soepele overgang moeten zijn, en het is onwaarschijnlijk dat dit de overgrote meerderheid van de smartphonegebruikers zal treffen als de tijd daar is.
Dit artikel is om 14:18 ET bijgewerkt om enkele details over 32-bits versus 64-bits te corrigeren.