Hardware Upgrade - il sito italiano sulla tecnologia - www.hwupgrade.it
« Torna all'articolo  -  Stampa
Radeon serie X1000: le nuove GPU ATI
Paolo Corsini, Raffaele Fanizzi - 05 Ottobre 2005
"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"
Pagina 1 - Introduzione

titolo.gif (18932 bytes)

L'attesa è stata indubbiamente molto lunga. Le prime informazioni dirette sul possibile lancio delle soluzioni R520 che ho ricevuto direttamente da ATI risalgono al Cebit 2005 di Hannover, alla metà del mese di Marzo. In quel momento, pur senza anticipare alcuna caratteristica tecnica delle soluzioni R520, mi era stata prennunciata l'intenzione di lanciare il prodotto nel mese di Giugno. In quel momento si avevano informazioni contrastanti su quello che NVIDIA avrebbe fatto.

3 mesi dopo, NVIDIA ha presentato le soluzioni GeForce 7800 GTX, riuscendo per la prima volta dopo molti anni a rendere disponibile una nuova tecnologia di fascia alta non solo alla stampa, ma soprattutto ai propri clienti lo stesso giorno del lancio. A queste schede sono seguite quelle GeForce 7800 GT, attorno alla metà del mese di Agosto, nuovamente con disponibilità immediata presso i rivenditori a tutto vantaggio dei potenziali acquirenti.

Nel frattempo, le indiscrezioni sul destino delle soluzioni ATI R520 si sono susseguite on line con un ritmo frenetico; la stessa ATI, del resto, non era in grado di poter fornire una risposta precisacon riferimento alla disponibilità delle proprie soluzioni R520. Vari problemi, legati ad un bug interno al chip che ha richiesto 2 mesi di lavoro per essere individuato e un paio di giorni per essere risolto definitivamente, hanno infatti posticipato i piani iniziali del produttore canadese. Sino a quest'oggi, data di lancio delle soluzioni R520.

Non solo R520 per il lancio odierno; per colmare in una qualche misura i circa 3 mesi e mezzo di distanza dal lancio delle soluzioni GeForce 7800 GTX di NVIDIA, ATI introduce quest'oggi tutta la propria nuova gamma di architetture video. Non solo R520, soluzione top di gamma, ma anche RV530 e RV515, rispettivamente destinate ai segmenti di fascia media ed entry level. I nomi di mercato di queste soluzioni sono quelli dei quali si è molto vociferato nelle scorse settimane; Radeon X1800 è il nome scelto per le soluzioni top di gamma; Radeon X1600 per quelle di fascia media e Radeon X1300 per le proposte entry level.

Come vedremo nelle pagine seguenti, queste schede hanno costi e caratteristiche prestazionali ben differenti tra di loro. Se la presentazione avviene quest'oggi per tutti i prodotti, vedremo in seguito come ATI abbia scelto date di commercializzazione differenti per le varie schede. Quest'oggi ATI rende disponibili sul mercato le soluzioni Radeon X1800XL, Radeon X1300 PRO e Radeon X1300, posticipando nei prossimi 60 giorni il lancio delle restanti soluzioni. Qualcuno potrà iniziare a storcere il naso, segnalando come la scelta di NVIDIA sia stata quella di rendere disponibili da subito le proprie schede derivate dal progetto G70. D'altro canto, nell'ottica di ATI questa scelta, come vedremo, assume una certa rilevanza.

Passiamo ora ad analizzare quali siano le schede che ATI quest'oggi annuncia, soffermandoci in seguito sull'analisi della loro architettura.

Pagina 2 - Le schede

3 sono le famiglie di prodotti che ATI introduce quest'oggi:

Radeon X1800

r520_1_s.jpg (38637 bytes)
Radeon X1800XT

r520_2_s.jpg (37559 bytes)
Radeon X1800XL

La famiglia Radeon X1800 si divide in 3 differenti schede

Radeon X1800XT

Radeon X1800XT

Radeon X1800XL

Bus di memoria

256 bit

256 bit

256 bit

Frequenza chip 625 MHz 625 MHz 500 MHz
Frequenza memoria 1.500 MHz 1.500 MHz 1.000 MHz
Dotazione memoria

512 Mbytes

256 Mbytes

256 Mbytes

Prezzo ufficiale indicativo 549 USD 499 USD 449 USD

Architettura con 16 pipeline di rendering e bus memoria a 256bit caratterizzano le soluzioni della famiglia X1800; la scheda X1800XT viene fornita in due distinte versioni, con 256 oppure 512 Mbytes di memoria video. Il sistema di raffreddamento delle versioni XT è di tipo a due Slot, mentre per le schede XL ATI ha scelto un tradizionale dissipatore di calore a 1 slot.

Radeon X1600

rv_530_s.jpg (45023 bytes)
Radeon X1600XT

Radeon X1600XT

Radeon X1600XT

Radeon X1600XL

Radeon X1600XL

Bus di memoria

128 bit

128 bit

128 bit

128 bit

