
News
Contenuti per la community dell'HPC e gli appassionati di innovazione: tutorial, news e press release per utenti, ingegneri e amministratori
- Tutte le news
- Aerospace & Defence
- Artificial Intelligence
- Blog
- Cloud Platform
- HPC
- Kubernetes Cluster
- Press
- Progetti Europei
- Ultime news
- Varie E4
- Video
Il dibattito si fa sempre più acceso: ARM o RISC-V? ARM e RISC-V? ARM e RISC-V sono concorrenti o sinergici?

Quando si parla di processori, il fattore più importante da considerare è l’architettura del set di istruzioni, detto ISA. Questo perché i programmi sviluppati dagli ingegneri del software saranno in grado di operare solo su specifici ISA, a meno che il codice non sia scritto utilizzando un linguaggio interpretato multipiattaforma (come Python o Java). Ci sono molti ISA disponibili per i progettisti. Per quanto riguarda i grandi sistemi di elaborazione come i sistemi HPC e i cluster, i due ISA più utilizzati sono x86/x64 e ARM.
Intel ha sviluppato l’architettura x86/x64 negli anni ’70 e da allora è il cavallo di battaglia del settore, mentre l’architettura ARM è stata sviluppata alla fine degli anni ’80 inizialmente per l’uso su sistemi più piccoli. La principale differenza tra le due architetture è che x86/x64 è un complesso set di istruzioni (CISC) con molte funzionalità avanzate, mentre ARM è un ridotto set di istruzioni (RISC), che a confronto ha solo una manciata di istruzioni. CISC consente a un computer di fare di più in un singolo ciclo di istruzione, mentre RISC consente una programmazione più semplice. In generale, RISC richiede più cicli di clock per completare la stessa istruzione in CISC, ma può farlo in modo più efficiente (dal punto di vista energetico); per questo motivo RISC è ideale per le applicazioni dei dispositivi mobili
ARM è l’architettura RISC più conosciuta al mondo, con i suoi licenziatari che spediscono miliardi di chip all’anno ed è l’architettura CPU dominante per microcontrollori, microprocessori e sistemi mobili. Attualmente sta aumentando la sua presenza anche nei sistemi HPC.
Mentre x86/x64 e ARM sono l’architettura dominante nel settore dell’elaborazione “pesante”, esse potrebbero trovare un serio concorrente in una nuova architettura: RISC-V.
Nato nel 2010 dal Parallel Computing Lab presso l’UC Berkeley in California, RISC-V è un’architettura modulare che consente agli sviluppatori di creare qualsiasi cosa desiderino in aggiunta al set di istruzioni di base.
Mentre x86/x64 può guardare ARM e RISC-V da una posizione comoda (dominante), ARM potrebbe sentire la competizione di RISC-V. Per le ISA di entrambe sono stati compiuti sforzi significativi, al fine di stabilirle nell’area del calcolo ad alte prestazioni. Quali sono le maggiori differenze tra RISC-V e ARM, e l’uno vincerà sull’altro?
In breve:
ARM | RISC-V |
Basato su IP proprietario e le società concedono in licenza i loro prodotti | Architettura delle specifiche royalty-free |
Numero relativamente piccolo di fornitori di processori | Open-source: i core sono disponibili e esistono anche core con licenza commerciale |
Comunità online estremamente ampia, struttura di supporto e librerie per aiutare i progettisti a indirizzare molte piattaforme diverse tra cui microcontrollori, microprocessori e server | Poiché RISC-V ha un set di istruzioni relativamente nuovo, è ancora in crescita in termini di supporto per software e ambienti di programmazione |
ARM dispone di team di ingegneri che sviluppano sistemi hardware che rendono facile per i progettisti incorporare CPU ARM | Mentre i progettisti possono sperimentare e sviluppare sistemi RISC-V gratuitamente, c’è poco o nessun supporto per la progettazione dell’hardware |
Essendo ARM proprietario, può essere bloccato nell’esportazione dai governi (come quando gli Stati Uniti hanno tentato di bloccare la vendita di IP ARM alla Cina). | RISC-V è open-source e disponibile per chiunque disponga di una connessione Internet per cercare lo standard e implementare il proprio design. |
OP-TEE è un ambiente di esecuzione open source affidabile (TEE), che implementa la tecnologia ARM TrustZone. | Il modello RISC-V MultiZone security software è piccolo e quindi più veloce. Diversi meccanismi di sicurezza sono integrati in RISC-V, inclusi quattro livelli di anelli di privilegio, elaborazione sicura degli interrupt e un meccanismo esclusivo di protezione della memoria fisica (PMP). Sono disponibili in commercio anche miglioramenti della sicurezza per RISC-V, incluse librerie crittografiche, root of trust e TEE multidominio. |
ARM supporta una serie di operazioni di fusione macro-op nelle sue recenti microarchitetture. La micro-operazione di fusione unisce due istruzioni in una, all’interno del processore, implementando efficacemente l’esecuzione predicativa senza l’aiuto del set di istruzioni. | Il set di istruzioni base di RISC-V non supporta l’esecuzione predicativa. In ogni caso, il processore RISC-V sperimentale e fuori ordine speculativo BOOMv3 utilizza la combinazione di un set di istruzioni ridotto, con fusione di micro-operazione per implementare l’esecuzione predicativa. |
I processori ARM supportano la virtualizzazione di CPU e memoria. | RISC-V supporta la virtualizzazione della memoria utilizzando tabelle delle pagine a più fasi. Inoltre, RISC-V implementa formati di immissione delle tabelle delle pagine identici sia per le tabelle guest che per quelle host. L’ISA RISC-V attualmente non supporta la virtualizzazione degli I/O. La virtualizzazione degli I/O sarà principalmente una caratteristica dell’IOMMU e dell’interrupt controller a livello di piattaforma (PLIC), che si trova al di fuori del dominio dell’ ISA RISC-V. Il PLIC, come specificato, non comprende i registri per configurare l’iniezione di interrupt. |
Le estensioni di virtualizzazione ARM consentono all’hardware di virtualizzare una CPU utilizzando un hypervisor. È possibile eseguire più sistemi operativi su ciascuna delle CPU virtuali. | L’estensione v0.6.1 RISC-V H (hypervisor) introduce un duplicato completo dello stato della CPU: una copia per il guest e una per l’host (simile a Intel VT-x). RISC-V supporta la virtualizzazione delle CPU creando registri sensibili e istruzioni privilegiate per la modalità host. Come si vede dalla versione pre-release, la virtualizzazione RISC-V è un work in process. Sono state recentemente pubblicate la prima implementazione e valutazione pubblica dell’ultima versione dell’estensione dell’hypervisor RISC-V, in un nucleo di chip Rocket per l’utilizzo nei sistemi embedded. |
Sebbene ARM non sia stato inizialmente progettato per utilizzare estensioni personalizzate, ciò sta cambiando, e l’ecosistema ARM sta iniziando a utilizzare estensioni personalizzate. | L’ISA RISC-V è organizzato in gruppi di istruzioni (l’ISA base e le estensioni standard). La possibilità di utilizzare estensioni allo standard ISA può fornire supporto per applicazioni specifiche. Ad esempio, l’estensione RISC-V Vector (RVV) recentemente rilasciata consente ai core del processore basati su RISC-V ISA di elaborare array di dati insieme alle tradizionali operazioni scalari, per accelerare il calcolo di singoli flussi di istruzioni su grandi insiemi di dati. |
Vale la pena sottolineare che una differenza molto significativa tra ARM e RISC-V è nei modelli di business. ARM si basa su IP proprietari e le società vendono e/o concedono in licenza i loro prodotti. RISC-V è una piattaforma open; non è un solo processore open-source. Sono disponibili core RISC-V open source, oltre a core con licenza commerciale.

