Un pezzo cade , un pezzo cresce.

Volevo gia' scrivere sull'acquisto di ARM da parte di NVIDIA, ma improvvisamente una novita' ha cambiato le carte in tavola, e cosi' ho deciso di provare a mettere insieme le cose. Cioe', quanto poco sia durata l'illusione di avere vinto la guerra delle ISA.

Per prima cosa, che cos'e' un ISA e perche' conta?

Mettiamola cosi' ogni CPU parla una propria lingua. Questo “vocabolario” viene chiamato “instruction set”, e comprende il nome (in binario) delle istruzioni, descrive l'effetto delle istruzioni e i dati in input, nonche' i registri usati dalle istruzioni stesse, e altri dettagli.

Quando usate un processore intel, usate un ISA che e' brevettata da Intel. Se usate un processore Intel a 64 bit, usate una ISA brevettata da AMD, e per questo i pacchetti linux a 64 bit contengono il nome “amd64” nel nome. Anche x64 viene usato come nome, ma non IA64, o IA64e, che esistono ma hanno piccole differenze rispetto ad AMD64. (alcune istruzioni si comportano diversamente in alcuni casi).

Qui andrebbe fatta una distinzione tra architettura e ISA, ma si entrerebbe troppo nel dettaglio, quindi i puristi si astengano.

In pratica, all'inizio AMD usava l' ISA brevettato da intel, mentre dalla versione a 64 bit AMD ha vinto, diventando lo standard de facto dopo che AI64 e il processore Itanium (sviluppato insieme ad HP sul concetto di EPIC) si mostro' un fallimento, dopo diverse vicissitudini.

Poi c'e' ARM. Viene da un'azienda inglese che produceva computers come l' Acorn Archimedes, ma anche lo spectrum e il BBC, famosi negli anni '80. In seguito ha smesso di fare interi computer e si e' specializzata nel disegno delle ISA. Se volete fare un processore compatibile con ARM (significa che il codice che compilate girera', quindi potete farci un android, on un linux, o un windows per IoT) dovete pagare una licenza (solo per le versioni piu' recenti, quelle vecchie sono ormai gratuite) e andate.

Esistono anche altre ISA, come PowerPC, MIPS, SPARC, PA-RISC ed altre. La piu' antica e' quella (ancora usata per i mainframe) di IBM360, che ha superato i 50 anni.

Questo e' un grosso scoglio per chi voglia entrare nel mondo dei processori, come volevano fare i cinesi. E cioe' che dovete inventare da zero una ISA, che pero' poi diventa una ISA per i cellulari, una per i computer, una per iserver, e cosi' via. 32, 64, 128bit....

I cinesi hanno provato diverse volte, ma un intenso fuoco di sbarramento basato sul patent trolling li ha “convinti” a desistere. Il longsoon infatti usa istruzioni MIPS, il che vincola i cinesi a fabbricare la CPU presso aziende che abbiano pagato la licenza al consorzio MIPS (come STM, per dirne una).

Ma questo significa ancora dipendere da un possibile veto americano.

Quindi comprando ARM, che diventa cosi' statunitense, gli USA pensavano di aver conquistato il monopolio delle CPU. Deprimente, direte. Deprimente, direte.

Ma e' durato pochi giorni.

hurrah

Che cosa significa? Non significa che domani troverete computer con RISC-V in ogni supermercato. Significa solo che le specifiche sono diventate “stabili”, cioe' non si discute piu' di come fare una determinata cosa.

Ma RISC-V ha una caratteristica: la ISA e' opensource. E' ormai nel trunk del kernel di Linux, nelle librerie gnu Libc, e nel compilatore GCC. Infatti, esistono gia' schede che fanno girare linux per RISC-V.

Il fatto di essere opensource e' fondamentale. E' fondamentale perche' qualsiasi nazione/azienda oggi puo' prodursi il proprio processore.

Ma questa ISA ha una particolarita'. Le specifiche sono ormai definite sotto praticamente ogni aspetto, copre gli usi a 32 bit (tipicamente embedded), quelli a 64 bit, e definisce anche utilizzi per Hypervisor e Supervisor, arrivando sino ai 128 bit.

