Core Arm Cortex-M4, la scelta vincente

Nel corso degli ultimi anni il costo dei microcontrollori a 32 bit è diminuito sensibilmente consentendone l'adozione su vasta scala nei sistemi embedded. I processori in architettura RISC a 32 bit della linea Cortex di Arm si sono affermati come i core di riferimento per lo sviluppo di sistemi embedded grazie a un'architettura efficiente, a un set di istruzione scalabile e ad alte prestazioni e alla disponibilità di una gamma completa di software e di tool di sviluppo. Anno dopo anno Arm ha introdotto diverse famiglie di processori Cortex, ciascuna delle quali ottimizzata per applicazioni in mercati specifici. Ad esempio la linea Arm Cortex-M è state espressamente concepita per Mcu e dispositivi a segnali misti per i quali costi e consumi sono fattori critici. Per tale motivo risulta la scelta ideale per l'utilizzo in dispositivi indossabili e per applicazioni IoT Internet of Things. La serie Arm Cortex-M è formata da un'ampia gamma di core scalabili e compatibili, da Cortex-M0+ a bassissimo consumo a Cortex-M7, caratterizzato da prestazioni particolarmente spinte.

Il più piccolo core Arm
Il più piccolo core di processore Arm disponibile è Cortex-M0. A un prezzo compatibile con quello di un core a 8 bit esso assicura prestazioni tipiche di un dispositivo a 32 bit, occupa un'area di silicio estremamente contenuta (inferiore a 12k gate) ed contraddistinto da consumi molto ridotti, di soli 12,5µW/MHz (in configurazione minima e realizzazione con processo 90LP). Il core Cortex-M0+, realizzato a partire dal core M0, è invece contraddistinto da prestazioni superiori, pari a 2,46 CoreMark/MHz (si faccia riferimento a CoreMark and Dhrystone performance benchmarks of the Arm Cortex-M Series) pur garantendo consumi molto ridotti: per questo motivo risulta il core Arm a più elevata efficienza energetica al momento disponibile. Questo core consuma solamente 9,8µW/MHz (realizzazione con processo 90LP e configurazione minima). In un primo momento, i core Cortex-M0 (o M0+) sarebbero potuti sembrare come la scelta più ovvia per la realizzazione delle prime Mcu operanti a valori di tensione sotto-soglia di Ambiq: questa tecnologia, messa a punto dalla società, prevede il funzionamento dei transistor con livelli di tensione interna inferiori rispetto a quelli tradizionali al fine di incrementare l'efficienza energetica. Dopotutto queste Mcu di Ambiq sono destinate all'uso in dispositivi indossabili e per applicazioni IoT dove costi, dimensioni e consumi rappresentano elementi critici. L'impiego dei core M0/M0+ per incrementare l'efficienza sarebbe parsa la soluzione ideale per aumentare la durata della batteria, che rappresenta il principale problema per questo tipo di applicazioni.

Il core Cortex-M4F negli Mcu Apollo
Ambiq invece ha deciso di adottare il core Cortex-M4F per le Mcu della serie Apollo. Le ragioni di questa scelta sono spiegate di seguito. I core Cortex-M0 e M0+ possono essere utilizzati in un numero di applicazioni (sempre nell'ambito dei dispositivi indossabili e per IoT) molto più limitato rispetto a quello che è possibile indirizzare con un core M4F, più efficiente e capace di garantire prestazioni superiori. Questo core, caratterizzato da maggiori prestazioni per ciclo di clock, dotato di un set di istruzioni Dsp efficiente e in grado di supportare operazioni in virgola mobile, mette a disposizione le capacità di elaborazione necessarie per soddisfare le richieste dell'industria dei dispositivi indossabili e per applicazioni IoT nel suo complesso. Con un punteggio di 3,40 CoreMark/MHz, il core M4 può vantare una velocità di esecuzioni delle istruzioni al secondo superiore del 45,9% rispetto a quella del core M0 (che ha ottenuto un punteggio di 2,33 CoreMark/MHz) a parità di frequenza di funzionamento. Conclusioni del tutto analoghe si ottengono esaminando i valori del benchmark Dhrystone. Una maggiore velocità di esecuzioni si traduce in una sensibile riduzione del consumo di potenza dinamica durante la fase di elaborazione di un dispositivo indossabile, che può tornare in tempi brevi in uno stato di "sleep" a più basso consumo. Inoltre è importante sottolineare il fatto che, a causa dell'utilizzo della tecnologia sotto-soglia, la differenza tra la potenza consumata da un core M0+ rispetto a quella di un core M4F è trascurabile quando si esamina il consumo di potenza complessivo della Mcu. In altre parole, l'uso della tecnologia sotto-soglia ha permesso ad Ambiq di scegliere il modo migliore per implementare una soluzione a basso consumo in quanto il minimo incremento di dissipazione del core M4F (almeno in termini di implementazione con la tecnologia sotto-soglia) di fatto viene annullato dalla maggiore efficienza energetica ottenuta attraverso la maggiore velocità di esecuzione delle istruzione. Ciò consente di eliminare con maggior frequenza i consumi imputabili al core, con conseguente miglioramento del profilo energetico.

Per indossabili e IoT
Le funzionalità di elaborazione Dsp e in virgola mobile del core M4F ne favoriscono l'adozione in dispositivi indossabili e per applicazioni IoT. La capacità di eseguire operazioni di tipo Simd (Single instruction, multiple data), istruzioni Mac (Multiply accumulate) in un singolo ciclo e operazioni matematiche in virgola mobile senza ricorrere alla chiamata di complesse sub-routine garantisce un'elaborazione e un controllo efficienti dei segnali digitali provenienti dai molteplici sensori utilizzati in questi sistemi. L'elaborazione dei dati provenienti da più sensori (sensor fusion) o l'abbinamento di più dati trasmessi dai sensori in un insieme di dati più significativo è una caratteristica tipica del core M4F. I dati combinati, quindi più "compatti", permettono anche di risparmiare spazio ed energia nelle operazioni di memorizzazione e recupero delle informazioni dalla memoria locale o dal cloud. Questi vantaggi risulteranno ancora più significativi nel momento in cui i dispositivi indossabili e per applicazioni IoT richiederanno ai sensori di rimanere sempre nello stato attivo (always-on), fatto questo che comporta un sensibile incremento della quantità di informazioni da elaborare.
Vi è un ultimo vantaggio nascosto legato all'impiego del core M4F nella realizzazione delle Mcu della serie Apollo di Ambiq. Un tipico ciclo di progetto inizia con un'implementazione mediante Matlab che viene successivamente convertita in un formato in virgola mobile prima di passare a un'implementazione in virgola fissa che ottimizza sia il consumo di energia sia la dimensione del codice. Il processo di ottimizzazione dalla rappresentazione in virgola mobile a quella in virgola fissa richiede solitamente parecchi mesi e notevoli risorse in termini di ingegnerizzazione del software. Poiché le Mcu della serie Apollo mettono a disposizione abbondanti risorse di memorie (fino a 512kB di flash e fino a 64kB di Ram), sono dotate di un "engine" in virgola mobile e, fatto questo ancora più importante, sono contraddistinti da un profilo di consumo di energia estremamente ridotto, in alcuni casi è possibile evitare completamente la fase di ottimizzazione nel passaggio dalla rappresentazione in virgola mobile a quella in virgola fissa, con conseguente notevole risparmio sia di risorse sia di costi, a fronte di una sensibile riduzione del time to market.

Una strada differente
In definitiva, a differenza di molte altre aziende produttrici di Mcu che adottano i processori M0+ per lo sviluppo di prodotti a basso consumo del loro portafoglio, Ambiq ha deciso di percorrere una strada completamente differente. Il risultato è una famiglia di Mcu caratterizzate dai più bassi consumi – sia in modalità attiva sia in modalità di sleep - e in grado di garantire il livello di prestazioni tipiche del core Cortex-M4F (che tra l'altro opera con consumi di gran lunga inferiori anche rispetto a quelli di soluzioni basate sul core M0+).

Pubblica i tuoi commenti