Radeon serie X1000: le nuove GPU ATI

Radeon serie X1000: le nuove GPU ATI

Dopo una lunga attesa, ATI presenta le prime soluzioni video basate su architetture R520, RV530 e RV515, destinate a rivoluzionare tutti e 3 i principali segmenti di mercato. Architettura Shadel Model 3.0 e processo produttivo a 90 nanometri caratterizzano queste tecnologie, qui analizzate nell'architettura

di , Raffaele Fanizzi pubblicato il nel canale Schede Video
ATIRadeonAMD
 

Architettura

Passiamo ora alla parte più interessante di questo primo articolo sulle soluzioni Radeon X1000: l'architettura. ATI ha scelto un approccio estremamente chiaro, che miri ad ottenere la massima efficienza possibile dai propri chip video nell'elaborazione dei calcoli legati alla riproduzione delle scene 3D. Per questo motivo, l'architettura base delle 3 famiglie di prodotti Radeon X1000 è identica, con le differenze date dal numero di pipeline integrate.

Più che di pipeline, tuttavia, bisognerebbe parlare di "Quad Pixel Shader Core"; ATI, infatti, ha inglobato in un unico core un blocco di 4 shader pipeline operanti in parallelo. In funzione del tipo di chip video utilizzato, il numero di queste Quad Pixel Shader Core varia, passando dalle 4 delle soluzioni Radeon X1800 alle 3 delle schede Radeon X1600, sino all'unica integrata nei chip Radeon X1300.

architecture.jpg (82940 bytes)
schema di funzionamento Radeon X1800 - R520

x1600_architecture.jpg (29032 bytes) x1300_architecture.jpg (27087 bytes)
Radeon X1600 - RV530 Radeon X1300 - R515

A monte delle Quad Pixel Shader Core troviamo un Ultra-Threading Dispatch Processor, che gestisce l’assegnazione delle operazioni da eseguire ad ogni unità di pixel shading e ad ogni unità di texture addressing, oltre al passaggio dei dati all'interno di queste. L’Ultra-Threading Dispatch Processor è una componente estremamente innovativa e rispetto alle architetture tradizionali garantisce una distribuzione del carico di lavoro più fluida ed efficiente riuscendo a gestire contemporaneamente ben 512 differenti threads per R520 e 128 per RV530 e RV515. Ogni thread può consistere fino ad un massimo di sei differenti istruzioni su quattro pixel per ciclo di clock.

La distribuzione del carico di lavoro è resa possibile anche grazie al General Purpose Register Array, un’ampia memoria interna condivisa da tutte le unità di pixel shading, grazie al quale ogni unità di shading non è più legata alle operazioni per determinare il colore di un solo pixel, ma, a seconda del tipo di elaborazione richiesta, tutte insieme (o una parte di queste) possono collaborare per l’elaborazione di un solo pixel (parallelizzando il calcolo) o ognuna può dedicarsi ai calcoli relativi di un pixel diverso. Benché R520 non sia un’architettura a shader unificati, risulta evidente che i principi di funzionamento appena citati siano simili a quelli di R500/Xenos, la GPU con elaborazione unificata di vertex e pixel shaders alla base dell’imminente console XBOX 360 di Microsoft. ATI ha, quindi, concretizzato già con R520 parte dell’esperienza maturata nello sviluppo di questo prodotto.

Sul lato destro dello schema spiccano le texture units, completamente separate dalle unità di pixel shading. Ogni unità di pixel shading integrata all'interno del chip R520 ha due ALU, esattamente come nelle architetture NV40 e G70 di NVIDIA; a differenza di queste due, tuttavia, R520 permette di eseguire 2 operazioni di pixel shading + un texture fetch, mentre le architetture G70/NV40 possono fare al più 2 operazioni di pixel shading (senza texture fetch) o 1 operazione di pixel shading + 1 texture fetch.

architecture_2.gif (25410 bytes)

architecture_3.jpg (17198 bytes)

In particolare le due unità ALU di R520 possono eseguire per ciclo di clock in totale otto operazioni di addizione (per ogni ALU, un vettore di tre elementi ed uno scalare) oppure quattro addizioni e quattro moltiplicazioni, oppure quattro addizioni e quattro MADD (un’operazione combinata di addizione e moltiplicazione). A tutto ciò aggiungiamo una istruzione di controllo del flusso (flow control) ed un texture fetch. Se confrontiamo questo principio di funzionamento con quello di G70 osserviamo che quest’ultimo senza texture fetch può eseguire otto operazioni di tipo MADD (contro quattro MADD e quattro addizioni di R520), mentre con texture fetch R520 è sempre in grado di eseguire un maggior numero di operazioni in quanto può sempre sfruttare le due ALU disponibili in ogni unità di pixel shading. Naturalmente la validità dell’architettura di R520 o G70 è strettamente legata al tipo di pixel shader elaborato ed al grado di ottimizzazione dei driver che si occupano della sua compilazione. E’ presumibile pensare che R520 sia più efficiente con i pixel shaders particolarmente complessi, dotati omogeneamente di numerosi texture fetch e numerose operazioni matematiche, mentre G70 si troverà più a suo agio con i pixel shader più incentrati sul calcolo matematico.

vertex_engine.gif (71739 bytes)

Nuova anche l’unità di vertex shading ora in grado di elaborare due istruzioni per ciclo di clock (fino a 10 miliardi di operazioni al secondo) e, al pari di NV40/G70, vertex shaders dotati di 1024 istruzioni (praticamente illimitate considerando il nuovo dynamic flow control).

Una delle principali critiche mosse all'architettura precedente di ATI, R430-R480, è sempre stata quella della precisione a 24 bit per componente, soprattutto se confrontata con quella a 32bit introdotta da NVIDIA a partire dalle architetture NV40 lo scorso anno. Con R520, e le soluzioni RV530 e RV515, ATI è passata ad una precisione sempre pari a 128bit, quindi con 32bit per componente.

Sia le unità di vertex che di pixel shading hanno ora il pieno supporto hardware allo Shader Model 3.0. Tale tecnologia è stata inizialmente introdotta da NVIDIA con le schede GeForce 6800 Ultra, e in seguito ripresa in tutte le architetture NVIDIA della serie NV4x. ATI, con la precedente generazione, ha preferito restare legata allo Shader Model 2.0, non vedendo la necessità di supportare nel breve periodo quella tecnologia a motivo della mancanza di supporto dei giochi. Per un certo periodo di tempo l'approccio di ATI ha premiato, ma è evidente ora come il supporto Shader Model 3.0, per le nuove generazioni di giochi in commercio, permetta di avere una superiore efficienza del chip video nella generazione delle scene 3D. Lo Shader Model 3.0, infatti, con il suo controllo dinamico del flusso delle istruzioni è particolarmente congeniale all’architettura di R520 e del suo Ultra-Threading Dispatch Processor.

 
^