In soldoni, con RISC-V in teoria potreste costruirci tutto, dalle GPU ai mainframe all' IoT per le automobili. E non dovete pagare nessuna licenza. Nessuna guerra commerciale e' possibile, perche' la ISA non ha brevetti. Chiunque puo' usarla.

E' un vantaggio enorme, per una ragione: i cinesi hanno gia' loro processori per il supercomputing, come il Sunway , ma oltre ad imitare le architetture di DEC (brevetti oggi di proprieta' di intel) e quindi limitato al territorio cinese, e' un processore fatto per i supercomputer. Non puo' esistere sul vostro cellulare o sull' IoT.

Sempre in Cina, Zaoxin prende le estensioni in comune con Intel da VIA Technologies, quindi in caso di scontro con gli USA si troverebbe di fronte a severi problemi sui mercati occidentali. Ancora, i FeiTeng sono compatibili ITANIUM (per la prima serie) oppure SPARC, per la seconda serie. Ancora, cioe', alla portata di sanzioni USA. La terza generazione usa l' ISA di ARM64. Ancora peggio.

La Cina, cioe' possiede diverse aziende capacissime di produrre CPU, come Ingenic e Unisoc, ma anche nel caso della prima, che possiede un'architettura XBURST, la ISA e' MIPS32. Ancora vulnerabile agli attacchi legali USA.

Insomma, una volta che anche ARM e' stata comprata da NVIDIA, azienda USA, per il governo americano i giochi erano finiti. O cosi' credevano.

E invece no. RISC-V rompe tutti i giochi, perche' come ISA e' completamente esente da rischi di guerra sui brevetti. Chiunque puo' andare dalla sua fonderia di silicio preferita, portare il design di una CPU fatta con l' ISA di RISC-V, e otterra' una CPU compatibile con qualsiasi altra CPU fatta con la stessa ISA.

E come se non bastasse, RISC-V ha un core e le estensioni, scalando da piccoli chip (come quello di uno smartwatch) sino ai processori per supercomputer e mainframe. Ne esistono versioni dotate di AI, per dire.

La cosa paradossale e' che RISC-V e' sviluppata proprio negli USA, e HiFive e' una spinoff dell' Universita' di Berkeley, dove RISC-V e' stata ideata. Ma il punto e' diverso: il punto e' che con il rilascio delle specifiche complete per computer e server, RISC-V apre completamente i giochi del mondo delle CPU.

Perche' qui e' il punto: fino a quando col RISC-V ci facevano piccole appliance come controller e roba embedded per le auto, tutto era calmo. Ma se si arriva ad una main board per farci un PC, significa che sono considerate stabili altre specifiche.

Insomma, gli USA credevano di essersi aggiudicati la partita per sempre, e proprio dagli USA arriva l'asteroide.

I cinesi hanno interesse per questa ISA? Si, molto.

Guardate qui chi sono gli sponsor su https://riscv.org/

riscv

Morale: chi crede che gli USA terranno la supremazia tecnologica ancora per molto , si illude.

Se Huawei ci ha messo SOLO un anno (dall'inizio della guerra commerciale con gli USA) ad annunciare il suo nuovo OS per cellulari, significa che comprare ARM non garantisce proprio nulla non solo nel lungo termine, ma neanche nel medio e nel breve termine. Portare un OS al livello di production ready e' un lavoro immenso. Fatto solo in un anno, significa che spaccano culi.

Sinora Huawei aveva fatto incetta di CPU, anche quelle non testate, per arrivare coi magazzini pieni al momento della chiusura totale della finestra commerciale.

La domanda era “e dopo”?

Ora lo sappiamo. E sappiamo cosa possono fare in India, in Russia, e in qualsiasi altro posto ove abbiano una fonderia di silicio e vogliano prodursi computer che non dipendano da ISA brevettate negli USA.

Scommettete pure sugli USA, se volete. Io sarei piu' prudente: la gara e' ancora molto piu' aperta di quanto crediate.