Frequenza chip 590 MHz 590 MHz 500 MHz 500 MHz
Frequenza memoria 1.380 MHz 1.380 MHz 780 MHz 780 MHz
Dotazione memoria

256 Mbytes

128 Mbytes

256 Mbytes

128 Mbytes

Prezzo ufficiale indicativo 249 USD 199 USD 199 USD 149 USD

La famiglia di schede Radeon X1600 vede l'utilizzo di un chip con 12 pipeline di rendering, in abbinamento a bus memoria a 128bit di ampiezza. Due sono i modelli disponibili, ciascuno configurabile con 128 oppure 256 Mbytes di memoria video.

Radeon X1300

rv_515_s.jpg (47389 bytes)
Radeon X1300PRO

Radeon X1300PRO

Radeon X1300

Radeon X1300

Radeon X1300 HM

Bus di memoria

128 bit

128 bit

128 bit

128 bit

Frequenza chip 600 MHz 450 MHz 450 MHz 450 MHz
Frequenza memoria 800 MHz 500 MHz 500 MHz 1 GHz
Dotazione memoria

256 Mbytes

256 Mbytes

128 Mbytes

32-128 Mbytes

Prezzo ufficiale indicativo 149 USD 129 USD 99 USD 79 USD

La terza famiglia di schede video è quella Radeon X1300; il chip ha in questo caso 4 pipeline di rendering, in abbinamento ad un bus memoria da 128bit di ampiezza. La scheda PRO è disponibile solo con 256 Mbytes di memoria video, mentre la scheda Radeon X1300 è disponibile in versioni con 128 oppure 256 Mbytes di memoria video. A chiudere, ATI propone una scheda con architettura HyperMemory, dotata di 32 Mbytes di memoria video integrata on board che diventano 128 Mbytes effettivi una volta che la tecnologia HyperMemory è attivata.

Da segnalare come, almeno per il momento attuale, ATI non abbia annunciato versioni di scheda Radeon X1600 e Radeon X1300 dotate di interfaccia AGP 8x; è presumibile che il produttore canadese possa implementare schede di questo tipo in un secondo tempo, utilizzando il bridge Rialto già disponibile sul mercato, anche in funzione della domanda di soluzioni simili da parte del mercato.

Pagina 3 - Tabella riepilogativa

Le tabelle seguenti sintetizzano quali siano le caratteristiche tecniche delle nuove soluzioni ATI, a confronto con le soluzioni concorrenti di NVIDIA e con le schede video ATI sino ad ora commercializzate.

 

ATI

NVIDIA

ATI

NVIDIA

NVIDIA

ATI

 

X1800XT

7800 GTX

X1800XL

7800 GT

6800 Ultra

X850XT PE

Bus di memoria

256 bit

256 bit

256 bit

256 bit

256 bit

256 bit

Processo produttivo

0.09 micron

0.11 micron

0.09 micron

0.11 micron

0.13 micron

0.13 micron

Frequenza chip

625 MHz

430 MHz

500 MHz

400 MHz

400 MHz

540 MHz

Frequenza memoria

1500 MHz

1200 MHz

1000 MHz

1000 MHz

1100 MHz

1180 MHz

Unità di Vertex Shading

8

8

8

7

6

6

Unità di Pixel Shading

16

24

16

20

16

16

Numero di pipeline

16

24

16

20

16

16

Texture per ciclo di clock

1

1

1

1

1

1

Fill Rate

10000 Mpixel
10000 Mtexel

10320 Mpixel
10320 Mtexel

8000 Mpixel
8000 Mtexel

8000 Mpixel
8000 Mtexel

6400 Mpixel
6400 Mtexel

8640 Mpixel
8640 Mtexel

Banda Passante

48 GB

38,4 GB

32 GB

32 GB

35,2 GB

37,7 GB

Versione Vertex Shader

3.0

3.0

3.0

3.0

3.0

2.0

Versione Pixel Shader

3.0

3.0

3.0

3.0

3.0

2.0b

 

ATI

ATI

ATI

NVIDIA

NVIDIA

 

X1600XT

X1600XL

X700PRO

6800

6600 GT

Bus di memoria

128 bit

128 bit

128 bit

256 bit

128 bit

Processo produttivo

0.09 micron

0.09 micron

0.11 micron

0.13 micron

0.11 micron

Frequenza chip

590 MHz

500 MHz

425 MHz

325 MHz

500 MHz

Frequenza memoria

1380 MHz

780 MHz

864 MHz

700 MHz

1000 MHz

Unità di Vertex Shading

5

5

6

6

3

Unità di Pixel Shading

12

12

8

12

8

Numero di pipeline

12

12

8

12

8

Texture per ciclo di clock

1

1

1

1

1

Fill Rate

7080 Mpixel
7080 Mpixel

6000 Mpixel
6000 Mpixel

3400 Mpixel
3400 Mtexel

3900 Mpixel
3900 Mtexel

4000 Mpixel
4000 Mtexel

Banda Passante

22,08 GB

12,5 GB

13,8 GB

