Il mondo dei dispositivi mobili Android (e non solo) è oggi di fatto governato dall’architettura ARM. Non si tratta di un monopolio perché il design dei System-on-a-Chip (SoC) viene concesso in licenza dalla britannica ARM alle aziende interesse previo versamento di royalty: queste ultime utilizzano la proprietà intellettuale di ARM e personalizzano i vari progetti grazie ad attività di ricerca e sviluppo promosse internamente.
Quando all’orizzonte c’era la possibile acquisizione di ARM da parte di NVidia, poi sfumata, prendemmo in esame il tema delle royalty e l’impatto della proprietà intellettuale di ARM sul business di aziende come Huawei.
L’architettura RISC-V è diversa, innanzi tutto perché è aperta e libera dalla corresponsione di qualsiasi royalty. L’Europa sta promuovendo la realizzazione di un processore basato su RISC-V: sviluppato dalla franco-tedesca SiPearl, si tratta di un chip importante perché è il primo processore RISC-V general-purpose. AMD stessa contribuisce al progetto fornendo i suoi acceleratori Instinct che saranno utilizzati per attività di exascale supercomputing.
Se fino ad oggi Google non aveva mai rivelato la sua posizione rispetto a un’eventuale adozione dell’architettura RISC-V, adesso l’azienda guidata da Sundar Pichai ha cominciato a “mostrare le carte”. Addirittura partecipando al recente summit su RISC-V e il progetto AOSP (Android Open Source Project), i responsabili dell’azienda hanno dichiarato che RISC-V viene considerata come una piattaforma di primo livello per Android. Le parole sono di Lars Bergstrom, ingegnere responsabile di Google, che per la prima volta mette alla pari RISC-V e ARM.
Bergstrom afferma che arrivare alla produzione di build Android ottimizzate per RISC-V richiederà “molto lavoro” e ha delineato una tabella di marcia che richiederà “alcuni anni” per realizzarsi. Fatto sta che in seno al progetto AOSP, da settembre 2022, vengono rilasciate patch ufficiali per i dispositivi RISC-V.
Il sistema di compilazione è attivo e funzionante e chiunque può utilizzare l’ultimo ramo di sviluppo “riscv64“. Coerentemente con quanto fatto nel caso di ARM, Android supporterà soltanto piattaforme RISC-V a 64 bit: in un altro articolo abbiamo visto le differenze tra 8, 16, 32 e 64 bit.
Per ora, il massimo che si può ottenere su RISC-V è una riga di comando ma Bergstrom ha promesso l’imminente arrivo di un emulatore capace di supportare ART (Android RunTime).
Google vuole insomma spingere convintamente l’acceleratore su RISC-V: spetterà poi ai produttori e all’ecosistema supportare la piattaforma.
Ad ogni modo, quando ART diventerà utilizzabile anche su RISC-V, buona parte delle applicazioni Android saranno direttamente eseguibili sulla piattaforma. La compilazione avverrà su RISC-V senza alcun lavoro aggiuntivo da parte degli sviluppatori.
Codice che non è scritto in Java dovrà essere portato manualmente su RISC-V ma quella descritta da Google è un’ottima base di partenza.