Nvidia Kal-El è la prima CPU mobile che incorpora quattro core ad elevate prestazioni oltre a un quinto nucleo per i task più comuni.
Autore: Daniele Preda
Pubblicato il: 23/09/2011
Nvidia è tra i player principali del mercato dei dispositivi mobile e, nel corso degli ultimi mesi, ha reso disponibili numerose novità e aggiornamenti delle proprie piattaforme.
L'annuncio più consistente riguarda il futuro erede di Tegra 2, ad oggi noto com Kal-El.
L'attuale situazione vede un'ampia diffusione di processori mobile a singolo core, mentre negli ultimi mesi abbiamo assistito a una notevole disponibilità di unità dual-core, integrate principalmente nei dispositivi di fascia alta. Kal-El si propone come nuovo top di gamma, forte dei quattro core e di un rapporto performance/watt di tutto rispetto, secondo quanto dichiarato da Nvidia. Oltre ai quattro nuclei è presente una quinta unità "Companion core", per le operazioni più basilari.
[tit:Variable SMP]Gli obiettivi che Nvidia si è posta nello sviluppo di Kal-El sono quelli di incrementare le prestazioni delle attuali configurazioni dual-core e di garantire un'autonomia di buon livello. Oltre alla riduzione dei consumi e al raggiungimento di un miglior rapporto performance/watt, si è voluta incrementare la velocità di navigazione Web e le prestazioni a disposizione dell'utente per l'esecuzione di applicazioni molto pesanti. Si punta inoltre ad assicurare elevate velocità di esecuzione dei videogiochi e a un multitasking fluido e dinamico.
I core principali (main cores) e il Companion core non possono essere attivati contemporaneamente. Il grafico mostra i punti di intervento dei due blocchi CPU.Per raggiungere i propri obiettivi Nvidia ha implementato la piattaforma tecnologia vSMP o variable Symmetric Multi-Processing, disponibile per la prima volta in un chip Soc (System-on-a-Chip). Questo sistema è ottimizzato per minimizzare il consumo in fase di standby e per assicurare un rapido passaggio allo stato ad alte performance dei core interni.
Mentre le unità principali sono realizzate con silicio standard, in grado di raggiungere elevate frequenze operative, il nucleo addizionale "Companion" è sviluppato con una base di silicio di tipo low power, capace di assolvere a tutte le funzioni con il minimo dispendio di energia. I cinque core sono comunque realizzati a partire da una base comune che è quella ARM Cortex A9.
Nel dettaglio l'andamento relativo all'utilizzo dei singoli core durante una sessione operativa.Ciascuna unità può essere attivata o disattivata individualmente, sfruttando un politica di power gating molto aggressiva e basata sul reale carico di lavoro dell'intero sistema.
Il sistema vSMP si occupa inoltre di distribuire il flusso dei dati da elaborare tra i core ad elevate prestazioni e il "Companion" Core. Il controllo software dei dispositivi avviene tramite il sistema Nvidia Dynamic Voltage and Frequency Scaling (DVFS) e la gestione CPU Hot-Plug, proprio per questo non richiede modifiche al sistema operativo adottato.
[tit:Companion Core]Come anticipato, tutte le attività a basso carico vengono gestite dal quinto core, capace di assecondare le richieste più semplici con un minimo impatto energetico. Analisi interne condotte da Nvidia hanno dimostrato che il "Companion" Core assicura performance adeguate e consente una drastica riduzione dei consumi. I risultati raggiunti sono persino migliori di quelli che si potrebbero ottenere portando i quattro core operativi principali al di sotto dei 500 MHz. Proprio per questo Nvidia ha limitato questo nucleo proprio alla frequenza di 500 MHz, mentre i restanti core possono operare tra 0 (core spento) e il massimo possibile. Le attività come la sincronia della posta, dei propri profili sui social network, la visione di film, foto e l'ascolto di musica sono tendenzialmente eseguiti dal "Companion" Core. Va comunque considerato il fatto che le operazioni di codifica e decodifica sono svolte da nuclei indipendenti e specificamente ottimizzati.
L'abbinamento ottimizzato dei core ad alta frequenza "performance-optimized" e del processore a basso impatto energetico "power-optimized" consente perciò di raggiungere ottime prestazioni, sia per quanto riguarda l'autonomia complessiva, sia sul fronte delle prestazioni assolute.
In evidenza i singoli nuclei di Kal-El, in verde le cinque CPU. Possiamo notare la presenza di quattro core ad alte prestazioni e di un singolo core low power.In aggiunta va considerato il fatto che i quattro core principali devono operare a elevate frequenze per poter garantire prestazioni di rilievo. L'impiego di una tecnologia costruttiva con silicio ad alte prestazioni consente frequenze elevate, pur utilizzando ridotte tensioni operative. Proprio per questo l'attivazione dei quattro nuclei non porta a significativi incrementi dei consumi dinamici.
[tit:Gestione trasparente]Il controllo di Kal-El è affidato a un substrato software indipendente dal sistema operativo e capace di pilotare i diversi comparti tramite istruzioni specifiche.
Nello specifico, Android 3.x (HoneyComb) incorpora il supporto nativo per sistemi multi-processore ed è in grado di trarre il maggior vantaggio da questo genere di dispositivi. Tuttavia, per quanto riguarda il sistema operativo, le CPU disponibili risultano del tutto identiche. Proprio per questo e per assicurare un impiego efficiente dei quattro core e del "Companion" Core, Nvidia ha previsto una particolare implementazione, sia hardware che software. I due blocchi CPU vengono perciò attivati o disattivati in base a uno specifico algoritmo che controlla in tempo reale il carico di lavoro richiesto dagli applicativi e dall'utente.
L'impiego dei singoli core disponibili avviene in modo scalare, in base alle richieste del software utilizzato.Nvidia sfrutta il principio di funzionamento basato sul livello di carico del processore "Workload-Based Dynamic Enabling and Disabling of CPU Cores". Tramite la logica integrata e il task "CPU Governor" è possibile individuare l'effettiva potenza richiesta per le applicazioni che sono eseguite e operare di conseguenza.
Perciò, se si eseguono task basilari sarà attivato solamente il "Companion" Core, che consente di gestire i programmi con una minima richiesta energetica. Se sono richieste prestazioni superiori, per velocizzare la sincronia della posta, per giochi 2D e per il browsing basilari, verrà attivata una CPU principale. Successivamente, per applicazioni come la visione di filmati in Flash, per la video chat e per la navigazione in siti ricchi di contenuti, verranno portati in funzione due core. Il sistema sarà infine completamente operativo, con i quattro core attivi, se è necessario gestire uno scenario completo in multitasking, o generare ambienti 3D di elevato dettaglio.
[tit:I vantaggi dell'architettura vSMP]Questo tipo di architettura si dimostra vincente sul piano pratico e offre ulteriori innovazioni, introdotte per garantire performance e bassi consumi. Tra queste la gestione coerente delle cache, o Cache Coherency, che prevede la condivisione della cache L2 da parte dei due blocchi CPU. Dato che il "Companion" Core e le quattro unità ad alte prestazioni non possono essere attive simultaneamente, si è pensato di rendere disponibili i dati in cache a entrambi i sistemi con un opportuno sistema di timing.
Consumi: Kal-El risulta sempre abbondantemente più parco di Tegra 2.Per ridurre i tempi di switching, ossia si scambio tra i due blocchi CPU, Nvidia ha sviluppato un circuito dedicato capace di ridurre le latenze e minimizzare le attese da parte dell'utente. Di fatto, il tempo di passaggio tra una soluzione e l'altra e il tempo di stabilizzazione della tensione sulla linea della CPU attivata richiede poco meno di 2 ms ed è perciò impercettibile. Inoltre, per evitare continui passaggi di stato tra il "Companion" Core e le CPU principali, il chip è stato dotato di un avanzato sistema di gestione dell'isteresi e di un algoritmo capace di effettuare continue letture delle condizioni di lavoro.
Almeno sulla carta, Kal-El sembra promettere una rivoluzione in termini di potenza di calcolo.Tutto questo si traduce in un vantaggio energetico evidente, che consente al nuovo Kal-El di essere fino al 61% meno esigente di Tegra 2, nonostante sia realizzato con il medesimo processo costruttivo TSMC 40 nm.
Un ulteriore, ma non meno importante vantaggio della nuova piattaforma, riguarda le prestazioni effettive che si possono raggiungere. In definitiva si è verificato che quattro core possono operare con maggiore efficienza rispetto ai sistemi dual-core. Questo perchà© i quattro nuclei possono essere abbassati di frequenza contemporaneamente e continuare a offrire una potenza di calcolo più che sufficiente per la maggior parte degli impieghi moderni. Alcuni benchmark interni con Coremark hanno evidenziato risultati decisamente interessanti.
In questa tabella, Kal-El a frequenza bloccata e a frequenza standard viene confrontato con due soluzioni dual-core molto diffuse. Il nuovo chip Nvidia ne esce vincitore, sia in termini di prestazioni, sia per quanto riguarda i consumi effettivi.Portando la frequenza operativa di Kal-El a 480 MHz si ottengono punteggi analoghi a quelli offerti dagli attuali processori dual-core che lavorano a 1 / 1,2 GHz (OMAP4 e QC8600). In queste condizioni è interessante notare che il consumo di Kal-El risulta circa 1/3 rispetto alla concorrenza. Portando invece il chip alla frequenza nominale di 1 GHz le prestazioni risultano doppie rispetto alla controparte a due core, mentre i consumi rimangono comunque inferiori del 20% circa.
L'utilizzo di un chip quad-core risulta molto vantaggioso soprattutto in uno scenario fortemente multi-thread.
[tit:Kal-El e i videogiochi]Oltre a velocizzare le applicazioni di tutti i giorni, i software professionali e di produttività , Kal-El porta una ventata di novità anche nel campo del rendering 3D. La disponibilità di quattro core ad elevate prestazioni assicura l'esecuzione fluida di molti titoli moderni.
Ecco un raffronto tra le prestazioni 3D offerte da Kal-El rispetto a quelle di Tegra 2.I più recenti videogiochi sfruttano infatti un codice fortemente ottimizzato per struttura con più processori e con piattaforma SMP. Gli engine grafici più usati, come Unreal 3.0, Id Tech 5 e Frostbite sfruttano massicce quantità di thread paralleli, mentre le dimensioni di ciascun thread sono ridotte rispetto al passato. Questo massimizza le capacità di calcolo di piattaforme hardware come Kal-El, che può essere utilizzato per la generazione in tempo reale dei fenomeni fisici (movimento, gravità , vento), delle texture e delle collisioni.
Un esempio di rendering con e senza l'applicazione dell'illuminazione dinamica.Il calcolo delle luci dinamiche, della fisica, dell'intelligenza artificiale e di altre componenti di gioco viene suddiviso tra le quattro CPU. Grazie alle prestazioni offerte, è possibile eseguire giochi senza arrivare al limite computazionale del sistema, garantendo così l'esecuzione fluida dei task in background.
Per ridurre la dimensione complessiva del gioco e rendere più veloce il download dell'applicativo, Nvidia ha studiato il sistema di generazione dinamica delle texture. In questo modo non è necessario che le singole trame siano inserite nel pacchetto base, dato che verranno create in tempo reale in base alle chiamate effettuate dal gioco stesso. Si tratta di un processo molto impegnativo e che richiede l'utilizzo di CPU multi-core.
Windmill demo.Il demo Windmill di Allegorithmic può essere eseguito a partire da un pacchetto base di texture di 900 Kbyte ed è in grado di generare un set di trame di oltre 300 MByte. Un simile carico di lavoro sarebbe impossibile per i sistemi dual-core e costringerebbe il processore a un sovraccarico, con evidenti rallentamenti durante l'elaborazione.
Kal-El si propone dunque come soluzione a 360° per lo sviluppo esponenziale di applicativi e giochi su dispositivi mobile. Non resta che attendere una versione commerciale distribuita negli smartphone e tablet di prossima generazione.