Il mondo delle SBC si divide fondamentalmente in due categorie: quelle che usano CPU x86 di Intel o AMD e quelle che usano CPU ARM. Tuttavia, all’orizzonte si sta stagliando anche la categoria di SBC che utilizzano una CPU RISC-V. Seppur ancora agli albori, il progetto RISC-V sembra essere perfetto per questo genere di prodotti. Non a caso, quando l’azienda MILK-V ci ha proposto di testare la sua nuova scheda MILK-V Mars basata proprio su CPU RISC-V, abbiamo preso immediatamente la palla al balzo.
Ma prima di descrivere la MILK-V Mars e raccontarvi un po’ come funziona, dobbiamo fare necessariamente un’introduzione al progetto RISC-V.
Cos’è il set di istruzioni RISC-V
A differenza delle architetture di processore proprietarie come x86 di Intel e ARM, RISC-V è un’architettura di set di istruzioni (ISA) open source utilizzata per lo sviluppo di processori personalizzati destinati a una varietà di applicazioni finali. Originariamente sviluppato presso l’Università della California, Berkeley, la RISC-V ISA è considerata la quinta generazione di processori basati sul concetto di computer con set di istruzioni ridotto (RISC).
Grazie alla sua apertura e ai suoi meriti tecnici, negli ultimi anni è diventato molto popolare. Lo standard è ora gestito da RISC-V International, che conta più di 3.000 membri e che ha riferito che alla fine del 2022 sono stati spediti più di 10 miliardi di chip contenenti core RISC-V.
Nel prossimo futuro questi numeri aumenteranno a dismisura grazie all’interessamento di Qualcomm e Google che stanno collaborando su progetti RISC-V da applicare al mondo Wear OS.
È bene però precisare che il fatto che il set di istruzioni RISC-V sia open source non vuol dire che le CPU sviluppate lo siano pure. Sono disponibili infatti molte implementazioni di RISC-V, sia come core open source e come prodotti IP commerciali.
L’ISA RISC-V esente da royalty presenta un piccolo set di istruzioni fondamentali su cui viene eseguito tutto il software di progettazione. Le sue estensioni opzionali consentono ai progettisti di personalizzare l’architettura per una varietà di mercati finali diversi. In sostanza, l’architettura RISC-V consente ai progettisti di personalizzare e costruire il proprio processore in modo su misura per le applicazioni finali di destinazione, in modo da poter ottimizzare potenza, prestazioni e area (PPA).
L’ISA RISC-V offre inoltre la flessibilità di scegliere tra le funzionalità disponibili, anziché dover utilizzare l’intero set di funzionalità.
Milk-V Mars
Milk-V Mars è una nuova SBC RISC-V di grado hobbistico che imita intenzionalmente l’ingombro e il layout del Raspberry Pi 3B+ (un po’ come Orange Pi 3B), al punto che le custodie e gli accessori esistenti si adattano perfettamente.
Il Mars delle dimensioni di una carta di credito racchiude una gamma di funzionalità molto competente, a partire dal SoC StarFive JH7110. Questo è basato su una CPU contenente quattro core SiFive U74 RISC-V a 64 bit con clock fino a 1,5 GHz e una GPU IMG BXE-2-32 di Imagination Technologies con supporto per Vulkan 1.3, OpenGL ES 3.x, OpenCL 3.0 e Android NN HAL.
Questo dispositivo supporta un modulo eMMC plug-and-play e fino a 8 GB di memoria LPDDR4. In termini di connettività, la scheda è dotata di tre porte USB 3.0, una porta USB 2.0, una porta HDMI 2.0 che supporta la risoluzione 4K, una porta Ethernet RJ45 che supporta PoE (Power over Ethernet) e uno slot E-Key M.2 per un modulo opzionale per la connessione WIFI/Bluetooth. Include anche un MIPI CSI a 4 corsie e un MIPI CSI a 2 corsie, insieme a un GPIO a 40 pin.
Segnaliamo che MILK-V Mars non è l’unica SBC che l’azienda realizza usando il progetto RISC-V: nel suo catalogo sono disponibili altri modelli, anche con form factor più piccoli, pensati per un diverso utilizzo.
Supporto software
A differenza dei progetti software basati su x86 che vanno avanti da 30 anni e quelli basati su ARM che sono diventati mainstream con l’avvento di Android nel 2007, il supporto a RISC-V è ancora agli albori. Ciò significa che le SBC basate su RISC-V non sono pensate tanto per i consumatori ma soprattutto per hobbisti e sviluppatori.
Dal canto suo, Milk-V offre il supporto alla distro Linux Debian per iniziare a utilizzare Mars. Facciamo presente però che non si tratta della versione di Debian ufficiale e sviluppata per RISC-V (quella arriverà in seguito a partire da Debian 13) ma di un porting di Debian 10 che Milk-V ha ottimizzato per funzionare sulle proprie SBC RISC-V.
Ad ogni modo, l’installazione di Debian sulla Milk-V Mars segue le stesse procedure di una qualsiasi altra installazione di Linux su un PC tradizionale: basta scaricare l’immagine ISO, utilizzare un software di creazione di boot media come Rufus o Balena Etcher per trasferirla su una chiavetta USB (o microSD) e avviare la SBC con tale supporto connesso.
Le prestazioni di Milk-V Mars su Debian
Ma come si comporta la Milk-V Mars nelle operazioni quotidiane? Sottolineando il fatto che non è stata pensata per un utilizzo come PC desktop ma come piattaforma di sviluppo per progetti legati a RISC-V, le sue prestazioni sono leggermente al di sotto di altre SBC ARM.
Si possono utilizzare i software della suite LibreOffice senza grossi problemi, così come navigare sul web attraverso Firefox. Tuttavia, tutto questo può essere fatto in maniera singola. Se si inizia a stressare la piattaforma agendo in maniera aggressiva sul multitasking, ecco che tutti i nodi vengono al pettine.
Tra l’altro, l’azienda sconsiglia vivamente di aggiornare sistema operativo e pacchetti tramite utilizzare il comando apt update && apt upgrade
per evitare che nuovi pacchetti non ottimizzati vadano a “rompere” il sistema operativo impedendo l’uso.
Noi non ci occupiamo molto di coding e sviluppo software ma crediamo che, se siete interessati (o intrigati) dalle nuove frontiere delle ISA RISC-V, la Milk-V Mars è un’ottima base di partenza per lo sviluppo dei vostri progetti.
Se foste interessati, sullo store partner di Arace Tech il prezzo di vendita della Milk-V Mars è di appena 38 euro nella sua versione con 2 GB di RAM.