Genere
ND
Lingua
ND
PEGI
ND
Prezzo
ND
Data di uscita
ND

NV30

Anteprima

CineFX Architecture – Un primo assaggio di NV30?

Nell'attesa di presentare il nuovo processore grafico, siglato in codice NV30, nVidia al Siggraph tenutosi di recente in quel di San Antonio (Stati Uniti) ha cominciato a mostrare agli addetti ai lavori le componenti che sorreggeranno la nuova architettura. Andiamo ad approfondire queste informazioni e cerchiamo di capire come e quanto potranno influenzare NV30.

di Antonino Tumeo, pubblicato il

I vantaggi di una maggiore lunghezza nei Pixel Shader risiedono nel fatto che con le nuove architetture DirectX 9 si è cercato di relegare ai Vertex Shader solo (si fa per dire) la fase di trasformazione, comprensiva naturalmente di tutto ciò che serve per animare i modelli e le superfici (blending, skinning, ecc.), che con i salti logici può essere fatto facendo elaborare al chip grafico non moltissime istruzioni (chiaramente, si assume che con un salto logico tutta una serie di istruzioni possa anche non venire eseguita), e tutto il resto invece, illuminazione compresa, è gestita a livello di pixel. E, soprattutto, tale lunghezza permetterà di realizzare superfici molto realistiche, che nella maggior parte dei casi sono gestite proceduralmente (fanno cioè uso di funzioni matematiche) e hanno bisogno di numerose istruzioni per essere gestite. Da citare, infine, il supporto generalizzato per Displacement Mapping, sia per vertici sia per geometria, la tecnica che usando apposite mappe e appoggiandosi alle soluzioni per superifici di ordine superiore (superfici di Bezier) e di Contiuous e Adaptive tessellation (naturalmente implementate nei motori geometrici di CineFX), permette la generazione di geometrie aggiuntive atte a rendere i modelli più realistici e dettagliati.

CINEFX – PRECISIONE DI COLORE IN FLOATING POINT

Abbiamo discusso in lungo e in largo, parlando di Radeon 9700, che cosa significhi poter gestire le informazioni di colore con precisione fino a 32 bit in floating point per ciascuna componente (rosso, verde, blu e canale alfa, per un totale di 128 bit) piuttosto che appoggiarsi al classico formato a 8 bit per componente in interi. Tutto verte, in buona sostanza, sul fatto che in virgola mobile si possono rappresentare numeri molto più piccoli, molto più grandi e con adeguata granularità rispetto alla rappresentazione in interi. Ciò vuol dire potersi avvalere di una dinamica molto, molto più ampia rispetto ai soli 256 livelli di ciascun colore messi a disposizione dal formato in interi e poter effettuare operazioni complesse per le operazioni di pixel shading, come divisioni, logaritmi, derivate, a livello di informazioni di colore sui pixel perdendo pochissima precisione, dunque senza perdere di qualità apprezzabili, anche con passaggi multipli dei dati nell'unità di pixel shading. nVidia, anche in base alle considerazioni che l'utilizzo di informazioni di colore a 128 bit portano a un pesante consumo di banda di memoria, pone l'attenzione principalmente sulla precisione in floating point a 16 bit per componente (gestiti allo stesso modo di quelli a 32 bit nella maniera che abbiamo illustrato nell'articolo di Radeon 9700, ma con 1 bit di segno, 10 di mantissa, 5 di esponente con uno spiazzamento di 15), che assommando ad un totale di 64 bit di informazione portano ad un notevole aumento di precisione occupando però la metà dello spazio e della banda di informazioni a 128 bit. Per inciso la società tiene a precisare che tale è il formato utilizzato da Industrial Light & Magic per la realizzazione dei suoi effetti, ed è dunque lecito ottimizzare al massimo l'architettura per questo formato.
nVidia però tiene altrettanto a far notare che non è assolutamente impedito, se il programmatore lo desidera, o ne ha bisogno per eseguire operazioni complesse altrimenti irrealizzabili (ad indicizzare texture ad altissima risoluzione) utilizzare precisione a 128 bit, e l'architettura permette di passare senza problemi e in maniera trasparente da un formato all'altro. Anche perché, ancora una volta ponendo il confronto con Radeon 9700, CineFX si appoggerà a pipeline in grado di gestire precisioni di 128 bit in floating point in ogni sua componente, dove invece il nuovo chip di ATi, presentato come completamente a "128 bit" nelle sue pipeline, presenta in realtà, come abbiamo visto, un color processor in grado di raggiungere al massimo una precisione di 96 bit (24 bit in floating point per componente), che di fatto quindi "abbassa" la precisione complessiva delle elaborazioni quando vengono richieste le modalità più estreme.

COSA SI PUO' ESTRAPOLARE SU NV30...

