NVIDIA GeForce GTX 280: oltre G80 e G92

NVIDIA GeForce GTX 280: oltre G80 e G92

Con la GPU GT200 NVIDIA propone la propria seconda generazione di architettura a shader unificati. Le schede GeForce GTX 280 e 260, le prime ad utilizzare questo nuovo chip, si pongono quale nuovo riferimento prestazionale nel segmento delle schede video top di gamma per i videogiocatori più esigenti.

di , pubblicato il nel canale Schede Video
NVIDIAGeForce
 

Architettura della GPU GT200

In questo capitolo analizzeremo in maggiore dettaglio quale sia l'architettura alla base delle nuove schede video GeForce GTX 280 e GeForce GTX 260, alla cui base troviamo la GPU GT200, decima generazione di architettura per la famiglia di prodotti NVIDIA.

Questo chip è costruito con tecnologia produttiva a 65 nanometri nella fonderia taiwanese TSMC; in totale sono stati integrati circa 1,4 miliardi di transistor, un valore ben superiore a quanto integrato da NVIDIA nelle GPU G92. La risultante è una superficie complessiva del die molto elevata, quantificata in circa 650 millimetri quadrati.

g200.jpg (89916 bytes)
GPU GT200 montata su scheda GeForce GTX 280

Con la GPU GT200 NVIDIA ha preso spunto dall'architettura utilizzata nelle soluzioni G80 e G92, introducendo significative innovazioni ma mantenendo invariato il design di base. Troviamo 240 stream processors (SP) nella scheda GeForce GTX 280, numero che scende a 192 nel modello GeForce GTX 260, raggruppati a gruppi di 8 ciascuno in quelli che vengono indicati con il nome di streaming multiprocessors (SM). Un gruppo di 3 streaming multiprocessors viene indicato con il nome di thread processing cluster o TPC: abbiamo quindi in totale 10 TPC e 30 SM per ogni scheda video GeForce GTX 280, mentre per le soluzioni GeForce GTX 260 il numero di TPC scende a 8 e quello degli SM è pari a 24.

Modello G80 e G92 GT200
stream processors totali 128 240

SP per ogni streaming multiprocessors

8 8

SM per ogni thread processing clister

2 3

TPC totali

8 10

Nelle soluzioni G80 e G92 troviamo sempre SM costituiti da 8 stream processors, ma sono presenti 2 SM per ogni TPC e un totale di 8 TPC. NVIDIA ha quindi mantenuto invariato il numero di core integrati in ogni streaming multiprocessors, aumentando tuttavia sia il numero di streaming multiprocessors integrati in ogni thread processing cluster che il numero complessivo di questi ultimi.

gt200_schema.jpg (94100 bytes)
schema di funzionamento della GPU GT200

Lo schema dell'architettura permette di capire chiaramente come NVIDIA abbia suddiviso internamente le varie unità di elaborazione. Nella parte superiore della GPU trova posto la logica che gestisce la suddivisione dei vari thread all'interno dei core, accanto alle unità per il setup e la rasterizzazione.

I 10 blocchi identici sono i TPC, all'interno dei quali sono chiaramente visibili le 3 SM, ciascuna dotata di 8 SP. Per ogni SM sono associate una unità di elaborazione full precision, indicata in colore verde nella parte superiore dell'SM, e due texture units distinguibili dal colore marrone. Ogni stream processor è capace di eseguire operazioni sia con interi che in virgola mobile, accedere alla memoria ed eseguire operazioni di logica. L'architettura è con pipeline multiple, in grado di eseguire una istruzione per ogni thread per ogni ciclo di clock.

Confrontando GT200 con G80 e G92 notiamo quindi chiaramente come NVIDIA sia intervenuta incrementando le varie unità di elaborazione, riprendendo tuttavia l'architettura della propria prima generazione di GPU di tipo unificato. Troviamo tuttavia numerose altre innovazioni all'interno di questa GPU, mirante a incrementare efficienza e prestazioni rispetto a quanto messo a disposizione da G80 e G92. Il file di registro locale interno ad ogni SM è stato raddoppiato rispetto a quello implementato nelle GPU G80 e G92; questo permette alla GPU GT200 di elaborare un numero maggiore di shader, o shader di più elevata complessità, senza necessità di eseguire swap verso la memoria con un conseguente impatto negativo sulle prestazioni.

NVIDIA ha operato varie ottimizzazioni interne alle special function unit interne agli SM, così da ottenere superiore efficienza nell'utilizzo di istruzioni in virgola mobile MUL. In particolare ogni stream processor può elaborare quasi a piena velocità due operazioni di tipo MAD (Multiply-Add) e una di tipo MUL, utilizzando l'unità MAD integrata nello stream processor per eseguire un MUL e un ADD per ogni ciclo di clock, accanto all'unità SFU che esegue una seconda operazione MUL.

La risultante di questa potenzialità di ogni stream processor è una potenza elaborativa di picco pari a 933 Gigaflops in elaborazioni in virgola mobile single precision, IEEE 754, ottenuti eseguendo con 240 stream processors 3 operazioni per ciclo di clock alla frequenza di 1.296 MHz. Questo dato è ovviamente un massimo teorico: NVIDIA ha misurato una efficienza complessiva, in questa condizione di elaborazione massima, molto elevata pari a oltre il 90%.

Abbiamo segnalato come all'interno di ogni SM sia presente una unità di calcolo double precision: NVIDIA ha infatti implementato nelle GPU GT200 anche questa funzionalità, particolarmente importante soprattutto nel momento in cui la GPU viene utilizzata per elaborazioni di GPU Computing, cioè per calcoli paralleli tipicamente delegati alla cpu, grazie all'utilizzo della tecnologia CUDA. Considerando che ogni 8 stream processor è presente una unità di calcolo double precision, la potenza elaborativa massima effettivamente ottenibile in double precision con una GPU GT200 è circa pari a 90 Gigaflops.

 
^