RISC-V supererà ARM in futuro?
Se ARM vuole sopravvivere alla competizione posta da RISC-V, dovrà fare affidamento sul suo mercato straordinariamente ampio (rispetto a RISC-V), per presentarsi come la scelta migliore per i progettisti. Mentre questa tattica funziona per Intel, potrebbe non funzionare per ARM a causa dei motivi sopra elencati.
L’uso di RISC-V è crescente, e ci sono segnali che le grandi aziende stiano già cercando alternative ad ARM. L’acquisto di ARM da parte di NVIDIA non aiuta in questo.
Poiché la tecnologia continua a migliorare e il supporto per RISC-V aumenta, ai progettisti verrà lasciata l’opzione tra un’architettura del processore a pagamento o un’architettura gratuita senza limitazioni. Tuttavia, solo perché qualcosa è gratuito non significa che prenderà il comando. Il sistema operativo Linux è un classico esempio; mentre la maggior parte delle distribuzioni sono gratuite, Linux costituisce una piccola percentuale dei sistemi operativi in tutto il mondo.
E4 fornisce supporto agli utenti nella selezione dell’ISA.
E4 porta sul mercato un vasto e unico know-how su ARM e RISC-V. E4 ha progettato il suo primo Arm-based cluster nel 2012 (https://www.hpcwire.com/off-the-wire/cineca-e4-announce-the-successful-conclusion-of-phase-i-evaluation-of-arm-clusters/) e presentato il cluster ARKA, con ARM64+GPU+InfiniBand alla GPU Technology Conference 2015. (https://insidehpc.com/2015/05/e4-arka-arm64gpuib-is-now-here/). All’interno del PRACE-3IP Pre-Commercial Procurement per la progettazione dell’intero sistema per HPC ad alta efficienza energetica, E4 sviluppato a cluster basato su ARM raffreddato a liquido configurato con 10 nodi (8 per il calcolo e 2 per il login e il management). E4 sta attualmente ospitando nei suoi Laboratori di Ricerca e Sviluppo ARMIDA (ARM Infrastructure for the Development of Applications), un cluster a 8 nodi basato su Marvell TX2, dove differenti componenti (GPU, FPGA, interfacce I/O) possono essere testati e validati. E4 sta attualmente integrando un cluster basato sul processore HiFive Unmatched di SiFive. HiFive Unmatched inaugura una nuova era di Sviluppo RISC-V Linux con una piattaforma su un fattore di forma standard. HiFive Unmatched è supportato da SiFive Freedom U740, un processore RISC-V multi-core ad alte prestazioni, 64 bit dual-issue e superscalare.
Fornendo l’accesso ad entrambe le architetture ARM e RISC-V, E4 può supportare i suoi utenti e sviluppatori nel testare ampiamente le loro applicazioni e codici e fornire indicazioni per trovare la migliore soluzione complessiva ai loro requisiti.
Referenze