AMD Radeon HD 6970 e HD 6950: tempo di Cayman

AMD Radeon HD 6970 e HD 6950: tempo di Cayman

Con le schede video della serie Radeon HD 6900 AMD introduce una nuova architettura di GPU, ponendosi nella gamma più alta del mercato a diretta concorrenza con le soluzioni GeForce GTX 580 e GeForce GTX 570 recentemente presentate da NVIDIA.

di Gabriele Burgazzi, Paolo Corsini pubblicato il nel canale Schede Video
 

Una nuova architettura

Con le soluzioni della famiglia Cayman, nome che indica le GPU adottate per le schede Radeon HD 6900, AMD ha introdotto alcune significative modifiche architetturali rispetto a quanto già implementato nelle soluzioni Barts utilizzate nelle schede Radeon HD 6800. Con queste ultime AMD aveva previsto l'inserimento di due Ultra-Threaded Dispatch Processor, ciascuno dotato di proprie cache per istruzioni e costanti, contro il singolo Ultra-Threaded Dispatch Processor integrato nelle GPU RV870 incaricato di gestire un più elevato numero di stream processors. In Barts AMD ha inoltre introdotto una nuova unità di gestione della tessellation, più efficiente rispetto a quella adottata nelle soluzioni RV870.

schema_1.jpg (106567 bytes)

In Cayman la struttura cambia nuovamente, e in modo radicale. Assieme al raddoppio degli Ultra-Threaded Dispatch Processors, al pari di Barts, Cayman introduce un doppio engine a monte della pipeline grafica, con una logica che mira ad ottenere una completa saturazione, ove possibile, degli stream processors integrati nella GPU. L'architettura è modificata, passando ad un approccio VLIW4 contro quello VLIW5 adottato nella prima implementazione sin dalle soluzioni R600 adottate nelle schede ATI Radeon HD 2900 XT: di questo tuttavia parleremo tra poco.

schema_4.jpg (36851 bytes)

La presenza di due Graphics Engines permette di gestire due primitive per ogni ciclo di clock, con un principio di bilanciamento di tipo tile-based. L'unità di tessellation di ottava generazione è implementata in ciascuno dei graphics engine, permettendo di ottenere tangibli incrementi prestazionali rispetto a quanto osservato con le schede Radeon HD 5870 oltre che con le proposte della serie Radeon HD 6800, già basate su unità di tessellation rinnovata rispetto a quanto utilizzato in RV870.

unigine.png (87784 bytes)

Alcuni test con Unigine permettono di evidenziare per le due architetture basate su chip Cayman prestazioni velocistiche allneate a quelle delle due proposte NVIDIA GeForce GTX della serie 400; non abbiamo a disposizione dati prestazionali per schede GeForce GTX 580 e 570 ma considerandone le specifiche tecniche possiamo ipotizzare valori medi superiori in questo test rispetto rispettivamente alle soluzioni Radeon HD 6970 e Radeon HD 6950.

Gli stream processors sono divisi in un massimo di 24 blocchi, tutti abilitati nella soluzione Radeon HD 6970; per la scheda Radeon HD 6950 il numero di SIMD engines attivi scende a 22. Per ogni SIMD engine sono ora integrati 64 stream processors contro gli 80 delle GPU con architettura VLIW5, ciascuno raccolto in un blocco di 4 stream processors che vanno a costutuire un singolo Thread Processor.

Specifiche ATI Radeon HD 5830 ATI Radeon HD 5850 ATI Radeon HD 5870 AMD Radeon HD 6850 AMD Radeon HD 6870 AMD Radeon HD 6950 AMD Radeon HD 6970
numero stream processors 1.120 1.440 1.600 960 1.120 1.408 1.536
clock stream processors 800 MHz 725 MHz 850 MHz 775 MHz 900 MHz 800 MHz 880 MHz
SIMD engines 14 18 20 12 14 22 24
Threaded processors 224 288 320 192 224 352 384
ROPs 16 32 32 32 32 32 32
TMU 56 72 80 48 56 88 96
clock memoria 4.000 MHz 4.000 MHz 4.800 MHz 4.000 MHz 4.200 MHz 5.000 MHz 5.500 MHz
interfaccia memoria 256bit 256bit 256bit 256bit 256bit 256bit 256bit

Il passaggio da 5 a 4 stream processors per ogni Threaded Processor ha portato ad un incremento dei SIMD engines; mantenendo il rapporto tra SIMD engines e TMU pari a 1 su 4, otteniamo un sensibile incremento delle TMU in Radeon HD 6970 e Radeon HD 6950 nonostante il numero complessivo di stream processors sia rimasto addirittura inferiore rispetto a quello delle soluzioni Radeon HD 5870. Non cambia il numero di ROPs, pari sempre a 32 esssendo rimasto inoltre invariato anche il bus memoria da 256 bit.

schema_2.jpg (54708 bytes)

Vediamo nel dettaglio un Threaded Processor: troviamo ora un design a 4 vie, contro l'approccio a 5 vie adottato in precedenza. E' stata sacrificata la cosiddetta special function unit a favore di un design che preveda stream processors identici tra di loro, ottenendo due risultati diretti: da un lato un migliore utilizzo degli stream processors a disposizione, dall'altro un miglioramento quantificato nel 10% circa nel rapporto tra prestazioni e dimensioni del die. La presenza di stream processors identici tra di loro permette inoltre di semplificare le operazioni di scheduling dei trask, migliorando l'efficienza complessiva.

schema_3.jpg (20362 bytes)

AMD segnala anche un miglioramento nei render back-ends, grazie al quale le prestazioni velocistiche con anti aliasing dovrebbero incrementare; nello specifico AMD dichiara un incremento sino a 2x delle prestazioni velocistiche con ops a 16bit integer, oltre a un ulteriore aumento delle prestazioni velocistiche con ops a 32bit floating point quantificato da 2 a 4 volte rispetto alle soluzioni RV870.

Le soluzioni Radeon HD 6970 e Radeon HD 6950 sono destinate all'utilizzo in sistemi desktop ma è evidente come il chip Cayman verrà utilizzato anche in proposte specificamente destinate all'utilizzo in applicazioni di GPU Computing. La nuova architettura prevede varie novità in questa direzione: troviamo infatti un asynchronus dispatch con il quale poter eseguire molteplici kernel di elaborazione contemporaneamente, con ogni kernel dotato di un proprio command queue e di un indirizzo di memoria virtuale protetto. Sono stati incrementati i DMA engines, presenti in numero di due e capaci di eseguire accessi in lettura e scrittura alla memoria della scheda contemporaneamente. L'architettura VLIW4 è infine in grado di garantire una potenza di elaborazione in double precision pari a 1/4 quale picco rispetto a quella in single precision: per la scheda Radeon HD 6970 questo implica un valore di picco di 675 GFlops in IEEE754-DP e di 563 GFlops per la soluzione Radeon HD 6950.