Progetti di base RISC-V open source, perché a Google interessa e perché sono importanti

RISC-V è uno standard ISA (Instruction Set Architecture) gratuito e open source per Systems-on-a-Chip (SoC).

La CPU è uno dei componenti più cruciali dei nostri computer, responsabile dell'esecuzione di calcoli di base, confronti logici e spostamento dei dati. Queste semplici attività costituiscono gli elementi costitutivi di qualsiasi operazione più complessa e rendono possibile l'esecuzione dei nostri sistemi e programmi.

Il modo in cui vengono eseguite queste operazioni non è casuale: una Instruction Set Architecture (ISA) definisce cosa sono e cosa dovrebbero fare i processori dei computer.

Un ISA definisce le istruzioni e le funzionalità supportate, ma non il modo in cui tali istruzioni vengono specificatamente eseguite. Pensatela come una ricetta di cucina: diciamo che è per i bagel: anche se la ricetta è la stessa, ogni chef la eseguirà in modo diverso, disponendo ad esempio i semi di sesamo in modo diverso. Lo chef che cucina secondo la ricetta è, nel nostro esempio, il processore del computer che esegue le istruzioni secondo l'ISA definita. Il risultato però in teoria sarà sempre lo stesso: un gustoso bagel.

Logo del braccioUn diverso set di istruzioni potrebbe non definire direttamente l'acqua bollente, ma consente invece di eseguire determinate operazioni sugli oggetti: riscaldare, misurare e confrontare. Uno chef dovrebbe ora riscaldare l’acqua e confrontare la sua temperatura misurata con la temperatura di ebollizione nota. Esistono due tipi principali di architettura per i processori: Complex Instruction Set Computing (CISC) e Reduced Instruction Set Computing (RISC).

In poche parole, l'obiettivo del CISC è rendere le cose più facili per i programmatori (offrendo un'istruzione per far bollire l'acqua, un'altra per riscaldare l'olio, ecc.) al costo di maggiori risorse. processori, mentre RISC cerca di avere un set di istruzioni più semplice, richiedendo uno sforzo maggiore da parte dei programmatori ma risultando in processori più piccoli e meno potenti consumo. Poiché le due architetture hanno capacità diverse, un programma che viene eseguito su una deve solitamente essere riscritto per essere eseguito sull'altra. Fa parte della famiglia RISC una delle architetture più apprezzate oggi sugli smartphone: ARM, che sta per Acorn RISC Machine.

Vale la pena notare che questo si applica principalmente alla programmazione/porting dei compilatori. Per altri scopi, come la creazione di un programma utente, normalmente utilizzeresti un linguaggio di alto livello che è in qualche modo paragonabile al CISC a livello di software. Un'altra nota importante è che questo confronto ha lo scopo di darti una comprensione semplice ma intuitiva di questi concetti. Una spiegazione accurata e approfondita sarebbe molto più lunga e tecnica.

Questo ci porta finalmente a RISC-V (pronunciato "rischio cinque"), che è un ISA gratuito e open source per SoC (Systems-on-a-Chip, che fondamentalmente racchiude la CPU e altri componenti necessari per eseguire un sistema insieme). La maggior parte degli altri ISA come quelli di Intel, IBM o ARM sono proprietari e non possono essere utilizzati da altri senza licenze (la cui negoziazione può richiedere fino a un paio d'anni). D'altra parte, RISC-V può essere utilizzato, implementato e prodotto da chiunque, gratuitamente, con l'unica vera condizione che sia quella di riconoscere gli autori di RISC-V.

Ciò consente a ricercatori e sviluppatori indipendenti di implementare i propri processori o modificare le implementazioni RISC-V open source, cosa che ad esempio non è possibile con una licenza ARM (per questo è necessaria una licenza separata, che circa 15 grandi aziende Avere). Allo stesso tempo, l'ISA può essere ampliato e modificato dalle aziende anche senza rilasciare il codice sorgente, analogamente a Android. L'assenza di costi di licenza significa anche processori più economici, anche se in pratica ciò non ridurrà molto i prezzi degli smartphone, anche se RISC-V diventerà ampiamente utilizzato a lungo termine: i diritti sui SoC semplicemente non costituiscono una parte enorme del costo di uno smartphone (Qualcomm prende 2.5—5% del prezzo di vendita come royalties, ad esempio).

RISC-V non è il primo ISA gratuito, poiché ne esistono anche altri. Il più popolare e sviluppato più attivamente degli altri è OpenRISC, iniziato nel 2000 e rilasciato sotto licenza GNU GPL. Ignorando altre differenze, la licenza permissiva di RISC-V ne rende più plausibile l'adozione da parte di aziende più grandi e ciò fa la differenza. Ad esempio, Google, Hewlett-Packard Enterprise (HPE) e Oracle sono le tre aziende più grandi che hanno iscritto di recente il gruppo di lavoro sullo standard RISC-V, mostrando effettivamente il proprio interesse per RISC-V come standard aperto. Finché tutte le implementazioni rispettano le specifiche ("conformi a RISC-V"), i clienti sarebbero comunque in grado di utilizzare un ecosistema o un altro (ad esempio GNU/Linux) in teoria, mentre le aziende sarebbero incentivate a farlo per evitare di dover scrivere o trasferire i propri sistemi da graffio. Allo stesso tempo, RISC-V guadagnando terreno significa che le aziende più piccole possono effettivamente supportare la comunità open source pur avendo un sistema flessibile (una di queste aziende interessate a RISC-V è bassoRISC).

Resta da vedere se RISC-V può apportare miglioramenti effettivi o meno per i clienti che potrebbero essere interessati ad avere sistemi aperti o a eseguire qualsiasi sistema operativo supportato su SoC conformi. Allo stesso tempo, ci sono altre potenziali preoccupazioni oltre alla trazione del RISC-V: sebbene la licenza permissiva comporti alcuni vantaggi, potrebbe anche consentire ai giganti di Usa il Abbraccia, estendi ed estingui la strategia (che è probabilmente è il caso quando si tratta di Android/AOSP e dei servizi di Google, o anche Android Usura) – anche se si potrebbe sostenere che sarebbe comunque migliore della situazione attuale. Si potrebbe anche fare un paragone tra questo e la scena Android odierna, con vari OEM che ci provano per differenziare le loro skin per acquisire più utenti e comunità ROM personalizzate che persistono per il potere utenti.

Visitare il Pagina web RISC-V se vuoi saperne di più sulla storia e gli obiettivi del progetto, o anche provare tu stesso un'implementazione RISC-V.