
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.