Tutti conosciamo il ruolo dell’opensource e delle licenze libere nel mondo del software. Cosa impensabile fino a qualche tempo fa, Microsoft non si è più barricata dietro i suoi sorgenti chiusi ma ha cominciato ad aprirsi alle varie comunità inviando importanti contributi per la crescita dei principali progetti.
Basti pensare che Microsoft è entrata a far parte di Open Invention Network, della Open Source Initiative (OSI) e della Linux Foundation; ha integrato in Windows 10 la possibilità di usare una versione ufficiale del kernel Linux; supporta le principali distribuzioni Linux su Azure e consente l’utilizzo diretto di molteplici prodotti software opensource sulla sua piattaforma cloud Azure: Microsoft: ci eravamo sbagliati sull’opensource.
RISC-V è il paradigma che potrebbe innescare sull’hardware quella rivoluzione che l’opensource ha introdotto sul versante software.
Cos’è e come funziona l’insieme di istruzioni RISC-V
Con il termine insieme d’istruzioni (instruction set architecture, ISA) si fa riferimento a quegli aspetti dell’architettura di un calcolatore visibili a basso livello al programmatore.
Come abbiamo visto nell’articolo Differenza tra processori ARM e x86, due tra le più note e importanti categorie di ISA sono CISC (Complex Instruction Set Computer) e RISC (Reduced instruction set computer).
I chip x86 inizialmente poggiavano su un design CISC puro anche se successivamente i produttori hanno iniziato ad abbracciare almeno in parte il paradigma RISC.
I chip progettati da ARM sono RISC anche se pure in questo caso la società britannica, col tempo, ha iniziato a integrare caratteristiche che erano originariamente “prerogativa” dei CISC.
Negli anni ’80 ci fu una vera e propria battaglia tra coloro che sostenevano lo sviluppo di chip che rispondessero a molteplici istruzioni hardware (CISC) e coloro che invece puntavano sul concetto di sviluppo di chip semplice, veloce e di uso generale spostando le elaborazioni più complesse sul software (RISC).
Anche se i processori RISC come gli SPARC di Sun Microsystems o i PowerPC di IBM hanno raggiunto quote di mercato certamente rilevanti, l’impostazione scelta da Intel con l’architettura x86 CISC ha avuto la meglio.
In realtà, come accennato in precedenza, i processori del colosso di Santa Clara usavano comunque il paradigma RISC (molto di più di quanto Intel non abbia mai ammesso…) e soltanto con i progetti dei chip ARM si è tornati all’approccio RISC, ai vantaggi di quel “keep it simple” che tanto hanno valso in termini di efficienza energetica.
Il progetto RISC-V (si pronuncia risc-five) è in fase di lavorazione da anni sotto la spinta della RISC-V Foundation, costituita nel 2010.
Con sede in Svizzera, RISC-V Foundation attualmente annovera circa 325 membri tra cui spiccano i nomi di aziende molto note quali Google, Qualcomm, NVIDIA, Samsung, Western Digital, IBM e Micron.
Non ci sono però solo realtà statunitensi: RISC-V Foundation può contare ad esempio sulla partecipazione del produttore europeo di chip NXP Semiconductors oltre che sul gigante cinese dell’e-commerce Alibaba e sulla conterranea Huawei.
Fino ad ora, se si escludono le dichiarazioni rese da Alibaba (Il mercato dei processori in ambito business sta cambiando: in arrivo soluzioni RISC-V), le notizie riguardanti il design del primo processore europeo (A che punto si trova lo sviluppo del processore europeo: iniziativa EPI), l’utilizzo di RISC-V da parte di Huami nelle sue smartband Amazfit, l’adozione del design da parte di NVidia in vista della sostituzione del controller Falcon per le sue schede grafiche, da parte di Western Digital in alcune sue unità, l’attenzione si è concentrata soprattutto sui SoC ARM.
Con l’acquisizione di ARM da parte di NVidia le cose potrebbero però cambiare: NVidia compra ARM per 40 miliardi di dollari.
La corsa per la realizzazione di un processore opensource con RISC-V
Per molti RISC-V è già sinonimo di “libertà”: sia i chip x86 che quelli basati sul design ARM sono costosi, soprattutto per questioni di licenza (versamento delle royalty per lo sfruttamento dell’altrui proprietà intellettuale).
L’obiettivo di RISC-V e della fondazione che promuove il nuovo paradigma è quello di rompere gli attuali schemi e superare la situazione di duopolio che si è venuta a creare: con Intel e AMD sul versante x86, con ARM dall’altro lato della barricata. Con tutte e tre le aziende che stanno peraltro cercando di estendere il proprio business su territori marginalmente esplorati in precedenza (si pensi al remunerativo mercato dei server e delle soluzioni per i data center).
Esattamente come il software opensource e il movimento del software libero hanno spezzato molte delle catene che ingabbiavano l’industria, così RISC-V cerca di fare qualcosa di simile per quanto riguarda l’hardware.
Lo schema utilizzato oggi da RISC-V poggia su un array composto da 32 registri che contengono informazioni sullo stato operativo del processore, i dati che vengono utilizzati in ogni istante e i meccanismi legati alla loro gestione.
L’array è abbastanza ampio da ridurre al minimo la necessità di accedere alla memoria esterna per molte attività di base svolte dal processore: in questo modo si può ridurre il consumo energetico aumentando contemporaneamente le prestazioni.
I progetti per i chip RISC-V sono stati per il momento ideati nelle versioni a 32, 64 e 128 bit.
La compressione delle istruzioni è uno dei pilastri di RISC-V, meccanismo che permette di guadagnare in velocità. Allo stesso tempo è stato definito un set di istruzioni molto semplice ma allo stesso tempo estremamente modulare.
Il design dei chip utilizza la licenza Creative Commons CC BY 4.0: il nucleo sarà sempre aperto e libero ma gli ingegneri che si occupano dello sviluppo dell’hardware possono comunque concedere in licenza eventuali estensioni o elementi aggiuntivi.
Dal momento che il design RISC-V è estraneo al controllo di qualunque soggetto, sono in molti a scommettere sul suo successo nel giro di alcuni anni e, soprattutto, sull’azione che potrà svolgere per modificare radicalmente l’attuale status quo.