M1 di Apple potrebbe dare una mano a RISC-V

3

La fine del 2020 ha visto la realizzazione di una piccola rivoluzione in casa Apple: sono cominciate le vendite dei laptop col chip M1, prodotto da Apple stessa.
E se la rivoluzione non consiste nell’abbandono di una architettura (e Intel) per un’altra, è la prima volta che viene proposto un processore ARM in laptop e desktop di fascia medio-alta.
La scelta deve sembrare davvero promettente se Linus stesso si è augurato di vederci girare sopra Linux – cosa che potrebbe anche accadere.
Tutta questa premessa che ha che fare con RISC-V? Niente, o forse tutto.

Infatti la nuova strategia di Apple ha dimostrato che il mercato dei PC (siano portabili o fissi) non è un dominio esclusivo delle CPU con architettura x86 (siano a 32 o 64 bit, Intel o AMD). C’è spazio per delle alternative, purché possano essere sufficientemente diffuse.
Un articolo di ZDNet indica RISC-V come una possible alternativa, e forse la più promettente. In particolare, la natura open-source del progetto la rende molto allettante per i produttori, specialmente quelli che non siano già dei giganti.

Per architettura di una CPU si intende la definizione dell’insieme delle operazioni che è in grado di fare, chiamato ISA (Instruction Set Architecture). Ogni ISA può avere la sua variante (o il suo livello, come abbiamo scritto per RedHat 9 poco tempo fa), ma un produttore che voglia fare e vendere una CPU per una certa ISA deve pagare una licenza. Cosa che spesso si riduce a scegliere una delle implementazioni già esistenti: dovendo pagare, e a meno di esigenze molto particolari, meglio qualcosa pronto per la produzione piuttosto crearlo da zero.

Come già detto, l’essere open-source fornisce un vantaggio a RISC-V: non solo chiunque può collaborare e avere tutte le informazioni, ma non ci sono licenze da pagare per poter produrre una CPU che ne implementi il set.
In effetti non è l’unica architettura disponibile: abbiamo anche OpenPOWER di IBM, che da poco fa parte anche della Linux Foundation, ma si tratta di un’apertura recente. RISC-V ha semplicemente più storia alle spalle, e supporto negli strumenti GNU di sviluppo (open-source) già implementati.

RISC è l’acronimo di Reduced Istrution Set Compute (set di istruzioni di calcolo ridotto), che è in contrapposizione al più tradizionale CISC (Complex Instruction Set Compute – set di istruzioni di calcolo complesso): nuove iterazioni o capacità dell’architettura saranno (preferibilmente) opzionali, richiedendo solo un numero limitato di istruzioni come base comune.
Questo permette di avere una modularità che altre soluzioni non hanno, con realizzazioni più o meno complesse a seconda delle necessità e del target finale – incidendo anche sull’efficienza energetica: meno funzioni, meno transistor necessari, meno consumo.

Oggi spesso si impiegano due architetture per i server di un datacenter: x86 quando le prestazioni sono necessarie, ARM quando si preferisce avere un minor consumo. Con RISC l’architettura rimarrebbe sempre la stessa, con ovvi vantaggi in gestione, portabilità e sviluppo del software.

Insomma, pare che siamo più vicini a quella “rivoluzione nell’ hardware OpenSource” che già abbiamo annunciato. Manca solo un produttore che voglia investire (molto) e diffondere la propria opera. Speriamo, senza quei vincoli già visti nell’implementazione.

Ho coltivato la mia passione per l’informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.