Questo ciò che offre la tecnologia CineFX, sostanzialmente un'abbondante estensione delle specifiche richieste da DirectX 9. Unendo queste informazioni con alcune delle voci più fondate che circolano sulla rete, si può immaginare quello che potrebbe essere il chip. Fisicamente, si sa con certezza solo che sarà costruito a 0,13 micron. Già i numeri sui transistor, che dovrebbero essere intorno ai 120 milioni, non sono così sicuri. Altrettanto la previsione delle frequenze, che si presume, con molti dubbi però, nell'intorno di 400 MHz. Praticamente sicuro, invece, il supporto per AGP 8x, poiché CineFX pone di base come abbiamo visto, la possibilità di sfruttare un'ampia banda tra sistema e chip grafico. Confermato da nVidia anche l'utilizzo di memorie DDR-II (già in fase di produzione con buone rese da parte di Samsung), che a parità di frequenza dovrebbero aumentare di molto la banda rispetto alle normali DDR per via di latenze minori, prefetcher più ampi (4 bit invece di 2) e terminazioni on die. Meno sicuro, invece, un particolare ancora più fondamentale sul bus di memoria locale, cioè la sua larghezza. Con insistenza ormai si parla di un bus a 256 bit, che in compagnia di DDR-II dovrebbe fornire una banda di memoria mai vista prima sulle altre schede, ma non si può non ricordare che lo stesso David Kirk, il direttore tecnologico di nVidia, alla presentazione di Parhelia disse che il bus a 256 era "esagerato" rispetto a quelli normalissimi a 128 bit già utilizzati dalle GeForce 3 e 4. La dichiarazione di Kirk, comunque, potrebbe essere stata dettata solo da motivi di marketing e la prima opzione sembra più sicura ora come ora, ma come si dice, non si sa mai. Ad ogni modo, dalla dichiarazione della volontà di concentrarsi sull'efficienza computazionale, si desume con buona sicurezza che sarà fatto qualcosa di decisivo dal punto di vista della gestione vera e propria della banda di memoria, in entrambi i casi, con algoritmi di rimozione delle superfici nascoste estremamente efficienti ed in grado di entrare in funzione molto presto sulla pipeline (early Z). Non dimentichiamo, del resto, che nVidia dopo l'acquisto di 3dfx ha avuto a disposizione i brevetti di Gigapixel, società estremamente all'avanguardia in questi aspetti e nVidia nei suoi "corsi" di evangelizzazione sta spingendo per "l'ottimizzazione" nella costruzione della scena 3D, come a dire che cerca di spiegare come trarre il massimo vantaggio da queste tecniche.
Poco altro si può ancora dire, se non che si attende ancora l'annuncio ufficiale del chip entro la fine di ottobre, inizio novembre, con la disponibilità giusto per il periodo natalizio, e che ad ogni modo le prestazioni dovranno essere per lo meno equivalenti a quelle del concorrente diretto, Radeon 9700 (anche se è ragionevole attendersi un NV30 superiore, se non altro per il tempo maggiore richiesto per la sua uscita sul mercato). Tutto il resto (versioni multichip, prestazioni triple o quadruple in benchmark e giochi di vecchia e nuova generazione), sono solo illazioni che non ci sentiamo di discutere senza un vero riscontro. Si pongono, comunque, le basi per una nuova, seria battaglia. Sembra che possano riproporsi, a parti invertite, le vicende della presentazione dei chip della generazione precedente: ATi esce per prima sul mercato (l'anno scorso fu nVidia con il GeForce 3), nVidia segue estendendone la programmabilità (l'anno scorso fu ATi con Radeon 8500 e il suo supporto per DirectX 8.1 contro il supporto DirectX 8 di GerForce 3). Bisognerà vedere se nVidia riuscirà ad evangelizzare sufficientemente gli sviluppatori per sfruttare a pieno la nuova architettura CineFX e la sua estesa flessibilità. Noi comunque, naturalmente non vediamo l'ora di poter saggiare cosa effettivamente sarà e quanto varrà NV30. Si può fare una considerazione finale, inoltrandoci ancora di più nel futuro: ormai i chip grafici stanno raggiungendo la quasi completa programmabilità, se non con questa generazione, con quella prossima saranno molto vicini alla "generalità" di una CPU, con in più la gestione del rendering su schermo. A quel punto, più che sulle funzioni supportate, l'attenzione tornerà a spostarsi sulla velocità, sull'efficienza con cui le varie operazioni saranno effettuate e soprattutto sulla possibilità di eseguire in maniera molto rapida gli shader realizzati non più in codice assembler, ma con linguaggi di alto livello. Starà a vedere quali linguaggi di alto livello si affermeranno per quest'ambito (Rendermonkey di ATi, il Cg di nVidia, l'High Level Shading Language di DirectX 9 derivato da quest'ultimo, quello di OpenGL...) e quanto efficienti saranno i vari compilatori dedicati espressamente alle diverse architetture. Si aprirà, cioè, una nuova battaglia, ancora più ampia e complessa se possibile e i cui risvolti non sono per nulla scontati. Restate dunque una volta più che mai con noi, per vedere come le cose si evolveranno con la prossima generazione e con quelle ancora successive!