|
La nuova architettura "G80", nota al mercato come GeForce 8800, è la
prima a proporsi come soluzione a shader unificati compatibile DirectX
10. Storicamente l'architettura delle GPU ha sempre presentato delle
unità dedicate ai diversi tipi di operazioni che vengono svolte nella
pipeline di rendering. Fra queste abbiamo varie volte discusso delle
unità di elaborazione dei vertici (vertex processing) e di quelle di
elaborazione dei pixel (pixel shading).
Con una architettura a shader unificati queste differenze vengono
completamente eliminate. La GPU è così dotata di un certo numero di
unità di elaborazione indipendenti in grado di gestire istruzioni
floating point. Ognuna di tali unità è capace di eseguire vari tipi di
operazioni di shading, incluse quelle di pixel shading, vertex shading,
geometry shading e physics shading. Il vantaggio di una simile
architettura sta nel fatto che le unità di elaborazione possono essere dinamicamente
allocate al fine di realizzare la giusta configurazione per ottenere la
massima potenza in base all'applicazione che sta girando.

Un primo sguardo all'architettura di G80
In particolare, le GPU GeForce 8800 GTX implementano una architettura
massicciamente parallela a shader unificati che consiste di 128 stream
processor funzionanti alla frequenza di 1,35 GHz. Grazie alla tecnologia
NVIDIA GigaThread
ed alla nuova architettura, il core grafico è in grado di eseguire
migliaia di thread indipendenti in parallelo. Questo permette di
raggiungere una elevata potenza di elaborazione congiuntamente ad una
elevata efficienza e, quindi, a consumi contenuti.
Dello stream processing abbiamo già avuto modo di parlare in
occasione delle CPU Cell, progettate da IBM per la console Playstation
3 (i dettagli a questo
indirizzo). Il paradigma resta lo stesso: possibilità di avere un elevato numero
di processi paralleli di una certa serie di operazioni che vengono
eseguite su più stream di dati. Il risultato è un chip estremamente
efficiente e performante. Il tallone di Achille di una simile
configurazione è, però, quello di funzionare bene solo con software
ottimizzato allo scopo.
Le nuove GPU GeForce 8800 sono state progettate in modo nativo per
essere compatibili con le DirectX 10. Questo non significa, però, che
esse non siano in grado di accelerare anche i giochi DirectX 9 e che non
siano in grado di farlo con prestazioni superiori alle schede della
precedente generazione. NVIDIA, a tal proposito, dichiara che la
soluzione GeForce 8800GTX permette di raggiungere prestazioni doppie
rispetto ad una scheda 7900GTX.
Le nuove caratteristiche implementate nelle GPU della serie GeForce
8800, compatibili con le DirectX 10, includono il motore di geometry
shader, lo stream output, le funzioni di instancing migliorate ed il
supporto per il set di istruzioni unificato previsto nelle DirectX 10. Ulteriori dettagli sulle API
DirectX 10 sono disponibili a questo
indirizzo: vi
consigliamo di leggerli prima di procedere oltre.

Una scena di Crysis
I giochi DirectX 10 avranno dalla loro parte la disponibilità di
nuovi effetti e di nuova potenza di elaborazione garantita sia dai nuovi
hardware grafici come le schede GeForce 8800, sia da una minore
dipendenza dalla CPU.
In particolare, alcuni problemi delle DirectX precedenti alla
versione 10 sono quelli del limitato riutilizzo dei dati generati
all'interno della pipeline come ingresso per un passo successivo di un
processo, dell'elevato sovraccarico della CPU a causa dei cambiamenti di
stato, della necessità di differenziare ancora il codice in base alle
capacità espresse dall'hardware sottostante, da un set di istruzioni e
di tipi di dati limitato o, ancora, dall'impossibilità di scrivere i
risultati sulla memoria quando ci si trova in mezzo alla pipeline e
rileggerli all'inizio. Infine esiste anche una limitazione delle risorse
disponibili, fra cui registri, texture, numero di istruzioni per shader, render targets, etc.
|