Di recente, ARM ha annunciato l’estensione della serie Cortex-M, presentando il nuovo Cortex M55 Core. Insieme alla sua nuova CPU, ARM ha anche introdotto Ethos-U55 come MicroNPU (network processing unit). Ci troviamo di fronte ad un nuovo tentativo di ARM nel mercato dedicato ai processori neurali.
Cosa è ARM in realtà?
Con oltre 100 miliardi di processori ARM prodotti a partire dal 2017, ARM rappresenta l’architettura SBC più venduta ed utilizzata. Per coloro che non sanno cosa sia, tra le altre cose Arm fornisce i chip per i servizi cloud che consentiranno alle organizzazioni di gestire in modo sicuro la distribuzione dei prodotti durante il loro ciclo di vita. Arm mira a fornire una soluzione Internet of Things (IoT) completa.
Ecco alcuni popolari computer a scheda singola (SBC) e dispositivi che lavorano utilizzando un chip ARM
Prodotto | SoC (system on chip) | Architettura CPU |
---|---|---|
Nvidia Jetson Nano | Nvidia Tegra | ARM Cortex-A57 |
Raspberry PI 4B | Broadcom BCM2711 | ARM Cortex-A72 |
Rock PI 4 model B | Rockchip RK3399 | ARM Cortex-A72 ARM Cortex- A53 |
Coral Dev Board | NXP’s iMX8M | ARM Cortex- A53 ARM Cortex- M4F |
HiKey 970 | HiSilicon Kirin 970 | ARM Cortex- A73 ARM Cortex- A53 |
Ora che abbiamo chiarito cosa significhi ARM, possiamo dare un’occhiata alla sua ultima novità nella serie Cortex-M: il nuovo Cortex M55 Core.
Cortex M55
Il Cortex-M55, è l’ultimo microprocessore con core a bassa potenza di Arm, il primo che si basa sull’architettura Armv8.1. È dotato sia di Helium che di istruzioni personalizzate. Helium, noto anche come MVE (per M-Profile Vector Extension o estensioni vettoriali per l’architettura M), rappresenta le nuove estensioni e unità di esecuzione vettoriali dedicate alla gamma di processori della classe M. Con questa nuova aggiunta, il core Cortex-M55 ha ora un aumento di 5 volte nelle prestazioni DSP (digital signal processing) e con l’aggiunta di istruzioni ottimizzate per i carichi di lavoro di apprendimento automatico, ottiene un ulteriore miglioramento delle prestazioni di 15 volte rispetto alla generazione precedente di core M.
Cortex-M55 basa l’utilizzo dei registri classici per le proprie estensioni vettoriali, contrariamente a quanto avveniva con l’architettura NEON. Introduce inoltre un nuovo supporto per lane prediction, loop prediction e operazioni complesse come scatter-gather. Il nuovo progetto è sviluppato per eseguire blocchi di dati più piccoli (32 bit) chiamati beats, per mantenere al minimo l’area di silicio necessaria.
La microNPU Ethos U55
La nuova microNPU Ethos-U55 è la prima microNPU di Arm e rappresenta una estensione della famiglia Ethos. Si tratta di una NPU su piccola scala che contiene da 32 a 256 MAC (multiply-accumulate) engines. L’Ethos-U55 è leggermente diverso dalla serie Ethos-N poiché si rivolge specificamente alle CPU Cortex-M.
Ethos-U è infatti progettato per lavorare a stretto contatto con una CPU Cortex-M, per migliorarne le capacità di elaborazione. Ethos-U55 può funzionare anche con processori Cortex-M delle famiglie precedenti, come M7, M4 e M33.
Il progetto MLP di Ethos-U55, è costruito con più motori di calcolo elementari, ciascuno con alcuni componenti principali, SRAM, MAC Compute Engine (MCE) e Programmable Layer Engine (PLE). Ethos-U55 ha un design semplice che si concentra su una superficie limitata per guadagnare in efficienza energetica con ingombri di memoria ridotti. L’U55 deve essere combinato con una CPU di classe M per fungere da controller. Vediamo in che maniera combinare assieme i due processori:
Arm dichiara che per un carico di lavoro tipico per un assistente vocale, Cortex-M55 è in grado di fornire miglioramenti fino a 6 volte in termini di prestazioni di inferenza e 7 volte nell’efficienza energetica, grazie all’estensione Helion. In combinazione con Ethos-U55, Arm afferma che il miglioramento può arrivare rispettivamente a 50x e 25x. I miglioramenti delle prestazioni nei sistemi che utilizzano M55 e U55 rappresentano incrementi molto importanti rispetto alle soluzioni della generazione passata.
Campi di applicazione
Dove è possibile trovare un utilizzo appropriato per questi nuovi sistemi? Arm ha affermato che il sistema può essere impiegato in un’ampia varietà di realizzazioni embedded come sensori, gesture detection, speech recognition e così via. Ad esempio, in un dispositivo mobile, i sottosistemi possono utilizzare l’hardware per gestire il sensore di impronte digitali del telefono, chip audio per scopi di assistente vocale o anche sistemi RF per ottimizzare i carichi di lavoro come la sintonizzazione dell’antenna. Le possibilità sono virtualmente infinite grazie alle centinaia di processori di classe M che possono essere ulteriormente migliorate con l’apprendimento automatico.
Tiriamo le somme
Arm ha attualmente concesso in licenza M55 e U55 ai suoi partner principali, ed offrirà una gamma più ampia di licenze ad altri clienti nei prossimi mesi. Resteremo pronti a cogliere le risposte del mercato non appena verranno realizzati i primi progetti.