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 Paolo Corsini, Raffaele Fanizzi pubblicato il 05 Ottobre 2005 nel canale Schede VideoATIRadeonAMD
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.
schema di funzionamento Radeon X1800 - R520
Radeon X1600 - RV530 | Radeon X1300 - R515 |
A monte delle Quad Pixel Shader Core troviamo un Ultra-Threading Dispatch Processor, che gestisce lassegnazione 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. LUltra-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, unampia 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 lelaborazione di un solo pixel (parallelizzando il calcolo) o ognuna può dedicarsi ai calcoli relativi di un pixel diverso. Benché R520 non sia unarchitettura 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 dellimminente console XBOX 360 di Microsoft. ATI ha, quindi, concretizzato già con R520 parte dellesperienza 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.
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 (unoperazione 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 questultimo 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à dellarchitettura 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.
Nuova anche lunità 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 allarchitettura di R520 e del suo Ultra-Threading Dispatch Processor.