Jump to content

Bulldozer e Bobcat: le future architetture delle CPU AMD


1 post in this topic

Recommended Posts

Introduzione

 

 

In occasione di HotChips, evento annuale nel quale i principali produttori mondiali di semiconduttori e architetture rivelano al pubblico degli analisti e degli addetti ai lavori le proprie future novità, AMD ha anticipato alcune delle caratteristiche architetturali delle proprie due future generazioni di processore che vedranno la luce a partire dal 2011.

 

Ci riferiamo a soluzioni note con i nomi in codice di Bulldozer e Bobcat: la prima è destinata ai sistemi ad elevate prestazioni, sia desktop come server, andando a prendere il posto di quella utilizzata nelle cpu Phenom e Opteron attualmente presenti sul mercato. La seconda, invece, si riferisce ad un'architettura specificamente sviluppata da AMD per l'utilizzo in sistemi a basso consumo e ridotte dimensioni, indicativamente con valori di potenza che si mantengono entro i 10 Watt di TDP quale massimo.

 

Per entrambe le famiglie di processori conosciamo già alcune informazioni: con architettura Bulldozer debutteranno nel corso del 2011 le prime soluzioni Opteron con un massimo di 16 core per processore, compatibili con le piattaforme Socket G34 che AMD ha immesso sul mercato alcuni mesi fa. L'architettura Bobcat troverà invece utilizzo nelle prime soluzioni della famiglia Fusion che debutteranno sul mercato nel corso del primo trimestre 2011, integrando al proprio interno anche una GPU compatibile via hardware con le API DirectX 11.

 

schermata20100825a02252.png

 

AMD ha quindi scelto di operare una chiara differenziazione tra le due famiglie di processori, in funzione dell'ambito di utilizzo di riferimento. Per la prima volta AMD adotta un approccio di questo tipo: in precedenza l'azienda americana ha sviluppato differenti versioni di processore, destinate ad ambiti di utilizzo variegati, pur mantenendo in comune una specifica microarchitettura di base, di volta in volta modificata e affinata a seconda dello specifico target di riferimento.

 

In questo caso, quindi, AMD sceglie un approccio di profonda diversificazione, implementando in queste due nuove architetture x86 specifiche funzionalità che ne permettono il miglior sfruttamento complessivo in funzione del proprio target d'utilizzo di riferimento. Si tratta di un importante passaggio per il produttore americano, che di fatto ha beneficiato nel corso dell'ultimo decennio della base architetturale implementata nelle prime soluzioni della famiglia Athlon introducendo progressivamente migliorie ed evoluzioni che hanno da un lato permesso di incrementare le funzionalità ma dall'altro hanno lasciato invariato un approccio di base.

 

L'approccio è del resto simile a quanto sviluppato da Intel per le proprie CPU: da un lato le soluzioni basate su architettura Nehalem per server e client a più elevate prestazioni, con a controbilanciare le soluzioni della famiglia Atom per i sistemi a più basso consumo. Nell'attuale offerta di prodotti Intel continua a trovare spazio anche la microarchitettura Core di precedente generazione, utilizzata soprattutto in sistemi notebook della classe CULV che bilanciano costo ridotto con dimensioni contenute e valide prestazioni velocistiche.

 

Bulldozer: l'architettura per Phenom e Opteron

 

Come segnalato, l'architettura Bulldozer è destinata all'utilizzo in sistemi ad elevate prestazioni; il target di riferimento è quindi quello delle soluzioni server e workstation, oltre che dei client. AMD non ha fornito informazioni specifiche sulla tipologia di sistemi client, ma riteniamo molto probabile che questa architettura verrà abbinata sia a sistemi desktop tradizionali come a quelli notebook, intendendo ovviamente con questi ultimi le soluzioni di più elevate dimensioni e potenza elaborativa e non i sistemi ultra portable e netbook, per i quali è stata sviluppata l'architettura Bobcat.

 

schermata20100825a02273.png

 

