12 aprile 2008

Conosci la tua scheda video?

Quante volte ci capita di leggere articoli pieni di dati sulle gpu e di chiederci: ma la mia amata scheda video come sarà messa? Bene, oggi c'è Gpu-z. Così come il più famoso Cpu-z, Gpu-z una volta lanciato analizza rapidamente la nostra scheda video e ci riporta tutti i parametri della nostra GPU. Oltre ai parametri puramente descrittivi quali GPU name, tecnologia e memorie, riporta parametri quali fillrate, shaders e clocks.
Inoltre può essere lasciato andare in background per tenere sotto controllo temperatura gpu e clock del core e delle memorie. Ottimo per gli overclockers ma in generale per chiunque voglia avere informazioni specifiche della propria scheda video.




Qui lo potere scaricare è free.

Alla prossima.

06 aprile 2008

Pc Gaming: La Scheda Video ed il G92

Il Pc Gaming è sempre più di ieri fortemente dipendente dall'hardware sul quale si vuole far girare il nostro gioco preferito. Una delle grandi differenze tra chi gioca su Pc e chi gioca su Console è la necessità di dover conoscere l'hardware che si possiede. Giocare su console è indubbiamente più sbrigativo e meno complicato: non esiste un sistema operativo con cui litigare, non esistono driver da installare, non bisogna risolvere problemi di compatibilità tra i vari componenti elettronici e soprattutto non serve nessuna conoscenza dei "pezzi" elettronici che compongono la macchina. Oggi più che mai costruirsi una macchina da Pc Gaming è diventata una vera sfida: i competitors sono tanti, le offerte commerciali sono infinite e ubriacanti. E' necessario scegliere in modo oculato componenti come le schede madri, CPU, Memorie, Schede Video e Alimentatori. Costruire un computer senza sapere cosa si sta comprando può portare a sonore delusioni.

Cominceremo questo nostro viaggio nell'hardware per Personal Computer dal componente che per eccellenza identifica il videogiocatore su Pc: la scheda Video. Oggi giorno il 99% degli utenti indirizza la propria scelta verso i due marchi principali: Nvidia e ATi (ora AMD). Il primo che andremo ad affrontare è proprio l'ultima GPU presentata da Nvidia e che identifica l'ultimo gruppo di schede video della serie 9.


Il G92 è stato ufficialmente presentato nel Novembre 2007 equipaggiando tutta la nuova serie (o seconda serie) delle GeForce 8800 (GS, GT, GTS) e viene ripresentato anche sulle GeForce 9800 (GTX e GTX2). La complessità di questi prodotti sta nel fatto che le case produttrici con la stassa GPU commercializzano svariati modelli di schede grafiche per cercare di coprire la più ampia fetta di mercato possibile. Vengono così create soluzioni che soddisfano l'utente medio fino ai sistemi high-end. Muoversi tra le caratteristiche, parametri e livelli di performance è piuttosto complicato se non si ha una certa conoscenza di base dell'argomento. Se prendiamo come esempio le caratteristiche della 9800GTX abbiamo:

Processo produttivo: 65nm
GPU Clock: 675 MHz
Memory Size: 512MB
Memory Clock: 2,2 GHz
Memory Bus: 256-bit
SP: 128
SP clock: 1,68 MHz
ROPs: 16
Memory Bandwidth: 70,4 GB/sec
Fill Rate: 43,2 GT/sec


Grandi numeri indubbiamente, ma come possiamo utilizzarli per scegliere? Bastano solo questi per convincerci che è la scheda adatta per il nostro sistema o ne servono altri? Anticipo subito che altri parametri utili sono Consumi di potenza (Watt), Rumorosità (dB) e Temperature di lavoro. Questi valori certo non servono a quantificare la bontà della scheda video ma sono fondamentali per capire se è la scheda giusta per il nostro sistema. In particolare il consumo di potenza, in quanto questo paramentro incide sulla scelta della PSU (Power Supply) valutando con attenzione la potenza generale che può erogare (Watt) ed il valore dell'amperaggio (A) sulla linea a 12 Volt. Tutti i produttori di schede video danno i valori minimi necessari per poter usare le proprie schede.

