Ingrandisci / Il codice sullo sfondo di questa immagine è un po' troppo alto per un tipico RTOS… ma potrebbe funzionare sotto Linux, sul lato MMU di una CPU in tempo reale Cortex-R82.
Venerdì scorso, Arm ha annunciato la nuova generazione della sua serie di processori in tempo reale, il Cortex-R82. La maggior parte delle persone ha più familiarità con la serie di CPU Cortex A, che vengono utilizzate come processori primari in dispositivi come smartphone e tablet, che eseguono sistemi operativi completi. La serie Cortex-R, al contrario, viene generalmente utilizzata per applicazioni ad alte prestazioni che richiedono prestazioni "in tempo reale", ovvero cicli di risposta semplici, prevedibili ed estremamente a bassa latenza, in stack software molto più semplici.
I precedenti processori Cortex serie R non erano in grado di eseguire sistemi operativi moderni completi, incluso Linux, perché utilizzavano una semplice unità di protezione della memoria (MPU) anziché la più complessa unità di gestione della memoria (MMU) necessaria per supportare funzioni come memoria virtuale. Questo in genere non è stato visto come un problema, dal momento che i carichi di lavoro del sistema operativo in tempo reale (RTOS) generalmente devono avere cicli di controllo molto più semplici e prevedibili.
Contents
In tempo reale contro multitasking
Ingrandisci / I core del Cortex-R82 possono essere assegnati dinamicamente all'elaborazione in tempo reale o delle applicazioni: lo stesso dispositivo potrebbe avere un profilo diverso durante il giorno rispetto a quello che ha durante la notte.
Il Cortex R-82 offre ancora una semplice MPU, ma può essere opzionalmente configurato anche con una MMU e i core della CPU possono essere assegnati individualmente e dinamicamente a entrambi. Neil Werdmuller di Arm ipotizza controller di archiviazione che potrebbero funzionare con profili diversi durante le ore di punta e non di punta, riassegnando i core da compiti di "SSD puro" in tempo reale a "archiviazione computazionale", che probabilmente significa analisi AI integrata, secondo necessità.
Annuncio
Design flessibile
Se utilizzata per applicazioni compatibili con la cache come i controller di archiviazione, in cui Arm afferma che la serie R ha l'85% del mercato, l'architettura a 32 bit dei progetti precedenti poneva limiti di prestazioni netti. Gli SSD moderni dispongono abitualmente di DRAM integrata da 2 GiB, che è scomodamente vicina al limite massimo di indirizzo teorico di 4 GiB di una CPU a 32 bit.
L'architettura a 64 bit dell'R-82 lo rende in linea con i moderni processori mainstream, consentendogli di indirizzare uno spazio di indirizzamento fisico fino a 1TiB. La nuova architettura offre anche il supporto per unità Neon opzionali per l'elaborazione SIMD (Single Instruction, Multiple Data), consentendo una maggiore flessibilità nei progetti di archiviazione.
Infine, i progetti Cortex-R82 con MMU opzionale saranno in grado di eseguire sistemi operativi full-stack come Linux, nonché, e anche in parallelo, con RTOS più semplici. Ciò consentirà il riutilizzo del codice esistente di livello superiore sviluppato per ambienti Linux completi in quelli che tradizionalmente sono stati ambienti molto più restrittivi.
Prestazioni più elevate
Ingrandisci / Il nuovo processore mostra modesti miglioramenti nei benchmark generici e risultati ancora migliori per le applicazioni che utilizzano le nuove istruzioni Neon SIMD.
Il nuovo design della CPU migliora le prestazioni tradizionali e apporta modifiche all'architettura. Nel grafico sopra, Arm mostra un miglioramento significativo nei benchmark generici, con un enorme miglioramento nei test che utilizzano le nuove istruzioni Neon SIMD. La colonna "Consumer" è il benchmark EEMBC Consumer, che sfrutta le istruzioni SIMD quando compilato con Arm Compiler 6.14; I clienti da 1 a 4 sono applicazioni reali di clienti Arm non specificati.