L'architettura base vede la presenza di due core per elaborazioni integer, affiancati da un'unità floating point che è condivisa. L'approccio, in estrema sintesi, sembra riprendere quello adottato da Intel con la tecnologia HyperThreading, cioè l'SMT (Simultaneous Multi Threading); di fatto sono integrati due core che condividono le risorse di elaborazione in virgola mobile, avendo pipeline dedicate per quelle integer. Al posto di far eseguire ad ogni core due threads in parallelo, approccio SMT, AMD ha scelto di integrare due unità di calcolo integer complete affiancate da una complessa unità in virgola mobile che è condivisa. Costruite utilizzando tecnologia produttiva a 32 nanometri da GlobalFoundries, le prime CPU AMD della famiglia Bulldozer integreranno alcune nuove estensioni ISA e varie ottimizzazioni in termini di contenimento del consumo, elemento tecnico sempre più importante tanto in ambito server come in quello client.

 

schermata20100825a02274.png

 

L'approccio scelto da AMD nel design delle soluzioni Bulldozer passa quindi attraverso una logica di condivisione delle risorse, studiata in modo tale da ottimizzare il livello prestazionale in funzione del consumo massimo. E' evidente come sia preferibile, dal punto di vista delle pure prestazioni velocistiche, un design di processore che veda la presenza del maggior numero possibile di unità di elaborazione; d'altro canto questo implica dimensioni crescenti e consumi che possono aumentare sino ad una soglia non ritenuta più accettabile. AMD ha segnalato come la presenza della seconda unità di calcolo integer all'interno di ogni modulo Bulldozer implichi un incremento della superficie complessiva del chip pari al 12%, valore particolarmente contenuto considerando il boost prestazionale ottenibile.

 

schermata20100825a02275.png

 

L'approccio adottato dai produttori di CPU è quindi quello di trovare un ideale bilanciamento tra le varie componenti presenti nei propri processori, integrando quanto può essere utile per migliorare le prestazioni velocistiche e allo stesso tempo incida con la percentuale più contenuta possibile sul consumo e sulle dimensioni del die. La strategia di AMD vede quindi un raddoppio, in Bulldozer, delle unità di elaborazione integer e una condivisione di quella floating point: ogni modulo Bulldozer, di conseguenza, integra al proprio interno due core, una unità floating point e una cache L2 unificata tra i due core. Un processore della famiglia Bulldozer è quindi ottenuto affiancando più moduli sullo stesso die, sino ad un massimo di 4: da questo la possibilità di avere design di processore con 8 core, o fino a 16 core affiancando due chip sullo stesso package con un design di tipo MCP (Multi Chip Module). Ogni modulo è collegato agli altri, utilizzando una cache L3 unificata e una componente north bridge nella quale è integrato il memory controller DDR3.

 

Bulldozer in dettaglio

 

La strategia a moduli ricorda molto da vicino quanto implementato da Intel con la propria architettura Nehalem; la flessibilità che ne consegue permetterà ad AMD di avere a disposizione, con una certa facilità, differenti versioni di processore che integrino sia un numero variabile di core e quindi moduli, sia anche differenti memory controller oltre a quantitativi di cache L3.

 

AMD ha scelto di raddoppiare la sola parte integer del propri processori, lasciando condivisa quella floating point, partendo da una considerazione pratica: la maggior parte delle elaborazioni riguarda proprio le unità integer, sino mediamente all'80% del totale, pertanto volendo ottenere il miglior rapporto tra prestazioni e consumo complessivo la strada maestra è quella di duplicare queste unità, massimizzando il parallelismo delle operazioni, lasciando unificata un'unità in virgola mobile di notevole potenza complessiva. Vero è che in ambito server e soprattutto HPC il ruolo delle unità di elaborazione in floating point è ben più rilevante che con tradizionali pattern di calcolo, anche server; d'altro canto è innegabile come l'utilizzo di GPU per elaborazioni parallele non grafiche in ambito professionale si stia rivelando una strategia estremamente interessante per poter mettere a disposizione elevata potenza di calcolo in virgola mobile per particolari pattern di elaborazione, ottenendo incrementi prestazionali molto elevati rispetto all'utilizzo di tradizionali CPU.

 

La componente floating point integrata in ogni modulo Bulldozer prevede due unità Multiply and Accumulate a 128 bit, a monte delle quali troviamo ovviamente anche uno scheduler in virgola mobile. Sono supportate le principali ISA sino a SSE4.2, oltre alle istruzioni AVX (Advanced Vector eXtensions) che Intel presenterà per la prima volta in abbinamento alle cpu della famiglia Sandy Bridge. Il supporto AVX a 256bit è ottenuto sfruttando in parallelo le due unità FP a 128bit, che possono essere riorganizzate per operare come 4x64bit, 2x128bit oppure 1x256bit a seconda del tipo di applicazione utilizzata.

 

