Steamroller e Jaguar: le CPU di AMD per il 2013

In occasione della conferenza Hot Chips AMD ha fornito le prime informazioni sulle due prossime architetture destinate a CPU e APU. Steamroller rappresenta la seconda evoluzione del progetto Bulldozer, mentre Jaguar è la prima evoluzione delle soluzioni Bobcat destinate ai sistemi a più basso consumo
di Paolo Corsini pubblicato il 29 Agosto 2012 nel canale ProcessoriAMDJaguar
Steamroller: Core Bulldozer di terza generazione
La conferenza Hot Chips, appuntamento annuale che vede tutte le aziende produttrici di CPU anticipare quelle che saranno le proprie strategie per il futuro, è stata per AMD occasione di presentazione di alcune delle caratteristiche tecniche alla base dell'architettura Streamroller, nome in codice che definisce la terza generazione di Core della famiglia Bulldozer.
Ricapitoliamo quelle che sono le attuali architetture di CPU di AMD per il segmento di mercato delle proposte di fascia medio alta. Bulldozer è il nome che indica i core utilizzati per i processori Opteron, in ambiente server, e FX, in ambito desktop, con un numero massimo di core per die che può essere pari a 8. Questi processori verranno sostituiti nel corso dei prossimi mesi dalle proposte indicate con il nome in codice di Piledriver, seconda generazione di architettura Bulldozer che introdurrà varie ottimizzazioni in termini di superiore IPC (Instruction Per Clock) e di più elevate frequenze di clock finali mantenendo l'architettura di base pressoché invariata.
Streamroller è il nome scelto per la terza generazione di architettura della famiglia Bulldozer, quella i cui dettagli tecnici preliminari sono stati anticipati da AMD a Hot Chips; a seguire troveremo Excavator, nome che identifica la quarta generazione di architettura attesa al debutto presumibilmente nel corso dell'anno 2014.
Quali le novità implementate in Steamroller? Alla base ritroviamo lo stesso approccio a moduli introdotto da AMD con le soluzioni Bulldozer, e riproposto con Piledriver, oggetto di numerose innovazioni che mirano a ottenere questi risultati:
- fornire dati da elaborare ai core in modo più rapido;
- migliorare le prestazioni con applicazioni single threaded (uno dei principali limiti delle soluzioni Bulldozer).
- migliorare il rapporto prestazioni su watt, quindi l'efficienza complessiva.
Quali sono gli interventi, a livello di architettura, portati avanti da AMD in Steamroller per migliorare questi 3 elementi? Il primo riguarda l'integrazione di una unità di decode specifica per ognuna delle due pipeline integer integrate in ogni modulo, contro il design di Bulldozer e Piledriver che prevede una unità di Decode unificata tra le due unità integer. Le dimensioni delle cache per istruzioni sono state incrementate, ma non è stato specificato in che quantità, mentre la gestione dei dispatch è stata migliorata in termini di efficienza complessiva ottenendo una riduzione delle branches non previste correttamente quantificata nell'ordine del 20%. Rimane il design di base che vede un modulo integrare due unità di calcolo integer affiancate da un'unità singola in virgola mobile, condivisa tra le due.
Uno dei principali limiti dell'architettura Bulldozer, solo in parte risolto con Piledriver, riguarda le prestazioni del singolo core o, per dirla in altri termini, la velocità della CPU con applicazioni single threaded. AMD è intervenuta in questa direzione migliorando le operazioni di scheduling dei task. I registri tanto integer quanto floating point di Steamroller sono stati incrementati, ma AMD non ha quantificato in che misura, ottenendo un miglioramento nell'efficienza dello scheduling quantificato tra il 5% e il 10%.
Le moderne architetture di CPU sono state sviluppate nel corso degli ultimi anni puntando sull'integrazione di un elevato numero di core, superando in questo le limitazioni alle massime frequenze di clock a vantaggio dei task paralleli. Non sempre questo approccio conduce, soprattutto in ambito desktop e mobile, ai migliori risultati in quanto le prestazioni con alcune applicazioni spiccatamente single threaded sono limitate dall'efficienza dei singoli core. L'architettura Bulldozer si comporta bene in ambito multitasking, cioè quando tutti i core possono venir sfruttati in parallelo, ma è limitata in ambito single threaded nel confronto con le proposte concorrenti di Intel pur vantando frequenze di clock elevate: è proprio l'IPC a livello di singolo core che è ridotto, ed è questo uno degli ambiti nei quali AMD con Piledriver prima e con Steamroller in modo più marcato è intervenuta.
Altri significativi interventi all'architettura riguardano la dimensione della cache L1 per le istruzioni, che è aumentata rispetto a quella da 64 Kbytes implementata nei core Bulldozer benché AMD non abbia specificato il valore finale. Importanti modifiche sono intervenute anche nella cache L2: ora questo componente può essere dinamicamente ridimensionato, in blocchi da 1/4 della dimensione complessiva, in funzione del tipo di lavoro istantaneamente richiesto al sistema. Un singolo blocco può quindi venir disattivato, così da minimizzare l'impatto sul consumo complessivo.
Nelle future evoluzioni delle architetture di CPU AMD, a partire dal core Excavator che verrà presentato a partire dal 2014, l'azienda americana utilizzerà nuove tecniche di design che mirino a incrementare l'efficienza complessiva. Alla base l'utilizzo di librerie di celle definite ad elevata densità, tecnica mutuata dal mondo delle GPU che permette di ottenere una maggiore densità delle celle a parità di tecnologia produttiva adottata. La conseguenza di questo è una riduzione del 30% nella superficie e nel consumo dell'area sulla quale sono state applicate queste tecniche.
Un approccio di questo tipo è largamente utilizzato nel mondo delle GPU e porta benefici in termini di dimensioni e consumo, non permettendo tuttavia di ottenere le stesse frequenze di clock massime tipiche di un approccio al design del chip non così fortemente automatizzato. Il vantaggio in termini di consumo e superficie è quindi in parte vanificato dalla massima frequenza di clock raggiungibile, ma è evidente come questo sia un elemento che passa in secondo piano in quegli ambiti, come quello mobile, per i quali l'efficienza energetica sia elemento di prioritaria importanza in un'architettura di CPU.