22,4 GB

16 GB

Versione Vertex Shader

3.0

3.0

2.0

3.0

3.0

Versione Pixel Shader

3.0

3.0

2.0b

3.0

3.0

 

ATI

ATI

ATI

ATI

ATI

ATI

NVIDIA

NVIDIA

 

X1300PRO

X1300

X1300 HM

X600 PRO

X550

X300 SE HM

GeForce 6200

6200 64-TC

Bus di memoria

128 bit

128 bit

128 bit

128 bit

128 bit

64 bit

128 bit

64 bit

Processo produttivo

0.09 micron

0.09 micron

0.09 micron

0.13 micron

0.11 micron

0.11 micron

0.11 micron

0.11 micron

Frequenza chip

600 MHz

450 Mhz

?

400 MHz

400 MHz

325 MHz

300 MHz

300 MHz

Frequenza memoria

800 MHz

500 MHz

1000 MHz

600 MHz

500 MHz

600 MHz

550 MHz

550 MHz

Unità di Vertex Shading

2

2

2

2

2

2

3

3

Unità di Pixel Shading

4

4

4

4

4

4

4

4

Numero di pipeline

4

4

4

4

4

4

4

4

Texture per ciclo di clock

1

1

1

1

1

1

1

1

Fill Rate

2400 Mpixel
2400 Mtexel

1800 Mpixel
1800 Mtexel

1800 Mpixel
1800 Mtexel

1600 Mpixel
1600 Mtexel

1600 Mpixel
1600 Mtexel

1300 Mpixel
1300 Mtexel

1200 Mpixel
1200 Mtexel

1400 Mpixel
1400 Mtexel

Banda Passante

12,8 GB

8 GB

?

9,6 GB

8 GB

4,8 GB + 8 GB

8,8 GB

4,4 GB + 8 GB

Versione Vertex Shader

2.0

2.0

2.0

2.0

2.0

2.0

3.0

3.0

Versione Pixel Shader

2.0

2.0

2.0

2.0

2.0

2.0

3.0

3.0

Pagina 4 - Quando sul mercato?

Come già anticipato nell'introduzione dell'articolo, ATI presenta quest'oggi tutta la propria nuova gamma di schede video, ma renderà disponibili solo 3 nuovi prodotti da subito. La slide seguente spiega molto chiaramente le tempistiche che ATI seguirà nelle prossime settimane:

disponibilita.jpg (45721 bytes)

Le schede Radeon X1800 XL, Radeon X1300 PRO e Radeon X1300 sono disponibili, stando a quanto dichiarato da ATI, direttamente da quest'oggi; è presumibile che ci vorranno alcuni giorni prima che le schede siano effettivamente sugli scaffali dei rivenditori se l'impegno preso da ATI si concretizzerà in realtà.

Tra un mese, il 5 Novembre, ATI lancerà la soluzione Radeon X1800XT, soluzione top di gamma che rappresenta la più veloce soluzione video sviluppata dal produttore canadese. La scelta di posticipare di un mese il lancio ufficiale è dettato dalla volontà di rendere disponibili le schede in volumi immediatamente, cosa che anticipando il lancio della X1800XT a oggi non sarebbe stato possibile.

Le schede di fascia media, modelli Radeon X1600 XT e Radeon X1600 PRO, verranno invece lanciate solo alla fine del mese di Novembre, il giorno 30. Alla base di questa decisione troviamo sicuramente una motivazione strategica: ATI ha recentemente lanciato due nuove evoluzioni del progetto Radeon X800, schede Radeon X800 GT e Radeon X800 GTO, che stanno riscontrando un buon interesse da parte del mercato. Non avrebbe senso, di conseguenza, introdurre subito le nuove architetture Radeon X1600 nello stesso segmento di mercato, con il rischio di limitare le vendite delle soluzioni GT e GTO.

Un quadro di questo tipo riteniamo possa giocare notevolmente a favore di NVIDIA. La scheda che si pone in diretta competizione con la soluzione GeForce 7800 GTX, il modello Radeon X1800 XT, non sarà disponibile prima di 1 mese, a tutto vantaggio della soluzione NVIDIA. Il debutto a fine Novembre delle soluzioni Radeon X1600, inoltre, lascia tempo ad NVIDIA per definire il lancio delle proprie architetture di fascia media basate su architettura G70, attese al debutto presumibilmente entro la fine dell'anno.

Osservando il lancio delle soluzioni Crossfire, non possiamo inoltre non partire un poco prevenuti sull'effettiva disponibilità in volumi di queste nuove schede nelle tempistiche indicate da ATI. Saremo ben lieti di segnalare, entro una settimana, se i rivenditori on line italiani sono stati messi nella condizione di poter commercializzare le nuove schede Radeon X1000 in base a quanto anticipato da ATI, o se anche in questo caso si dovranno aggiungere vari ritardi. Confessiamo di scrivere queste note molto prevenuti, ma ben lieti di essere smentiti dai fatti qualora questi si verificheranno secondo quanto anticipato da ATI.

