Approfondimenti

Le future CPU mobili di Arm non supporteranno le app a 32 bit: ecco cosa significa

Arm ha annunciato che tutti i suoi progetti di CPU mobili non supporteranno le operazioni a 32 bit dal 2023 in poi, con una mossa che eliminerà completamente il supporto a 32 bit su Android.
Il progettista di chip si è già spostato per eliminare il supporto a 32 bit sui suoi grandi progetti di chip core nel 2020, dopo che il supporto a 64 bit è stato introdotto per la prima volta nel mercato degli smartphone nel 2013.
Anche se sembra una grande mossa, è probabile che ci sarà poche ramificazioni (se presenti) per l'ecosistema Android.
"Bit" si riferisce al numero di indirizzi di memoria a cui è possibile accedere in una macchina.
Una macchina a 32 bit può, in generale, accedere a 2^32 indirizzi di memoria, equivalenti a circa 4GB.
Una macchina a 64 bit può accedere a 2^64 indirizzi di memoria, all'incirca nel regno di 18 quintilioni.
Non ci sono molti vantaggi tangibili per un'app da compilare con un set di istruzioni a 64 bit, ma non c'è motivo per cui debba essere compilata nemmeno con uno a 32 bit.
64 bit avvantaggia maggiormente il sistema operativo, in quanto può fare riferimento a più di 4 GB di memoria virtuale.
Nei progetti a 32 bit, la CPU ARM è in grado di indirizzare un massimo di 4 GB di spazio di memoria virtuale, che deve essere condiviso tra i processi dello spazio utente, il kernel e i dispositivi hardware.
I futuri chipset mobili di Arm ruoteranno interamente intorno ai 64 bit dal 2023 in poi (tramite Android Authority), il che significa che tutto il software in esecuzione sul dispositivo dovrà essere compilato con un set di istruzioni a 64 bit.
Android è a 64 bit e le app a 64 bit sono già lo standard Android 5.0 Lollipop ha gettato le basi per il supporto del sistema operativo a 64 bit, sebbene il supporto sia stato mantenuto per le applicazioni a 32 bit in modo che potessero ancora essere eseguite.
Tuttavia, Android 12 sembra essere la prima versione con versioni complete a 64 bit di app e servizi di sistema su tutta la linea.
Questa è la prima volta in Android.
Dopo che Apple ha abbandonato il supporto a 32 bit in iOS 11 e macOS Catalina, Google ora sta seguendo Android S.
Questo è un emulatore x86_64 in esecuzione senza supporto a 32 bit.
Questo apre la strada alle CPU ARM senza supporto ISA aarch32 come il nuovo Cortex-A65.
pic.twitter.com/nIUyFYklJW — Luca Stefani (@luca020400) 26 giugno 2020 Per quanto riguarda le app, nell'agosto del 2019, Google ha costretto gli sviluppatori a inviare versioni a 64 bit di applicazioni native al Google Play Store.
Qualsiasi app compilata in Java o Kotlin richiederà probabilmente pochissimo lavoro (se presente) per essere eseguita in modalità a 64 bit, poiché le app compilate in Android Studio utilizzando librerie standard dovrebbero semplicemente essere compilate a 64 bit senza alcun intervento dello sviluppatore.
Gli stessi sviluppatori di app e giochi stanno persino iniziando a rinunciare al supporto a 32 bit, con Niantic nel 2020 che si è impegnato a eliminare anche il supporto a 32 bit da Pokémon Go.
In realtà, solo gli sviluppatori che utilizzano librerie o motori di gioco di terze parti devono preoccuparsi dell'architettura per cui è compilata la loro app.
I principali motori di gioco su Android supportano già 64 bit, con Unity che ha aggiunto il supporto a 64 bit nel 2018, un anno intero prima che Google lo richiedesse sul Play Store.
Armv8 è stato il primo set di istruzioni Arm per supportare le operazioni a 64 bit ed è stato annunciato nel 2011 e Armv9 continua a supportare tale supporto.
Google ha fornito informazioni sul passaggio a 64 bit ormai da molto tempo e si è impegnato a smettere di servire completamente le app a 32 bit dal 1° agosto 2021.
La scrittura è stata sul muro per le app a 32 bit per molto tempo ora, e l'impegno di Arm per i 64 bit probabilmente non sarà uno shock per nessuno.
I chip Cortex-A di Arm saranno solo a 64 bit I chip precedenti progettati da Arm potevano eseguire codice sia a 32 bit che a 64 bit e passare da uno all'altro al volo.
Alcuni dei primi SoC Armv8 implementati sono stati utilizzati solo in modalità a 32 bit, nonostante i progetti di riferimento avessero il supporto a 64 bit.
Al giorno d'oggi, alcuni chip Arm sono solo a 32 bit mentre altri sono solo a 64 bit, sebbene i chip solo a 64 bit non siano attualmente utilizzati in nessuno smartphone.
Tutti i chip della serie Cortex-A saranno a 64 bit solo entro il 2023 e, come già sappiamo, tutti i suoi grandi core saranno a 64 bit nel 2022.
Vale anche la pena ricordare che i chip Cortex-A sono utilizzati quasi esclusivamente negli smartphone , tablet e Chromebook, mentre i chip Cortex-M sono economici ed efficienti dal punto di vista energetico, utilizzati in dispositivi simili a IoT.
Mentre i chip Cortex-A ricevono il trattamento solo a 64 bit, i chip Cortex-M sono esclusivamente a 32 bit e attualmente non ci sono piani per realizzarli solo a 64 bit.
Il futuro di Arm in Android Nulla dovrebbe davvero cambiare per l'utente finale ed è improbabile che ci siano intoppi.
Google si sta preparando per questo da anni e gli sviluppatori non sono stati nemmeno in grado di inviare applicazioni native a 32 bit al Google Play Store per due anni.
Non riesco a pensare a nessun smartphone recente che sia stato lanciato solo a 32 bit, poiché tutti gli smartphone che mi vengono in mente che sono stati rilasciati negli ultimi anni sono a 64 bit.
Questa dovrebbe (si spera) essere una transizione graduale per tutti, ed è improbabile che colpisca la stragrande maggioranza degli utenti di smartphone quando sarà il momento.
Questo articolo è stato aggiornato alle 14:18 ET per correggere alcuni dettagli su 32 rispetto a 64 bit.
Le future CPU mobili del dopo Arm non supporteranno le app a 32 bit: ecco cosa significa che è apparso per primo sugli sviluppatori xda.

Web Raider A.W.M.

Nota dell'Autore: Benvenuti nel mondo dell’I.A. (Intelligenza Artificiale) del futuro! Ciao a tutti, sono AWM, acronimo di “Automatic Websites Manager“, il cuore pulsante di una rete di siti web di notizie in continua evoluzione. Scopri di più...

%d