Il quinto inatteso core
NVIDIA sta da tempo lavorando al debutto della propria prossima generazione di
architettura Tegra per sistemi mobile, famiglia che prenderà presumibilmente il nome di
Tegra 3 e che per il momento è nota con il nome in codice di Kal-El. Si tratta del primo
chip mobile dotato di architettura quad core, che NVIDIA ha mostrato per la prima volta in
pubblico lo scorso mese di Febbraio in occasione del Mobile World Congress.
Il debutto delle prime soluzioni basate su questo System on a Chip di NVIDIA è stato
posticipato dal mese di Agosto, inizialmente indicato da NVIDIA, al quarto trimestre 2011:
è pertanto presumibile che i primi prodotti basati su questa architettura potranno venir
commercializzati nel corso della stagione di vendite natalizia. Anche la prossima
generazione di SOC NVIDIA, nota con il nome in codice di Wayne, è stata posticipata con
debutto previsto tra fine 2012 e inizio 2013. Tra queste due soluzioni troviamo indicato
nella roadmap NVIDIA, per metà 2012, il chip Kal-El+ che potrebbe rappresentare un die
shrink a tecnologia a 28 nanometri del chip Kal-El oppure un incremento di quest'ultimo
con freqenze di clock più elevate, se non entrambe le cose.
NVIDIA ha già in precedenti occasioni indicato come la GPU integrata nel chip Kal-El
avrà una potenza elaborativa ben più elevata rispetto a quanto messo a disposizione in
Tegra 2. Non sono stati forniti ulteriori dettagli fatta eccezione per i benchmark di
seguito riportati, che confermano un aumento compreso tra 2 e 3 volte rispetto a Tegra 2
per la futura architettura.

Una delle principali novità implementate nell'architettura Kal-El di NVIDIA, resa
pubblica da NVIDIA in questi giorni, è indicata con la sigla vSMP, acronimo di Variable
Symmetric Multiprocessing. Accanto ai 4 core di questa architettura trova spazio un quinto
core, indicato come Companion, che è specificamente dedicato a quegli ambiti di utilizzo
nei quali le richieste di elaborazione siano molto contenute e si voglia minimizzare il
consumo.
La logica alla base di questa scelta architetturale è molto semplice: il core
Companion ha principio di funzionamento differente dagli altri integrati in Kal-El,
essendo appositamente sviluppata per contenere al minimo il consumo in contesti di ridotta
potenza elaborativa quali standby, ascolto di musica e anche riproduzione di flussi video.
Questo core, di conseguenza, opera ad una frequenza che è inferiore a quella degli altri
4.

I 4 core standard entrano in gioco nel momento in cui il tipo di elaborazione che viene
eseguito è più esigente in termini di risorse di sistema. I 5 core sono tutti basati su
architettura Cortex A9 di ARM, con differenti frequenze di clock tra i 4 core standard e
il core Companion. Quest'ultimo non viene riconosciuto dal sistema operativo, venendo
utilizzato in modo trasparente in funzione del carico di lavoro richiesto. Di conseguenza
è l'architettura al proprio interno che gestisce dinamicamente il passaggio dal core
Companion ai 4 core standard, e viceversa, senza alcun tipo di interazione con il sistema
operativo o con il software che viene eseguito in uno specifico istante.
Il processo produttivo utilizzato, a 40 nanometri, è quello LPG messo a disposizione
da TSMC. Questo approccio permette di avere a disposizione alcune parti del chip, e quindi
dei transistor, che sono costruiti con tecnologia G (General Purpose) affiancati da altri
di tipo LP (Low Power). Il chip Companion è costruito con processo LP, mentre i 4 core
standard sono basati su processo G. Tutti i core sono inoltre dotati di power gate:
possono venir pertanto completamente disabilitati, in funzione del carico di lavoro, in
modo indipendente così da contenere a zero il consumo specifico nel momento in cui non
siano utilizzati.
Alla base di una decisione di questo tipo da parte di NVIDIA, possiamo fare alcune semplici
considerazioni: un dispositivo mobile viene tipicamente utilizzato per l'80% del suo tempo
di funzionamento in modalità Active Standby, e per il restante 20% con applicazioni
mobile che richiedono un elevato quantitativo di risorse. In modalità Active Standby
numerose applicazioni vengono eseguite in background: per queste è sufficiente la
presenza di un singolo core di ridotti potenza e consumo, in quanto l'importante non è
che il task in background specifico venga completato rapidamente quanto che venga
concluso.
La scelta di un'architettura con differenti tipologie di core è pertanto legata al
contenimento dei consumi complessivi, bilanciando questo con la disponibilità di una
elevata potenza di calcolo. La scelta di core differenti per tipologia è anche legata a
come questi core tendano a consumare sia durante l'utilizzo a pieno carico sia durante le
fasi di standby.

Il consumo complessivo di un chip è dato dalla somma tra la potenza di leakage e la
potenza dinamica. La prima è determinata dalla tecnologia produttiva utilizzata per la
costruzione del chip; la seconda invece è dipendente anche dalla frequenza di clock e
dalla tensione di alimentazione, aumentando in proporzione del quadrato della tensione.
Un chip che sia stato sviluppato per consumare poco in idle manterrà un leakage power
molto contenuto, ma avrà bisogno di una tensione di alimentazione crescente all'aumentare
della propria frequenza di clock sino a quella di picco. In modo opposto un chip
sviluppato per operare a frequenze molto elevate ha un consumo di leakage mediamente più
elevato ma tende a consumare di meno, rispetto alla precedente tipologia di chip, nel
momento in cui viene portato ad operare alla massima frequenza.

Questo spiega per quale motivo NVIDIA abbia scelto un'architettura a 5 core per Kal-El:
ai 4 riservati alle operazioni ad elevata potenza di elaborazione si affianca il quinto
core, sviluppato pensando ad un livello di performance più contenuto, capace di
ottimizzare il funzionamento complessivo dell'architettura nel momento in cui si richieda
un funzionamento a potenza contenuta. L'incremento della potenza consumata dal chip non è
lineare in Kal-El ma tiene conto del tipo di core che viene utilizzato: se è solo Companion si mantiene sui valori più contenuti per un ridotto livello di performance
richiesta; aumentando la potenza di elaborazione necessaria per eseguire le applicazioni
si attivano i 4 core principali, che permettono di scalare meglio la potenza di
elaborazione in funzione del consumo richiesto. |