Pagina 5 - 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.

Pagina 6 - Un nuovo memory controller

L'efficienza dell'architettura di un chip video può trovare, nel controller memoria, un importante collo di bottiglia alle prestazioni. Per questo motivo ATI ha introdotto un nuovo memory controller nelle schede Radeon X1000, completamente rinnovato rispetto a quello implementato nelle architetture R4xx.

memory_controller_1.jpg (30170 bytes)
memory controller R4xx

Il controller memoria delle schede Radeon basate su chip R4xx prevedeva che tutte le chiamate fatte dai vari client a dati contenuti nella memoria, dovessero passare in modo centralizzato attraverso il memory controller. Questo approccio, visivamente riassunto nello schema qui sopra riportato, ha quale chiaro collo di bottiglia la necessità di far passare tutti i comandi all'interno del controller memoria, con possibile introduzione di latenza nel caso in cui i comandi aumentino di numero nell'unità di tempo.

memory_controller_2.jpg (47809 bytes)
memory controller R5xx

Il memory controller implementato nelle architetture Radeon 1000, viceversa, parte da un approccio differente. Il controller, chiamato X1K, è posto al centro ma i vari client possono ottenere i dati direttamente senza che questi debbano ritornare al memory controller. Spieghiamo il funzionamento con un esempio: un client richiede al memory controller dei dati presenti nella memoria; quest'ultimo stabilisce quale sia la memoria DRAM che può eseguire questa richiesta, e invia il comando. Il dato richiesto parte dalla memoria DRAM individuata, spostandosi lungo il bus ring (l'anello esterno nello schema) sino a giungere al  ring stop più vicino al client che ha eseguito quella richiesta.

memory_controller_3.jpg (44563 bytes)

Il nuovo memory controller con ring bus a 512bit non dev'essere confuso con un memory controller a 512bit di ampiezza; quello implementato nella soluzione R520 è infatti del tipo a 256bit, esattamente come per le architetture NVIDIA di pari fascia di prezzo. Il memory controller opera quindi con la stessa ampiezza di banda di quello previsto per le soluzioni R480, ma ha connessioni dirette con i chip DRAM a 32bit per ciascun chip memoria montato sulla scheda, rispetto ad un approccio con 4 canali a 64bit di ampiezza, che gestiscono ciascuno 2 chip memoria.

memory_controller_4.jpg (70134 bytes)

Il memory controller implementa, stando alle informazioni forniteci da ATI, varie funzionalità di Arbitrarion che dovrebbero permettere di ottenere una migliore efficienza complessiva nella ricerca dei dati da fornire ai vari client, a seconda delle richieste da questi fatte.
Il memory controller può inoltre venir aggiornato nella propria logica di gestione arbitraria, attraverso nuove versioni di driver. A seconda delle applicazioni, le richieste dei vari client possono essere pesate tra di loro; questo implica che il memory controller esegue con priorità massima particolari richieste dei client che considera essere prioritarie rispetto ad altre.

cache_1.jpg (18942 bytes)

cache_2.jpg (22224 bytes)

Non contenta di aver stravolto il funzionamento del memory controller, ATI ha eseguito un’ulteriore profonda ottimizzazione di tutte le operazioni di gestione dei dati lavorando innanzitutto sul quantitativo e sulla tipologia di cache implementata. In particolare, tutti i processori grafici visti fino ad ora utilizzano cache con mappatura diretta o associativa a N vie. Il nuovo memory controller, invece, include una cache di tipo “full associative” in grado di far riferimento non solo ad un blocco di memoria limitato, ma virtualmente alla totalità della memoria. Conseguenza di tale funzionamento è una significativa riduzione delle richieste verso la banda passante esterna ed un più efficiente utilizzo di quest’ultima. ATI ha stimato in casi bandwidth bound, cioè limitati dalla banda passante, un incremento dell’efficienza complessiva del 25% grazie a questa nuova architettura della cache.

hyper_z.jpg (60338 bytes)

Concludiamo l’analisi delle novità del memory controller analizzando le innovazioni apportate alla tecnologia Hyper-Z. Gli ingegneri canadesi hanno fatto uso della precisione di calcolo in floating point a 32 bit per migliorare le loro tecniche di Hidden Superficial Removal, cioè di rimozione delle superfici nascoste: la nuova architettura alla base di R520 identifica fino a 65% di pixel nascosti in più rispetto a R480. Infine, anche gli algoritmi di compressione dei dati relativi allo z-buffer sono migliorati ed ora raggiungono il livello di compressione più elevato (8:1) in più occasioni.

La totalità di queste innovazioni rende R520 estremamente efficiente nella gestione della banda passante, un vantaggio particolarmente significativo nel rendering alle alte risoluzioni e con antialiasing e filtro anisotropico abilitati.

Pagina 7 - AVIVO

avivo-logo.png (11726 bytes)

Alcune settimane fa ATI ha reso pubbliche alcune informazioni su AVIVO, il nuovo nome marketing sotto il quale troviamo una serie di funzionalità avanzate legate alla riproduzione video, dalla fase di cattura a quella di riproduzione. AVIVO, innanzitutto, è un brand che contraddistingue una specifica piattaforma composta da due componenti ATI; da una parte troviamo una delle nuove schede video della famiglia Radeon X1000, mentre dall'altra vediamo una scheda di cattura video sempre certificata AVIVO. In questo caso il prodotto è già in commercio, trattandosi della soluzione Theater 550 presentata da ATI alcuni mesi fa.

Alla base di AVIVO troviamo la volontà, da parte di ATI, di aumentare nel complesso la qualità d'immagine e della riproduzione video, caratteristiche che stanno rivestendo un ruolo sempre più importante analizzando le architetture video di ultima generazione. Le prestazioni velocistiche con giochi 3D, infatti, hanno raggiunto livelli così elevati da risultare spesso di non più così prioritaria importanza: il supporto a funzionalità video avanzate, inoltre, sta diventando una caratteristica sempre più richiesta da parte degli utenti, grazie alla progressiva diffusione di filmati e display in alta definizione.

avivo_1.jpg (12090 bytes)

Sono 5, in buona sostanza, gli ambiti nei quali le periferiche AVIVO operano migliorando la qualità d'immagine e la riproduzione video: cattura, fase di codifica, fase di decodifica, post process e visualizzazione. Di seguito riassumiamo le funzionalità implementate da ATI per ciascuna di queste fasi:

  • cattura: gain control automatico; filtro 3D combo; conversione da analogico a digitale a 12bit di precisione; de-noise hardware, per rimuovere il rumore di fondo delle immagini acquisite; funzionalità di demodulazione digitale con cancellazione multi-path.
  • codifica: encoding con supporto hardware; supporto al transcode attraverso la VPU, per i formati H.264, VC-1, WMV9, WMV9 PCM, MPEG-2, MPEG-4 e DivX.
  • decodifica: decodifica con supporto della VPU per i formati H.264, VC-1, WMV9, MPEG-2 e MPEG-4.
  • post process: de-interlacing vector adaptive; video scaling avanzato.
  • visualizzazione: display Avivo a 10-bit di precisione, con gamma e color correction, scaling, compressione e dithering; funzionalitò avanzate per la connessione alle periferiche di output.

La scheda di acquisizione video, in questo caso un modello Theater 550, si occupa delle prime due fasi della pipeline video; alla scheda video della famiglia Radeon X1000 compete invece la gestione delle 3 seguenti fasi, dalla decodifica alla visualizzazione sul display.

Di tutte le funzionalità implementate, la più interessante è sicuramente il supporto alla codifica e decodifica H.264 via hardware, implementato all'interno delle GPU della serie R520. Non solo questo, tuttavia, caratterizza AVIVO; ATI ha confermato infatti che le nuove GPU supporteranno la fase di transcode, cioè la ricodifica di un flusso video ad un differente bitrate rispetto a quello di partenza, o verso un differente formato. Questo genere di operazioni richiede moltissima potenza di elaborazione se eseguita a livello di processore; con le nuove architetture ATI, e un adeguat supporto da lato driver, buona parte delle operazioni saranno delegate alla GPU.

I driver Catalyst dotati di supporto a questa funzionalità non verranno rilasciati al debutto delle soluzioni R520, ma presumibilmente entro la fine dell'anno.

Da ultimo, preme segnalare lo sforzo di ATI nel voler garantire la massima flessibilità per quanto riguarda le periferiche di output; questo implica che le schede video AVIVO potranno pilotare qualsiasi tipo di display, comprese le soluzioni top di gamma quali i display Apple da 30 pollici con connessione dual link DVI.

Pagina 8 - Alla ricerca della massima qualità d'immagine

La disponibilità di architetture video sempre più complesse ed efficaci non ha quale unica finalità quella di far segnare prestazioni velocistiche elevatissime in assoluto; oltre um certo livello di frames al secondo, infatti, il boost prestazionale ottenibile con una nuova architettura resta fine a se stesso.

Tale potenza viene quindi più correttamente utilizzata migliorando la qualità d'immagine complessiva della scena 3D generata. Tra le innovazioni che più stanno influenzando il mercato delle schede video troviamo sicuramente il supporto all'HDR, High Dynamic Range. La prima volta che abbiamo parlato diffusamente di questa tecnica è stato in occasione della presentazione del chip NVIDIA GeForce 6800 Ultra; di seguito un estratto da quell'articolo, che meglio spiega di cosa si tratti:

Chiunque osservi una scena 3D resta colpito dalla complessità degli oggetti, dall'elevato numero di dettagli visualizzati e dal generale realismo ottenibile. Un elemento estremamente complesso da riprodurre in una scena 3D ma di elevatissima importanza nell'ottenimento di una visualizzazione realistica è sicuramente la corretta riproduzione dell'illuminazione.
Questo è tanto più difficile quanto si alternano parti della scena con forte illuminazione, con altre in ombra se non quasi completamente al buio.

In passato è sempre stato molto difficile riuscire a riprodurre al meglio l'illuminazione di una scena che prevedesse un forte contrasto tra parti molto illuminate e parti molto scure. I per-pixel frame buffer standard a 32bit, infatti, permettono di utilizzare solo 255 valori per indicare i differenti livelli d'illuminazione di un oggetto, troppo pochi per poter rappresentare correttamente la dinamica di una scena con forti alternanze di luci e ombre.

L'occhio umano riesce a percepire un dynamic range, tra oggetti illuminati e non , pari a circa 14dB, con andamento logaritmico. Questo vuol dire che vengono meglio definiti i particolari scuri più che quelli illuminati, visti più indistintamente come luce e quindi tendenti al bianco.
Il dynamic range standard di un frame buffer a 32bit per pixel è pari a circa 2,4dB, quindi insufficiente per la percezione dell'occhio umano a distinguere i dettagli.

La tecnologia NVIDIA High Precision Dynamic Lightning, implementata nel chip NV40, permette di renderizzare scene così complesse ottenendo una superiore dinamica. Questa tecnica utilizza 3 differenti fasi per ottenere il rendering della scena: light transport, tone mapping e color and gamma correction.

ATI non solo supporta HDR con le proprie architetture R520 e derivate, ma ha implementato il supporto all'anti aliasing congiuntamente con l'HDR; questo permette di ottenere una qualità d'immagine complessivamente ancor superiore a quanto fornibile con l'utilizzo del solo HDR, anche perché il superiore contrasto garantito dall'HDR rende ancor più evidenti i difetti propri dell'aliasing negli oggetti 3D generati nella scena.

ATI ha introdotto anche supporto all'Adaptive Anti Aliasing, già visto nell'implementazione NVIDIA con le schede GeForce 7800 GTX e GT. Questa tecnica permette di migliorare la qualità d'immagine con quelle scene nei quali alcuni oggetti, come i contorni delle piante o le inferriate, non sono composti da triangoli ma da semplici pixel su texture trasparenti. L'estratto seguente, preso dall'analisi tecnica delle architetture G70 di NVIDIA, spiega in dettaglio di cosa si tratti:

La tecnica di antialiasing più diffusa al momento attuale è basata sul multisampling. Questa ha il vantaggio di eseguire un antialiasing utilizzando un singolo pixel sample e si applica a tutte le primitive, cioè a tutti i triangoli. Il risultato è una riduzione dell’effetto di aliasing concentrato sui contorni poligonali. Esistono, tuttavia, delle situazioni in cui può essere utile applicare l’antialiasing non solo ai contorni poligonali, ma anche in altre porzioni dello schermo. Pensiamo ad esempio alla vegetazione presente in moltissimi videogames: poiché sarebbe troppo complessa da rappresentare utilizzando tanti piccoli triangoli, questa viene spesso resa attraverso texture sulle quali sono disegnate le foglie ed il cui sfondo è dotato di un canale alpha (trasparenza) impostato in maniera da rendere quella porzione della texture completamente trasparente. Con questa tecnica un albero, ad esempio, può essere reso con pochissimi poligoni (spesso rettangoli) incastrati tra di loro. Un altro esempio è rappresentato dalle inferriate: invece di rendere singolarmente ogni elemento di metallo con poligoni, questi vengono disegnati su una texture e, tra una sbarra e l’altra, il canale alpha è impostato in maniera da rendere trasparente quella zona.

In questi casi l’antialiasing di tipo multisampling non esegue alcuna riduzione dell’aliasing in quanto i contorni delle piante o delle inferriate non sono composti da triangoli, ma semplicemente da pixel su texture con elementi trasparenti. Per ovviare a questa situazione NVIDIA ha ideato il transparency adaptive antialiasing implementato in due modalità: supersampling e multisampling. L’idea di base è quella di riconoscere le texture dotate di texel con un canale alpha impostato in maniera da renderli trasparenti e di applicare un antialiasing di tipo supersampling o multisampling. Nel primo caso poiché vengono acquisiti quattro samples per pixel, la qualità della riduzione dell’aliasing sarà superiore, ma nelle applicazioni shader o texture bound (cioè particolarmente affamate di texture o pixel shaders complessi) potrebbe comportare un degrado delle prestazioni. Il multisampling, invece, pur non riuscendo ad ottenere la medesima qualità del supersampling, ha il vantaggio di richiedere un solo sample per pixel e, pertanto, soffre in misura minore del calo delle prestazioni. In ogni caso NVIDIA tiene a precisare che, trattandosi di una tecnica adattiva, applicata cioè solo nelle zone di schermo dove è necessaria, l’impatto sulle prestazioni di entrambe le modalità è molto contenuto.

aniso_16x.gif (24919 bytes)

Il filtraggio anisotropico è stato migliorato ai fini qualitativi, introducendo nella modalità 16x un nuovo algoritmo di filtraggio per area; analizzeremo in dettaglio questa nuova modalità all'interno della seconda parte di questa recensione, inserendo anche analisi prestazionali sugli impatti di questa nuova tecnologia. L'immagine qui sopra riportata mostra il risultato dell'AA tester utilizzando questa nuova modalità

ATI ha implementato una nuova versione della propria tecnica di compressione delle normal map, chiamata 3DC, all'interno delle architetture Radeon X1000. Nuovamente ricorriamo ad un precedente articolo, quello di analisi delle architetture ATI Radeon X800, per meglio spiegare cosa siano le normal map e come la tecnica 3DC operi:

Come operano le normal map? Ad un oggetto 3D costruito con pochi poligoni viene applicata una normal map, ottenuta come differenza tra la rappresentazione dell'oggetto con un elevato numero di poligoni (nell'esempio precedente, 15.000) e una con pochi poligoni (1.000). I differenti colori applicati alla normal map indicano le direzioni delle normali. Quando l'oggetto dev'essere generato a video sul modello con pochi poligoni, elaborato in real time, viene applicata la normal map in abbinamento alle informazioni sull'illuminazione della scena, utilizzando i pixel shader. Il risultato che si ottiene è un oggetto che per livello qualitativo si avvicina moltissimo a quello originario, con molti poligoni.

Perché le normal map vengono utilizzate in modo limitato all'interno dei giochi, pur essendo un valido strumento per bilanciare precisione negli oggetti e numero di poligoni? Per un semplice problema d'ingombri. Le normal map devono essere caricate all'interno della memoria della scheda video e questo implica l'utilizzo di un ampio quantitativo di memoria. Qualora la memoria disponibile venga tutta saturata si otterrebbe un impatto negativo sulle prestazioni tale da pregiudicare il risultato finale. Per risolvere questo problema si può ricorrere a tecniche di compressione delle normal map, al pari di quanto avviene per le textures.

Le tradizionali tecniche di compressione, come quella DXTC o S3TC, non permettono di ottenere un risultato qualitativamente valido. Nella compressione delle normal map, infatti, queste tecniche portano alla generazione di scalettature assolutamente poco gradevoli, che vanificano il beneficio qualitativo dato dall'utilizzo delle normal map. Per ovviare a questo problema ATI ha sviluppato un particolare algoritmo di compressione, chiamato 3Dc, specificamente pensato per comprimere le normal map senza ottenere penalizzazioni dal punto di vista qualitativo.

Utilizzando 3Dc ATI permette di ottenere un rapporto di compressione pari a 4:1 nell'utilizzo delle normal map. Questo ha due possibili riflessi:

  • i games developer possono utilizzare un maggiore quantitativo di normal map rispetto ad una tecnica che non ne preveda la compressione, oppure
  • i games developer possono utilizzare normal map a risoluzione superiore rispetto a quanto accessibile senza compressione, aumentando di conseguenza il dettaglio degli oggetti ai quali le normal map vengono applicate.

3DC+ migliora la precedente implementazione, supportando anche le texture a singolo canale permettendo di ottenere un rapporto di compressione 2:1. Questa caratteristica si rivela, stando a quanto dichiarato da ATI, particolarmente utile in presenza di luminance e shadow maps, oltre che con con textures HDR.

Pagina 9 - Crossfire con le nuove schede

ATI ha ufficialmente lanciato, lo scorso 26 Settembre, le proprie architetture video Crossfire, dopo una genesi durata quasi 4 mesi, periodo che ha separato la prima presentazione "on paper" con l'effettiva disponibilità dei primi sistemi nelle mani dei recensori. Crossfire è, al momento attuale, una tecnologia limitata nell'implementazione con le schede Radeon X850 e Radeon X800, non solo dal punto di vista prestazionale quando confrontata con le soluzioni NVIDIA GeForce 7800 in modalità SLI, ma anche per l'impossibilità di utilizzare una risoluzione video superiore a 1600x1200, con refresh bloccato a 60 Hz.

Nelle prossime settimane, con presumibile lancio in concomitanza con il debutto della scheda Radeon X1800XT, ATI presenterà configurazioni Crossfire per tutte le proprie schede video delle serie Radeon X1800, Radeon X1600 e Radeon X1300. Lo schema seguente riassume i modelli che verranno presentati, con le fasce di costo indicativo espresso in dollari USA; senza tasse.

crossfire_price.jpg (58954 bytes)

E' interessante segnalare come le soluzioni Crossfire saranno specifiche per le 3 nuove famiglie di chip video, con livelli di prezzo che saranno sostanzialmente allineati, se non leggermente superiori, rispetto a quelli delle schede top di gamma di quello specifico segmento. Questo è un elemento penalizzante nel confronto con la tecnologia SLI di NVIDIA, dove le schede possono essere anche differenti quanto a produttore, grazie al supporto dato dai nuovi driver Forceware 80, e non si verificano dinamiche di costo diverso in funzione della scheda master o slave.

crossfire_r520.jpg (22563 bytes)
Crossfire con schede Radeon X1800 - Radeon X1600

Le nuove schede Radeon R5xx Crossfire Edition non sono più limitate dalla risoluzione video di 1600x1200 @ 60 Hz, ma possono raggiungere i 2048x1536 pixel con risoluzioni di 70 Hz o superiori. Tale limite vale in presenza di un collegamento con un display analogico; in caso di connessione DVI il limite è rappresentato solo dalla risoluzione del display utilizzato. Questo è un forte elemento a favore della tecnologia Crossfire, in quanto la risoluzione massima utilizzabile è stato uno dei principali limiti dell'approccio Crossfire con schede Radeon X850 - X800.

crossfire_rv515.jpg (15467 bytes)
Crossfire con schede Radeon X1300

Da segnalare la scheda indicata con il nome di Dual Radeon X1300; questa soluzione non prevede l'utilizzo di un Compositing Engine, tantomeno di un cavo di collegamento esterno tra le schede. La trasmissione dei dati e dell'immagine avviene quindi attraverso il bus PCI Express, esattamente come avviene per le soluzioni NVIDIA SLI di fascia più bassa.

Con riferimento al Compositing Engine, ATI ha specificato che quello montato sulle schede Radeon X1800 e Radeon X1600 è di tipo programmabile; questo implica la possibilità di integrare nuove funzionalità, a livello hardware, attraverso aggiornamenti dei driver Catalyst. Non si tratta di nulla di nuovo, in buona sostanza: nel corso degli ultimi 12 mesi NVIDIA ha implementato varie migliorie alla propria tecnologia SLI, proprio utilizzando vari aggiornamenti da lato driver, con il più recente rappresentato proprio dalla versione Forceware 80.

Pagina 10 - Una preview dei benchmark

In via del tutto eccezionale in occasione di questa prima analisi delle prestazioni vi proponiamo i soli risultati ottenuti con il 3DMark05 comprensivi del punteggio finale, in modo da avere un primo elemento di confronto per le nuove schede video Radeon X1800. Ricordiamo, tuttavia, che questi valori non verranno da noi utilizzati con lo scopo di valutare le prestazioni globali dei prodotti qui considerati, ma solo ed esclusivamente per studiarne il comportamento nelle specifiche situazioni di rendering che ripropone questo benchmark.

3dmark_4.png (39053 bytes)

Le schede video Radeon hanno sempre sfoderato risultati piuttosto soddisfacenti con il benchmark della FutureMark e anche questa nuova generazione non sembra fare eccezione. Il punteggio del 3DMark05 mostra un vantaggio piuttosto marcato per la scheda Radeon X1800 XT rispetto alla GeForce 7800 GTX, circa 1500 punti, mentre la Radeon X1800 XL è solo leggermente più veloce della GeForce 7800 GT.

3dmark_1.png (46159 bytes)

I risultati ottenuti relativi al fill rate ci mostrano una piccola sorpresa: nonostante i valori teorici del fillrate della GeForce 7800 GTX siano leggermente superiori a quelli della Radeon X1800 XT, quest’ultima fornisce risultati del tutto paragonabili. Discorso a parte per la Radeon X1800 XL che paga circa 1000 Mpixel/s rispetto alla GeForce 7800 GT in single texturing, mentre è lievemente più rapida nel multitexturing.

3dmark_2.png (42938 bytes)

3dmark_3.png (36963 bytes)

Il calcolo dei pixel shaders, vero punto di forza delle schede NVIDIA, vede queste ultime primeggiare ancora con G70 con un margine pari a circa il 25% rispetto alle corrispondenti soluzioni Radeon X1800. E’, tuttavia, significativo notare che, nonostante la presenza di sedici pipeline, esattamente come per R480, R520 dimostra di possedere un’efficienza maggiore. La Radeon X1800, infatti, nonostante una frequenza inferiore per il clock del core, è oltre il 20% più veloce della Radeon X850 XT. L’efficienza della nuova architettura di R520 sarà oggetto di ulteriori analisi in un prossimo articolo.

La situazione si capovolge letteralmente osservando i risultati ottenuti con i vertex shaders. Notoriamente ATI pone particolare accento alle capacità poligonali dei suoi processori grafici e R520 dimostra di essere molto veloce in questo campo, essendo in tutte le sue implementazioni sempre avanti alle corrispondenti schede video NVIDIA in un margine che va dal 15% al 70% a seconda della confronto effettuato. Molto buoni anche i valori di R480, anch’esso più rapido di G70 in questo specifico campo.

Precisiamo nuovamente che i risultati qui esposti sono solo indicativi di alcuni specifici aspetti dei prodotti considerati e che non necessariamente trovano riscontro all’interno dei videogames. Per questo motivo useremo solo questi ultimi per valutare le reali prestazioni della nuova generazione di schede Radeon X1800.

L'analisi dettagliata di tutte le funzionalità delle nuove schede video ATI Radeon X1800 sta richiedendo un elevato numero di ore di test; per questo motivo la pubblicazione dell'analisi prestazionale dettagliata è posticipata di alcuni giorni, così da potervi fornire il livello di dettaglio che riteniamo una nuova tecnologia meriti.