schermata20100825a02342.png

 

In Bulldozer troviamo un nuovo decoder a 4 vie, completamente rivisto rispetto a quello a 3 vie adottato da AMD sin dalle prime architetture K7 sino alle attuali cpu Phenom II e Opteron. E' ora possibile fondere istruzioni branch x86, con un approccio simile a quanto implementato da Intel con le proprie architetture Nehalem, così da estendere ulteriormente l'ampiezza effettiva del decoder. Sono presenti 3 distinti scheduler: uno per ciascuna delle unità di elaborazione integer e uno dedicato per quella floating point condivisa.

 

Ogni unità integer è dotata di una cache L1 per i dati da 16 Kbytes, valore più contenuto rispetto ai 64 Kbytes integrati per ogni core nell'architettura Phenom II e Opteron; a monte dell'unità di fetch troviamo una seconda cache L1 a 2 vie per istruzioni, in quantitativo di 64 Kbytes come per le precedenti architetture AMD. La pipeline interna alle unità di calcolo integer dell'architettura Bulldozer è stata allungata rispetto a quella delle soluzioni Phenom II e Opteron; la diretta implicazione di questo è la possibilità per queste cpu di operare a frequenze di clock più elevate.

 

Pipeline più ampie implicano tuttavia una maggiore dipendenza dalle unità di branch prediction: in questo ambito AMD ha operato varie ottimizzazioni nell'architettura Bulldozer. Rispetto alle soluzioni Phenom e Opteron, AMD ha integrato branch prediction e fetch logic che operano in modo indipendente l'una dall'altra, evitando quindi che lo stallo di una delle due implichi l'automatico stop anche dell'altra. La presenza di un'unità di prefetch particolarmente aggressiva, richiesta necessariamente dalla pipeline più lunga, implica a sua volta una maggiore dipendenza dalle prestazioni del memory controller. AMD non ha fornito informazioni a riguardo, se non specificando che si tratta di un design integrato nella CPU come del resto anche per la precedente generazione di processori dell'azienda americana; sembra quindi possibile, almeno sulla carta, che il controller DDR3 possa andare oltre la modalità dual channel che è implementata con le attuali generazioni di processore Phenom e Opteron. A completare verso il basso ogni modulo Bulldozer troviamo una cache L2 unificata tra i core, del tipo a 16 vie ma in quantitativo che non è stato ancora dichiarato da AMD.

 

Un elemento sempre più importante delle architetture di processore è il contenimento dei consumi. AMD ha sviluppato con Bulldozer dei moduli che possono gestire dinamicamente e indipendentemente l'uno dall'altro tensione e frequenza di clock. L'approccio è simile a quanto implementato da Intel con le soluzioni Nehalem, benché avvenga non per ogni singolo core ma per coppia di core, cioè a livello di modulo.

 

Questa gestione permetterà di avere un maggiore controllo sui consumi complessivi del processore in idle come a pieno carico, oltre a rendere disponibili tecniche di incremento dinamico della frequenza di clock oltre al valore massimo di default in funzione del pattern di utilizzo. Di fatto, quindi, AMD introdurrà un affinamento della tecnologia Turbo Core presentata con le cpu Phenom II X6, riteniamo rendendola nel funzionamento molto più vicina a quella Turbo Boost introdotta da Intel con le CPU della famiglia Nehalem e quindi ben più efficiente di quanto non sia Turbo Core al momento.

 

Bobcat: alla base delle prime soluzioni Fusion

Come segnalato, l'architettura Bobcat è destinata ad una serie di dispositivi di fatto opposta rispetto a quelli per i quali è stata sviluppata l'architettura Bulldozer; ci riferiamo a prodotti di ridotte dimensioni, per i quali sia indispensabile ottenere un ideale bilanciamento tra dimensioni del die, consumo complessivo e potenza elaborativa. E' di fatto questa la prima volta che AMD si dedica allo sviluppo di un'architettura innovativa specificamente rivolta all'ambito dei sistemi mobile di più ridotte dimensioni, settore nel quale il produttore americano è di fatto assente al momento attuale.

 

 

 

