|
||
| Pubblicato il: 16.03.2012 | A cura di: Andrea Faes |
Il cuore della Radeon HD 7970 è basato sulla GPU Tahiti, primo processore consumer prodotto a 28nm. L’architettura sulla quale si basa la nuova famiglia di GPU Radeon è denominata GCN, diminutivo di Graphics Core Next. L’architettura GCN sta alla base di tutta la famiglia Southern Island di AMD e costituisce il blocco di partenze per lo sviluppo di tutte le sue GPU che possono essere divise in tre fasce, alta, media e bassa associando così un diverso processore grafico ad ogni specifico gruppo.

Clicca sull’immagine per ingrandirla
Dalla foto possiamo vedere i nomi in codice delle differenti GPU dedicate a determinate fasce di potenza e di costo. AMD ha presentato per prima l’architettura Tahiti per poi passare a quella Cape Verde di cui abbiamo parlato qui (link) e concludere in seguito con quella Pitcairn che verrà analizzata nelle prossime settimane.
Il core Tahiti è caratterizzato dalla presenza di ben 4.3 miliardi di transistor che permettono insieme di elevare la potenza di calcolo a livelli altissimi. Tutto questo è stato reso possibile però grazie alla tecnologia di miniaturizzazione che ha permesso di costruire questa GPU con un processo produttivo a 28nm consentendo così di inserire questa gigantesca mole di transistor in un DIE dalle dimensioni di soli 365mm^2.

Clicca sull’immagine per ingrandirla
Nella foto possiamo vedere il diagramma a blocchi della GPU Tahiti costituito dalle Compute Units GCN, con un valore massimo pari a 32 unità nel caso della Radeon HD 7970 che scende invece a 28 unità per quanto riguarda la sorella minore Radeon HD 7950 (link alla review). Sono necessari ben 4.31 miliardi di transistor per costruire questa GPU che occupa una superficie pari a 365mm^2.
Le unità GCN sono il cuore di questa architettura e al loro interno ospitano ben 64 stream processors che possono essere visti come le vere e proprie unità di calcolo. I blocchi GCN sono messi in comunicazione tra di loro grazie ad una Global Data Share che a sua volta trasmette dati con due Geometry Engine ospitanti delle unità di tessellation di nona generazione molto avanzate, punto dove AMD ha sempre sofferto nei confronti della rivale NVIDIA e dove sembra aver recuperato sensibilmente.
Nella parte inferiore troviamo una cache L2 da 768Kb utilizzabile sia in lettura che in scrittura alla quale sono direttamente collegati 6 controller di memoria dual-channel a 64-bit per un bus totale di 384-bit che gestiscono 12 chip di memoria RAM GDDR5 a 32-bit e operanti a 5.5Ghz garantendo un bandwidth superiore a 264 GB/s.
Collegati ai due Geometry Engine troviamo 8 unità di render che ospitano 4 Color ROPs e 16Z/Stancil ROPs l’una per un totale di 32 Color ROPs e 128 z/Stancil ROPs.

Clicca sull’immagine per ingrandirla
In questo schema possiamo vedere come operano i due Geometry Engine e l’unità di tessellation di nona generazione. Il Geometry Engine, tramite un Vertex Assembler, comunica con le Compute Units che hanno il compito di eseguire tutta la mole di dati necessari alla costruzione dell’immagine.
Successivamente la figura elaborata viene presa in carico dal Geometry Assembler che la gira al Rasterizer e in seguito ai Render Back-Ends Block costituiti dalle Color ROPs e dalle Z/Stancil ROPs che hanno il compito di renderizzare l’immagine applicando colori, luci e filtri AA.

Clicca sull’immagine per ingrandirla
Entriamo ora nello specifico e andiamo a vedere come sono costituite all’interno le Compute Units GCN per meglio capire come opera la scheda e dove sono posizionati gli stream processors, unità fondamentale delle ultime architetture AMD.
Ogni unità è definita da quattro moduli composti da 16 stream processors e da un vector register da 64KB comandati da uno scheduler condiviso. Per ogni modulo troviamo anche una texture unit in comunicazione con una cache L1 da 16KB. Inoltre è presente un Local Data Share da 64KB al pari del Global Data Share visto in precedenza, ma in grado di smistare dati solo agli stream processors della sua Compute Unit affiancato da uno Scalar Unit e la sua relativa memoria da 4KB.