In
questo articolo non tratteremo di tutte le caratteristiche tecniche
del chip NV43, informazioni che potranno essere reperite nella
recensione delle schede GeForce 6800 disponibili a questo
indirizzo.
Vogliamo comunque parlare delle
fetaures più interessanti come la completa precisione a32-bit lungo
tutta la pipeline.
Come
il suo predecessore NV40, infatti, anche il chip NV43 è in grado di garantire
una precisione dei calcoli completamente a 32-bit: ogni stadio della
GPU riuscirà ad effettuare i calcoli in floating point a 32-bit
senza perdita di prestazioni. Per poter raggiungere tale risultato è
stato necessario riprogettare le unità di Shader. Come detto in un
nostro articolo passato, anche i chip NV3x potevano garantire
precisione fino ad un massimo di 32-bit, mostrando però
cedimenti di prestazioni rispetto a situazioni a 16-bit.
Le Geforce
6600 permettono l'uso di filtri, blending e texture
completamente a 32-bit. Il
grafico sottostante mostra come NVIDIA abbia migliorato
l'architettura complessiva del proprio chip, nel ridisegnare gli Shader. Il numero delle operazioni per ciclo di clock sale:

Se una unità di shader permette di effettuare un massimo di 4
operazioni per pixel (ops/pixel) per ciclo di clock, due unità di
shader permetteranno di raddoppiare il loro numero. Se ad una unità
di shader corrispondono 4 operazioni per pixels a ciclo di clock,
segue che nel medesimo ciclo potrebbe essere applicata una texture /
pixel.

Aggiungere una unità di shader in più permette quindi di
raddoppiare le operazioni per pixel / ciclo di clock. Otteniamo 8
operazioni per pixels oppure, come nel caso precedente, 1 texture
per pixel.

In alcune implementazioni classiche DirectX 9 si cerca di simulare
una situazione a doppio shader con un'architettura a singolo shader.
In queste solo due istruzioni possono essere eseguite sulla stessa
unità di shader e le istruzioni possono operare sui componenti della
stessa parola o dello stesso pixel (a sinistra). NV43 dispone di due
unità di shader che possono eseguire un massimo di due istruzioni
l'una. Ciò permette di ottenere 4 istruzioni ed 8 operazioni su due
pixel differenti.
In soldoni, possiamo
quantificare i benefici di una struttura superscalare come questa: mentre in una architettura tradizionale
si possono gestire due istruzioni e 4 operazioni , in una
architettura superscalare se ne gestiscono 8 di operazioni, e 4
istruzioni per ciclo di clock, su due pixel differenti.