Il primo elemento distintivo dell'architettura Bobcat è la possibilità di operare con un livello di consumo inferiore a 1 Watt con alcune specifiche versioni; questo risultato è stato ovviamente ottenuto attraverso una riduzione della tensione di alimentazione oltre che della frequenza di clock, riducendo le prestazioni velocistiche complessive ma ottenendo un livello di consumo che non ha uguali tra i processori AMD attualmente presenti sul mercato. Riteniamo probabile che AMD possa decidere di presentare specifiche versioni di processore con architettura Bobcat capaci di consumi contenuti entro 1 Watt solo in un secondo tempo, in funzione di specifiche esigenze da parte dei propri partner commerciali.

 

Evidenziamo come l'architettura Bobcat sia del tipo out of order, comune quindi alla maggior parte dei moderni processori x86 presenti sul mercato con l'unica significativa eccezione rappresentata dalle soluzioni Intel Atom. Questo approccio permette di ottenere migliori prestazioni velocistiche, a scapito di un lieve incremento nei consumi complessivi, grazie alla possibilità del processore di riorganizzare le istruzioni da eseguire in modo tale che la loro esecuzione sia la più efficiente possibile in termini di prestazioni velocistiche. Pensiamo quindi alle soluzioni Bobcat come ad un ideale compromesso tra consumi e ridotte dimensioni delle soluzioni Intel Atom, abbinati alla potenza elaborativa di una cpu x86 di tipo out of order.

 

Bobcat utilizza un design dual issue, con quindi due pipeline a 15 fasi che sono molto simili a quelle a 16 fasi implementate da Intel nell'architettura Atom. Ovviamente rimane la notevole differenza tra le due dato dal design out of order, scelta tecnica che permetterà di avere livelli prestazionali, a parità di frequenza di clock, ben più elevati in Bobcat rispetto ad Atom utilizzando applicazioni single threaded.

 

In termini di ISA Bobcat supporta i set di istruzioni SSE sino alla release 3; ulteriori evoluzioni saranno possibili con future evoluzioni dell'architettura nei prossimi anni, ma per il momento AMD ha ritenuto sufficiente limitare il supporto alle istruzioni SSE3 in considerazione del target di riferimento di questa classe di processori. AMD ha fornito informazioni sulle cache integrate in Bobcat: quella L1 è a due blocchi da 32 Kbytes ciascuno, rispettivamente per dati e istruzioni, del tipo associativa a 8 vie con latenza di 3 cicli di clock, mentre quella L2 è da 512 Kbytes di dimensione associativa a 16 vie, con latenza di 17 cicli di clock.

 

AMD ha sviluppato un particolare approccio con l'architettura Bobcat, che permette un rapido e relativamente semplice riadattamento in funzione della tipologia di utilizzo dei core. Ad esempio, secondo AMD è possibile con poco sforzo adattare questa architettura all'utilizzo in soluzioni SOC (System On a Chip), oppure migrarla ad un nuovo e più sofisticato processo produttivo di futura implementazione. Del rest, basti pensare che Bobcat verrà utilizzato nelle prime soluzioni APU della famiglia Fusion, integrando accanto alla componente CPU anche quella GPU. A completare le caratteristiche tecniche delle soluzioni Bulldozer troviamo anche il supporto a tutto il set di ISA che sono emerse sul mercato nel corso degli ultimi anni sino alle istruzioni SSE3, senza tralasciare tutte quelle legate alle tecnologie di virtualizzazione.

 

Per minimizzare il livello di consumo complessivo di questi core AMD ha implementato varie tecnologie; segnaliamo quelle di clock gating e power gating, oltre a states di tipo low power ai quali il sistema può accedere per contenere al massimo il livello di consumo in idle. A completare le funzionalità una serie di innovazioni micro architetturali che riducono al minimo i trasferimenti di dati interni al chip, oltre a ridurre il numero di loro letture allo stretto indispensabile.

 

 

 

AMD non ha fornito informazioni sul memory controller DDR3 integrato nelle soluzioni Bobcat. Trattandosi di componente CPU che verrà utilizzata nelle prime soluzioni della famiglia Fusion con GPU integrata, il controller memoria verrà condiviso tra CPU e GPU. Stando al diagramma fornito da AMD il controller memoria verrà implementato come componente esterno al core x86 e al SIMD engine array, quest'ultimo di fatto la componente GPU con i 480 stream processors integrati.

 

