Il futuro di AMD, tra roadmap e Fusion

Nel corso del proprio 2009 Financial Analyst Day AMD delinea la propria roadmap per i prossimi 2 anni: le prime soluzioni Fusion sono attese per il 2011, unitamente alle nuove architetture di CPU Bobcat e Bulldozer
di Paolo Corsini pubblicato il 12 Novembre 2009 nel canale ProcessoriAMD
Bobcat e Bulldozer: le due nuove architetture
Da tempo AMD ha indicato con i nomi in codice di Bobcat e Bulldozer le proprie due future architetture destinate a CPU x86; la prima è indirizzata a sistemi di ridotte dimensioni, nei quali sia da ricercare l'ideale connubio tra prestazioni velocistiche, costo ridotto e consumi che siano i più contenuti possibili. Bulldozer indica invece le famiglie di processori a più elevate prestazioni, destinati all'utilizzo sia in sistemi desktop come in quelli server.
La strategia posta in essere da AMD ricorda, in buona sostanza, quella di Intel che propone soluzioni della famiglia Nehalem per i segmenti server, notebook e desktop di fascia alta, relegando le cpu della famiglia Atom per le soluzioni ultraportatili. Il confronto tra Bobcat e Atom, in realtà, non è propriamente corretto in quanto la prima architettura non sembra indirizzata specificamente all'utilizzo in sistemi mobile, in primis i netbook, quanto ai notebook di più ridotte dimensioni. AMD sembra in questo senso aver scelto un trade-off tra prestazioni velocistiche e consumo di esercizio, preferendo non scendere a livelli prestazionali che fossero eccessivamente contenuti.
Questa impressione è del resto confermata dalle poche caratteristiche tecniche al momento a disposizione: AMD dichiara per queste cpu il 90% delle prestazioni velocistiche delle cpu mainstream attualmente in commercio (quelle pertanto della famiglia Athlon II), con una superficie del die che è inferiore alla metà. Il consumo è dichiarato entro 1 Watt, indicando con questo il valore in idle; a pieno carico possiamo stimare un consumo per questa architettura attorno ai 10 Watt, soglia che è più elevata di quella delle soluzioni Atom ma di tutto rispetto pensando ad un utilizzo di questi processori con sistemi, desktop o notebook, che richiedano un buon margine di potenza di elaborazione.
Per l'architettura Bulldozer AMD ha fornito alcune informazioni base, benché sia molto difficile poter ricavare da questo dettagli precisi. Dal punto di vista del design del processore troviamo all'interno di ognuno dei core un design a doppio cluster per i calcoli interi, ed uno singolo per quella in virgola mobile. Con Bulldozer AMD ha quindi scelto di dare priorità alle operazioni intere su quelle in virgola mobile, partendo presumibilmente dalla considerazione che la sempre crescente complessità e potenza elaborativa delle moderne GPU porterà a sgravare sempre più operazioni in virgola mobile verso la GPU relegando la CPU ad una unità di elaborazione di calcoli interi. Un'architettura di questo tipo permetterà alle cpu Bulldozer di eseguire due threads sui due core integer discreti, senza alcun tipo di dipendenza tra i due blocchi di elaborazione ed eventuali colli di bottiglia. Per la parte di elaborazione in virgola mobile è possibile fare in modo che le risorse siano condivise tra i due cluster integer, oppure dedicate specificamente ad uno dei due core per ogni ciclo di clock.
Le prime versioni di processore della famiglia Bulldozer non integreranno al proprio interno una GPU, ma è presumibile che le cpu post 2011 avranno questa caratteristica. GPU e CPU potrebbero non solo condividere il memory controller ma anche la cache L3, così da facilitare il passaggio di codice da CPU a GPU nel momento in cui quest'ultima, soprattutto con elaborazioni in virgola mobile, risultasse essere maggiormente performante. Da questo approccio deriva anche la necessità di avere applicazioni che possano in modo diretto far eseguire codice a CPU o GPU, a seconda di quanto la specifica unità di elaborazione si adatti allo scopo; non è difficile in questo senso pensare all'importanza di DirectCompute e di Open CL.
Per certi versi l'approccio di AMD con Bulldozer vuole andare oltre quello HyperThreading di Intel, benché a costo di una superiore complessità. All'interno di ogni core infatti troviamo di fatto due clusters per l'elaborazione di calcoli interi, al punto che ciascun core viene identificato dal sistema operativo come due. Una scelta di questo tipo massimizza le prestazioni rispetto ad HyperThreading, con il rovescio della medaglia dato dal maggiore numero di transistor integrati e quindi da un incremento della superficie complessiva del die.
La tecnologia produttiva che verrà adottata per queste soluzioni rimane ovviamente quella a 32 nanometri, con disponibilità nel corso del 2011 delle prime versioni di processore sia per soluzioni desktop come per quelle server. Notiamo inoltre come la gerarchia delle cache sia rimasta invariata rispetto alle cpu Phenom: troviamo cache L3 unificata tra i core, cache L2 nuovamente unificata tra i core e cache L1 per dati diversificata per ciascuno dei cluster di calcolo interi.