Proseguiamo la
nostra analisi tecnica nel mondo della tecnologia degli acceleratori
grafici esaminando le caratteristiche dell'ultimo nato in casa
ATI, l'R420.
Evoluzione e
non rivoluzione è il concetto che ha guidato ATI a trarre
il massimo beneficio dall’esperienza acquisita sul campo
per costruire, sulle fondamenta dell’ottimo progetto R300,
la nuova famiglia di chip grafici R4xx.

Infatti L’R420
è un chip non particolarmente innovativo dal punto di
vista tecnologico ed eredita il meglio dell’architettura
del precedente R360; al tempo stesso ne estende però
le potenzialità grazie a un accresciuto parallelismo
delle unità per l’elaborazione dei vertici e dei
pixel, all’introduzione delle memorie Gddr3 e ad
alcuni ritocchi, più o meno evidenti, in grado di migliorare
l’efficienza complessiva.
Con l’R420 ATI abbandona il processo produttivo a 150
nanometri per approdare, come aveva già fatto con l’RV360,
alla tecnologia di TSMC a 130 nanometri con interconnessioni
al rame e dielettrico low-K, ovvero a bassa capacitanza, anche
con la linea di fascia più alta. Questo permette all’R420,
che conta circa 160 milioni di transistor, di raggiungere una
frequenza di clock maggiore rispetto a quella dell’R360,
ma con consumi di poco superiori.
Passiamo
in dettaglio i blocchi dell’architettura, evidenziandone
le caratteristiche e le modifiche apportate rispetto al progetto
precedente. Partiamo dall’elemento più consistente
in termini di transistor, di spazio occupato sul die e di funzionalità,
ovvero dal motore grafico Smartshader HD (HD, High Definition)
dotato di un’architettura modulare, superscalare e ad
alto parallelismo.
Il motore Vpe (Vertex Processing Engine) di elaborazione dei
vertici, primo stadio della pipeline 3D, consiste di 6 unità
programmabili per il vertex shading compatibili con le specifiche
Shader Model 2.0; all’interno di ciascuna di esse sono
presenti due Alu (Arithmetic Logic Unit, Unità Aritmetico
Logica):
una vettoriale a quattro componenti (coordinate x, y, z, più
il valore w utilizzato per il calcolo prospettico) con precisione
di 32 bit per componente, e una scalare, sempre con precisione
a 32 bit. A fianco di queste è presente un controllore
di flusso del codice per diramazioni (biforcazioni, salti e
loop) di tipo statico; l’NV40 di Nvidia, aderente alle
specifiche Shader Model 3.0, permette diramazioni dinamiche,
ovvero originate dai valori assegnati alle variabili durante
l’esecuzione del codice vertex shader, e l’acquisizione
dei dati di una texture a livello di ogni singola unità
del Vpe. Poiché ciascuna Alu è in grado di eseguire
una operazione per ciclo di clock, il massimo teorico è
pari a 12 operazioni per clock. A valle della sezione programmabile
del Vpe sono presenti alcuni stadi in grado di eseguire le funzioni
di culling, clipping, perspective divide e di proiezione della
scena sul piano 2D.
Le informazioni relative ai vertici vengono quindi passate all’assemblaggio
delle primitive e al motore di setup dei triangoli. Quest’ultimo
è stato ottimizzato per riuscire a distribuire in modo
efficiente il carico di lavoro sulle pipeline che elaborano
i pixel.