L’architettura ARM big.LITTLE – Puntata 1

ARM

Con il sistema big.LITTLE è possibile incrementare le prestazioni e prolungare la durata delle batterie, due fattori cruciali per lo sviluppo delle applicazioni mobile di prossima generazione.

L’architettura di elaborazione big.LITTLE presentata recentemente da ARM risponde a una precisa esigenza espressa dall’industria elettronica attuale: creare un System on Chip (SoC) in grado di fornire, contemporaneamente, un’elevata capacità di elaborazione unita a un eccellente valore di efficienza energetica, tale da consentirne l’alimentazione con le normali batterie. Come è possibile intuire dal nome stesso, l’architettura big.LITTLE si basa su due componenti fondamentali: il processore ARM Cortex-A15 (il componente "big"), e il processore ARM Cortex- A7 (il componente "LITTLE"). Il Cortex-A15 è un processore realizzato in tecnologia MPCore caratterizzato da valori elevatissimi di performance, mentre il Cortex-A7 ha il suo punto di forza nell’efficienza energetica, in grado di prolungare sensibilmente la durata delle batterie. Unendo queste due realtà in apparenza antitetiche, una stessa applicazione software può privilegiare, senza soluzione di continuità, ora un fattore ora l’altro, selezionando di volta in volta il processore ottimale. ARM ha dimostrato che con questo tipo di architettura è possibile estendere fino al 70% la durata delle comuni batterie di alimentazione. Il sistema big.LITTLE è stato progettato con l’obiettivo di selezionare sempre il processore più adatto al particolare tipo di applicazione (“il giusto processore per la giusta applicazione”).

Il Cortex-A15 è il processore di bassa potenza più performante mai realizzato in casa ARM, mentre il Cortex- A7 è il processore con la più alta efficienza energetica mai progettato dalla casa di Cambridge. La potenza di elaborazione del componente "big" diviene fondamentale per svolgere i compiti più pesanti dal punto di vista computazionale, mentre l’unità "LITTLE" si può occupare della maggior parte delle funzioni previste dagli attuali dispositivi portatili (smartphone, tablet, etc.). Queste funzioni includono le attività di base svolte dal sistema operativo, l’interfaccia utente e altre funzioni relative alla connessione e all’operabilità. L’efficienza e la commutazione senza soluzione di continuità del carico di lavoro tra i due processori dell’architettura big.LITTLE è resa possibile dai risultati ottenuti con lo sviluppo del System IP di ARM (sistema di interconnessione coerente CCI-400), in grado di garantire sempre la coerenza tra il Cortex-A7 e il Cortex-A15 a livello di cache, I/O, e processore. Il software e le relative applicazioni possono così continuare senza ostacoli la propria esecuzione, in modalità completamente trasparente rispetto all’utente, bilanciando continuamente il carico in modo da fornire sempre la corretta capacità di elaborazione con il migliore grado di efficienza energetica.

ARM

Figura 1: Il logo di big.LITTLE

I PROCESSORI

Il principio che sta alla base dell’architettura big.LITTLE è che entrambi i processori sono architetturalmente identici. Sia il Cortex-A15 sia il Cortex-A7 implementano infatti l’architettura ARM v7A, inclusa la virtualizzazione e le estensioni dello spazio di indirizzamento. Di conseguenza, tutte le istruzioni vengono eseguite in modo consistente, dal punto di vista architetturale, sia sul Cortex-A15 sia sul Cortex-A7, anche se con alcune differenze dal punto di vista prestazionale. I due processori hanno un’implementazione simile: possono essere configurati per avere da uno a quattro core ed entrambi integrano una cache di livello 2 all’interno della catena di elaborazione. Inoltre, ciascun processore implementa una singola interfaccia coerente AMBA4, che può collegarsi a un modulo di interconnessione coerente come il CCI- 400. La differenza tra i due processori diventa però evidente a livello di micro-architettura: mentre il Cortex-A7 (si veda la Figura 2) è un processore in-order, non simmetrico, con una lunghezza della pipeline compresa tra 8 e 10 stadi, il Cortex-A15 (si veda la Figura 3) è un processore out-of-order con una lunghezza della pipeline compresa tra 15 e 24 stadi.

Cortex

Figura 2: La pipeline del Cortex-A7

 

Cortex

Figura 3: La pipeline del Cortex-A15

Poiché la quantità di energia consumata durante l’esecuzione di un’istruzione è parzialmente legata al numero di stadi che devono essere percorsi nella pipeline, tra i processori Cortex-A7 e Cortex-A15 esiste una differenza significativa dal punto di vista energetico dovuta a differenti lunghezze della pipeline. Esiste poi una sottile differenza tra la micro-architettura del Cortex-A15 e quella del Cortex-A7. Quando lo ritiene opportuno, il Cortex- A15 sacrifica l’efficienza energetica per mantenere o aumentare il livello delle performance, mentre il Cortex-A7, nelle stesse condizioni, predilige l’efficienza a discapito delle prestazioni. La tabella di Figura 4 evidenzia le differenze a livello di prestazioni e di efficienza energetica tra il Cortex-A15 e il Cortex-A7, misurate attraverso diversi tipi di benchmark.

Cortex

Figura 4: I due processori a confronto

La prima colonna rappresenta l’incremento di prestazioni che si ottiene passando dal Cortex-A7 al Cortex-A15, mentre la seconda colonna mostra l’incremento di efficienza energetica che si ottiene passando dal Cortex-A15 al Cortex-A7. È utile far notare che, nonostante sia definito come il processore "LITTLE" dell’architettura, il Cortex-A7 è dotato di un livello prestazionale di assoluto rilievo. Infatti, grazie al suo particolare tipo di microarchitettura, il Cortex-A7 offre una capacità di elaborazione persino superiore all’attuale Cortex-A8, utilizzando soltanto una parte dell’energia richiesta da quest’ultimo.

 

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend