Parhelia-512: la nuova GPU Matrox

Dopo aver fatto attendere gli appassionati di grafica 3D per più di 2 anni, Matrox introduce una GPU rivoluzionaria, Parhelia-512. Analizzate tutte le innovazioni tecnologiche introdotte, perno di un nuovo approccio alla grafica 3D che mette velocità è qualità d'immagine al primo posto
di Paolo Corsini pubblicato il 14 Maggio 2002 nel canale Schede VideoArchitettura della GPU Parhelia-512
L'architettura della GPU Parhelia-512 rappresenta qualcosa di esclusivo nell'attuale panorama degli acceleratori 3D. Innanzitutto essa è a 512bit, un passo in avanti rispetto alle attuali GPU in commercio che hanno architettura a 256bit. L'interfaccia memoria scelta da Matrox per questa GPU è a 256bit, ovviamente di tipo DDR: in abbinamento a memorie con frequenza di lavoro di almeno 650 Mhz, questa interfaccia garantisce una bandwidth complessiva superiore a 20 Gbytes al secondo. Le schede attualmente in commercio utilizzano architettura memoria a 128bit, in abbinamento a veloci memorie DDR con frequenze di lavoro che arrivano a 650 Mhz: con questi dati le schede GeForce 4 Ti4600 arrivano ad una bandwidtrh della memroia video di poco superiore a 10 Gbytes al secondo.
Al momento Matrox non ha ancora comunicato quale sarà la frequenza di lavoro delle memorie utilizzate sulle schede con GPU Parhelia-512, ma il dato di bandwidth massima potenziale di 20 Gbytes al secondo fa pensare proprio all'utilizzo di memorie DDR da almeno 650 Mhz di clock.
Il chip è composto da circa 80 milioni di transistor, un valore elevatissimo, con tecnologia a 0.15 micron; la frequenza di lavoro ufficiale non è stata comunicata da Matrox, fatto del resto abituale per il produttore canadese, ma alcuni report ufficiali di Matrox parlano di una scelta conservatrice per la frequenza di clock, così da assicurare la piena stabilità di funzionamento di un chip così complesso e sofisticato.
Il chip è in grado di gestire un massimo di 256 Mbytes di memoria video quale Frame Buffer; questa caratteristica si rivela essere molto utile con applicazioni grafiche professionali in ambiente Open GL.
Lo schema di funzionamento della GPU Parhelia-512 è estremamente complesso, come si nota chiaramente nell'immagine: l'engine grafico è composto da 4 pipeline di calcolo, ciascuna in grado di processare 4 texture per pixel per ogni ciclo di clock (Quad Texturing). Le unità di Pixel e Vertex Shaders sono altrettanto complesse: sono infatti presenti 4 unità Vertex Shaders, con 4 pixel pipes, e 5 Pixel shader stages per ogni pipeline. Vediamo in dettaglio queste tre componenti della GPU Matrox.
Quad DirectX 9 Vertex Shader Array
Parhelia-512 integra quattro unità Vertex Shader in un'unica matrice di processo dei vertici della scena: con questa architettura è possibile elaborare un notevole quantitativo di vertici al secondo. Ogni engine di calcolo Vertex Shader è a 128bit, come si nota chiaramente dall'immagine; la cache integrata on chip è capace di gestire 512 istruzioni, con 256 registri e la possibilità di processare in parallelo sino a 16 vertici. La versione di Vertex Shader utilizzata al momento nel chip Parhelia-512 è quella 2.0, mentre le schede GeForce 3, GeForce 4 e Radeon 8500 integrano unità Vertex Shader 1.1.
Quad Texturing
La possibilità di processare sino a 4 texture per pixel in ogni ciclo di clock rappresenta, stando a Matrox, un'innovazione estremamente interessante, che permette di ottenere un'elevata qualità d'immagine complessiva degli oggetti riprodotti bilanciata da un'elevata fluidità delle scene. Anche altri chip video possono, ovviamente, applicare più di 2 textures per pixel, ma per far questo utilizzano più cicli di clock della GPU e, quindi, ottengono prestazioni velocistiche inferiori a parità di risultato.
Un esempio di Quad Textures è dato dal demo qui sopra raffigurato: si noti la notevole complessità dell'oggetto rappresentato, che grazie al quad texturing assume un realismo estremamente elevato.
36-Stage Shader Array
Al pari del vertex Shader, l'unità di calcolo Pixel Shader della GPU Parhelia-512 è estremamente complessa: per ogni pipeline grafica sono infatti presenti ben 5 stadi di calcolo Pixel Shader. Per questo motivo, lo Shader Array, dato dal lavoro combinato di Pixel e Vertex Shader, può raggiungere un massimo di 36 stadi, 16 per la parte Vertex Shader (4 unità ciascuna, capaci di processare 4 texture per pipeline) e 20 per quella vertex shader (5 stadi di calcolo Pixel Shader per ognuna delle 4 pipeline).