Un utente poco esperto potrebbe essere portato a pensare che più i numeri sono alti più saranno alte le performance. Questo è sicuramente vero, ma non in senso assoluto. Per valutare i numeri bisogna conoscere l'archittettura della GPU che ci sta dietro e capire se è corretto o meno usarli come termine di paragone. Faccio un esempio per chiarire. Nella descrizione di prima SP sta per stream processor che sono sostanzialmente componenti hardware che hanno il compito di processare le istruzioni di shader unificati. Elementi molto importanti perchè sono le prime unità di calcolo della fase di rendering. Ora il G92 ne possiede 128, ma se guardiamo la GPU Ati RV670 di stream processors ne ha 320 e un GPU clock di 775 MHz contro gli 675 MHz del rivale. Senza voler parteggiare per nessuno diciamo che hanno prestazioni simili. Allora come spieghiamo una differenza così ampia di stream processors e clock? Semplice è l'architettura della GPU che è diversa e solo conoscendo questa potremmo comprendere i paramentri.


Nel caso del G92 nella figura potete vedere lo schema a blocchi dell'architettura hardware. Per chi ha dimistichezza con i processori converrà con me che siamo di fronte ad una realizzazione eccezionale. E' un sistema ad elevato parallelismo composto da un elemento principale replicato quante volte si vuole per aumentare o diminuire le performance. Ogni blocco è realizzato da 16 Stream Processors, 4 TMUs, cache indipendenti (L1 e L2) e 1 gruppo di ROPs finali. Questa architettura stravolge il contetto di pipelines a flusso di dati sequenziale del passato e grazie anche alle nuove API Microsoft adesso si parla di pipelines looping oriented riducendo il numero di stadi nella fase di rendering rendendo così ogni elemento della pipeline indipendente dall'altro, questo comporta un aumento concreto delle performance. In passato il numero di pipelines di una GPU era sinonimo di performance: più pipelines aveva maggiore era la sua capacità computazionale, oggi con questo tipo di architettura salta decisamente questo termine di paragone.

Nello schema a top-down abbiamo in alto un generico elemento denominato Host. E' in breve la CPU che fornisce lo streaming dei dati alla GPU. Questo già vi fa capire come la CPU sia un elemento importante nel processo grafico perchè non deve essere un collo di bottiglia per i dati in ingresso alla GPU, spesso si parla in questi casi di sistemi cpu-limited. Alla fine invece abbiamo il Frame Buffer (FB) che è la memoria video dove viene depositato il frame finale pronto ad essere visualizzato a video.
Gli stream processors (SP) sono unità di shader programmabili (pixel shader, vertex shadee e geometry shader). Sono una grande novità nell'ambito delle architetture di GPU. Gli shader unificati sono istruzioni dipiche delle API Dx10 ed avere unità shader programmabili significa adattare l'hardware al tipo di calcolo che si deve fase, a seconda che servano più unità pixel shader o vertex shader.
Le Unità di texture Mapping (TMU) lavorano in modo indipendente a frequenza di core e non di SP su cache L1 indipendente, hanno il compito di indirizzamento (attraverso le Texture Address Unit) e filtraggio (Texture Filtering Unit) delle texture. Sono quindi importanti nel processo di texturing e renderle efficienti significa aumentare pesantemente le performance del processo di rendering.
La fase finale del processo di rendering è demandata ai processori Raster (ROPs) e sono responsabili del parametro di Fill Rate della scheda video. Sono anch'essi molto importanti perchè compiono oparationi di Z-processing sui pixel (profondità della scena 3D) e filtraggio di Aniti Aliansing (processo molto pesante per le schede video). Anche queste lavorano in modo indipendente dal resto della catena hardware e l'architettura Nvidia necessità di un minor numero di ROPs rispetto alla concorrenza in quanto ha reso i propri Raster Processors particolarmente efficienti.


Altro aspetto importante è il processo produttivo. A parità di area è possibile costruire un numero maggiori di circuiti integrati, questo incide positivamente su diversi fattori: clock, voltaggi, consumi. Più è basso meglio è. Sul clock GPU ci siamo in parte già espressi, aumentarlo incide fortemente sulle prestazioni ma va valutato assieme all'architettura della GPU.

Ultimo aspetto è la memoria video. qui sono tre gli aspetti importanti: quantità, clock e bus memoria. La quantità di memoria video (128MB, 256MB, 512MB) è spesso usata dagli utenti come termine di paragone per le prestazioni. Niente di più sbagliato! La quantità di memoria ha un impatto pari a zero sulle performance e risulta importante solo in particolari situazioni di gioco ad elevate risoluzioni. il bus di memoria e clock delle gDDR invece sono molto importanti e determinano pesantemente la memory bandwidth. Maggiore sarà la larghezza del bus (in bit) maggiore sarà la quantità di dati riversati in memoria dalla GPU.

Queste, secondo me, sono le informazioni utili per capire il mondo delle schede video e della grafica in generale. Prendete questo post come spunto ed usate la rete per approfondire aspetti che vi interessanno. Più cose si sanno e meglio si sceglie.

Alla prossima.