Ricordiamo come la prima implementazione dell'architettura Bobcat troverà spazio nelle soluzioni APU Ontario, costruite con tecnologia produttiva a 40 nanometri da TSMC e dotate ovviamente al proprio interno di GPU. Si tratterà della prima generazione di processori x86 prodotti da TSMC. Accanto a Ontario troveremo anche le soluzioni APU della famiglia Llano, costruite con tecnologia produttiva a 32 nanometri da GlobalFoundries e sempre dotate di GPU integrata, benché con una componente CPU non basata su architettura Bobcat ma derivata per caratteristica da quella K8 adottata dalle soluzioni Phenom II presenti in commercio.

 

Considerazioni

 

Le informazioni fornite sino ad ora da AMD su Bulldozer e Bobcat sono incentrate principalmente sull'aspetto architetturale di queste CPU, senza entrare in dettaglio su alcune specifiche tecniche e sulle differenti versioni. Mancano anche informazioni specifiche sulle capacità prestazionali, ma questo era del resto chiaramente ipotizzabile considerando la distanza che ci separa dal debutto delle prime soluzioni basate su queste architetture.

 

AMD prevede per le soluzioni Bulldozer della famiglia Opteron un incremento del throughput del 50% rispetto alle soluzioni Magny-Cours, architetture con 12 core in design Multi Chip Module; il confronto è ovviamente con la proposta Bulldozer top di gamma, dotata di 16 core. AMD quindi prevede un incremento del 50% con un aumento nel numero dei core del 33%, dati che fanno prevedere in Bulldozer un aumento dell'efficienza complessiva dei singoli core rispetto a quanto ora a disposizione a dispetto del design che veda due unità integer per ogni unità floating point.

 

Per le soluzioni Bobcat AMD stima nel 90% il livello prestazionale ottenibile, prendendo come riferimento un processore AMD di classe mainstream dotato di architettura dual core. Questo indicatore di performance deve essere ovviamente bilanciato al livello di consumo complessivo, nettamente inferiore, oltre alla superficie del die che sarà pari a meno della metà.

 

L'approccio architetturale scelto da AMD per le soluzioni Bulldozer prevederà una indicazione del numero di core pari a quello delle unità integer integrate in ogni CPU. In presenza di un processore della famiglia Bulldozer costruito con due moduli, pertanto, la risultante sarà un processore indicato e riconosciuto dal sistema operativo come quad core, nonostante alcune delle risorse siano integrate. Si può pensare che questo approccio possa in parte snaturare il concetto di core, in quanto accanto a due unità integer trova spazio solo una floating point condivisa benché capace di processare due threads in parallelo. AMD d'altro canto ha scelto un approccio che tende a ricercare un bilanciamento tra dimensioni complessive del die, potenza elaborativa e livello di consumo trovando in questo design una soluzione preferibile ad un design con SMT (Simultaneous Multi Threading) come quello implementato da Intel in parte delle proprie cpu della famiglia Nehalem.

 

schermata20100825a02373.png

 

Le prime soluzioni della famiglia Bulldozer sono attese al debutto nel corso del 2011; riteniamo probabile un lancio tra Q2 e Q3, indicativamente a cavallo del Computex di Taipei, ma da parte di AMD mancano conferme dirette che vadano oltre l'anno 2011. Le prime cpu della famiglia Bulldozer a venir presentate saranno ovviamente quelle della famiglia Opteron, con versioni a 12 core e a 16 core; a seguire troveremo anche proposte per sistemi desktop appartenenti alla famiglia Zambezi, per le quali AMD ha confermato la necessità di avere una nuova scheda madre con socket indicato al momento come AM3r o AM3+. Stando alle ridotte informazioni al momento disponibili, quindi, AMD non sembra assicurare la compatibilità di questi processori con le schede madri socket AM3 attualmente presenti sul mercato, per considerazioni legate alla circuiteria di alimentazione; non è tuttavia chiaro se questa sia una regola generale con alcune eccezioni rappresentate da specifiche schede socket AM3 opportunamente dimensionate, o se la incompatibilità sia meccanica. Le schede madri socket AM3r o AM3+, invece, dovrebbero assicurare piena compatibilità con i processori socket AM3 attualmente presenti sul mercato.

 

Più vicina la disponibilità delle prime soluzioni basate su architettura Bobcat; in questo caso saranno i primi mesi del 2011 il periodo per valutare sino a che punto, e con quali risorse, AMD avrà a disposizione una seria alternativa alle soluzioni Atom, oltre che a quelle CULV, nel settore dei notebook di più ridotte dimensioni e dei desktop.

 

 

Fonte e articolo completo: hwupgrade

×
×
  • Create New...