Specifiche di una scheda video: guida alla terminologia

DiMarco Nisticò

PUBBLICATO IL 1 Giu 2018 ALLE 12:00 - AGGIORNATO IL 15 Novembre 2018 ALLE 18:27

Oggi vogliamo soffermarci sulle specifiche di una scheda video, analizzando i vari termini che spesso molti non osservano durante l’acquisto.

Quando bisogna scegliere una scheda video, ci si sofferma sempre sui soliti parametri, come la frequenza di clock o la quantità di memoria dedicata. E’ importante però fare attenzione a tanti altri fattori che possono essere decisivi per un acquisto consapevole. Tempo fa abbiamo scritto un articolo su come acquistare una scheda video, osservando quelle che sono le specifiche chiave per distinguere una scheda video discreta da una più performante. Quest’oggi cerchiamo non solo di aggiungere altri dettagli da tenere a mente ma anche di spiegare, nella maniera più chiara e semplice possibile, il significato di tutti quei termini che alcuni di voi potrebbero non conoscere.

Architettura

L’architettura di una scheda video indica il modo in cui la scheda video lavora per poter generare l’output su schermo. Le GPU odierne lavorano più o meno allo stesso modo: ogni settore della VRAM contiene informazioni sui singoli pixel, quindi il chip grafico elabora tali informazioni al fine di restituire a schermo l’immagine desiderata. Le schede video attuali sono in grado anche di sviluppare immagini in 3D, rendendo più complessi i calcoli necessari da eseguire per visualizzare un’immagine.

L’evoluzione dell’architettura grafica è evidente. Basti pensare che le prime schede video erano in grado di gestire solamente input testuali. Successivamente si è passati a modelli sempre più avanzati, in grado di supportare tecnologie 2D come OpenGL ed infine siamo arrivati alle ben note API Vulkan, che hanno dimostrato il loro vero potenziale con alcuni dei titoli più ostici, come Doom.

Lato AMD c’è stato un enorme miglioramento negli anni del processo produttivo e dei consumi energetici, oltre che un aumento dei transistor e l’aggiunta per il supporto alle nuove memorie RAM.

Riguardo le nomenclature, Nvidia ha sempre seguito la scia di fisici e scienziati ben noti, come Maxwell o Fermi, fino ad arrivare alle più recenti Pascal e Volta, che aggiungono il supporto alla tecnologia VR e migliori prestazioni grazie a FinFET più veloci e le nuove DirectX 12.

AMD invece non ha seguito una vera e propria linea guida per rinominare le proprie schede video. Si è passati semplicemente da ATI Radeon ad AMD Radeon, arrivando alle attuali RX Vega.

Ovviamente non vogliamo ripercorrere l’intera storia per filo e per segno, ma dare solamente alcune informazioni di base. Potremmo decidere di trattare questo argomento in un secondo momento.

CUDA Cores (Nvidia) e Stream Processors (AMD)

Entrambi i termini vanno ad indicare il numero di core che devono eseguire in parallelo dei calcoli molto specifici, come ad esempio l’elaborazione di un’immagine o di un modello in 3D. A differenza dei core presenti nelle CPU, i CUDA Cores e gli Stream Processors hanno una struttura meno complessa poiché più specializzata per determinate operazioni. Questa struttura diciamo semplificata è compensata dall’elevata quantità di core presenti nelle schede video. Alcuni modelli di schede video infatti possono arrivare anche a superare i 2000-3000 CUDA Cores e i 1000 Stream Processors.

Il fatto di poter lavorare in parallelo permette non solo di ottimizzare il tempo di esecuzione dei calcoli, ma anche di migliorare le prestazioni nelle applicazioni che lo richiedono, come giochi o programmi abbastanza imponenti. Per quanto i CUDA Cores di Nvidia e gli Stream Processors di AMD indichino più o meno lo stesso concetto, a livello di realizzazione e di struttura sono completamente differenti. I CUDA Cores sono infatti più piccoli in dimensioni, il che permette di affiancarne un maggior numero su una singola GPU. Ovviamente non è possibile fare un paragone tra il numero di CUDA Cores e di Stream Processors di due schede video differenti. Questo perchè entrano in gioco tutti gli altri fattori che incidono sulle prestazioni della scheda video e che vedremo nei paragrafi successivi.

Compute Units

Le Compute Units solo le unità che contengono i CUDA Cores o gli Stream Processors. Il numero di core che ogni compute unit contiene dipende dall’architettura della scheda video, se è a 64bit o 33bit, anche se ormai lo standard a 32bit non viene quasi più utilizzato. Il calcolo delle compute units è molto semplice. Sapendo che si tratta di architettura a 64bit, basta dividere il numero di core per 64 e si otterrà il valore preciso di compute units. Facendo un esempio pratico, la RX Vega 56 possiede 3584 Stream Processors. Se dividiamo 3584 per 64 otteniamo 56 nCU. In questo caso il nome della scheda suggerisce chiaramente il valore di questo dato, ma negli altri modelli sarà necessario calcolarle.

Processo produttivo

Il processo produttivo indica la fase di costruzione ed assemblaggio di un microprocessore o un qualsiasi elemento elettronico. Spesso si sente parlare di “processo produttivo a 14nm” o “processo produttivo a 10nm“. Quel valore indicato in nm (nanometri) sta a rappresentare la dimensione minima del gate di ogni singolo transistor, ovvero l’unità elettronica fondamentale per i circuiti elettrici. Il vantaggio di miniaturizzare sempre di più le unità di elaborazione è evidente. Oltre ad abbattere i costi di produzione, viene aumentata anche la resa finale del circuito risultante, migliorando le prestazioni dei prodotti con costi sempre più bassi, potendo aumentare il numero di transistor su circuiti sempre più piccoli.

Attualmente AMD sta aprendo la strada al processo produttivo a 7nm, che potrebbe rappresentare un vero punto di svolta nella microelettronica di consumo.

TDP (Thermal Design Power)

In parole povere, il TDP (che si misura in Watt) indica il consumo energetico di una specifica componente. La scheda video è la componente che richiede il maggior consumo di tutte perché è anche la componente che esegue le operazioni più complesse. Solitamente il consumo di una GPU di fascia alta arriva ai 300-350W.

Per poter tenere sotto controllo i consumi energetici, bisogna prima di tutto acquistare un’alimentatore che possa sostenere non solo il consumo della scheda video ma anche di tutto il PC. In secondo luogo, è importante tenere sotto controllo le temperature. Infatti la GPU tendere a raggiungere temperature anche intorno ai 70-80° nei periodi più caldi. Dunque è fondamentale fare in modo che il raffreddamento interno sia ottimale da garantire temperature più basse possibili.

Frequenza base (Base Clock) e frequenza di boost (Boost Clock)

Partiamo dalla definizione di frequenza. Per frequenza si intende il rapporto 1/T, dove T è un periodo di tempo ben preciso. Quindi si parla del valore di occorrenze in un dato istante. Nel caso delle GPU, con il termine frequenza si indica la quantità di operazioni che vengono svolte ogni secondo e si misura in MegaHeartz (MHz). Per esempio, se una scheda video ha una frequenza base di 1000MHz, significa che quella specifica scheda video è in grado di compiere fino a 1000 operazioni al secondo.

Per frequenza base si intende il numero massimo di operazioni che la scheda video può compiere. Però è possibile che alcuni modelli presentino la cosiddetta frequenza Boost, ovvero un valore che va leggermente oltre la soglia base e che permette di aumentare le operazioni al secondo, incrementando di conseguenza le prestazioni. Basti pensare al numero di calcoli che una scheda video deve eseguire durante l’esecuzione di un gioco. Maggiore è la frequenza e migliori saranno le prestazioni su quel determinato titolo, ottimizzazione permettendo. La frequenza Boost viene raggiunta quando il carico della GPU è troppo elevato che la frequenza base non riesce più a sostenere tale lavoro. Attraverso l’overlock è possibile anche aumentare ulteriormente questo valore massimo, facendo attenzione ai consumi e alle temperature.

La frequenza è un valore dinamico, ovvero si adatta al carico di lavoro che agisce sulla GPU. In questo modo non viene sforzata troppo la componente, evitando danni a lungo termine.

Memoria

Come la classica memoria RAM, la VRAM è un sistema di archiviazione che immagazzina temporaneamente i dati elaborati dalla GPU. Spesso quando vengono effettuati dei benchmark di giochi o applicazioni, è possibile notare il valore di VRAM che in quel momento è occupato da quella specifica applicazione. Ovviamente una volta terminata l’applicazione, i dati raccolti nella RAM verranno cancellati e i settori della RAM che prima erano occupati possono essere utilizzati nuovamente per archiviare nuovi dati della GPU. L’utilizzo di una RAM esclusiva per la GPU permette di effettuare operazioni di rendering in molto meno tempo poichè non viene interrogata la memoria centrale di sistema, molto più lenta.

Interfaccia di memoria

Una delle tecnologie più diffuse per la VRAM è la GDDR, acronimo di Graphics Double Data Rate. Proprio come nelle classiche RAM abbiamo le DDR, qui abbiamo la loro controparte grafica, che si occupa esclusivamente dei calcoli eseguiti dalla scheda video.

L’evoluzione dello standard GDDR ha portato ad una larghezza di banda praticamente raddoppiata e a consumi via via sempre più bassi. Solitamente i chip di memoria sono disposti ad L o semicerchio attorno al processore grafico, in maniera tale da ottimizzare la velocità delle operazioni.

L’interfaccia di memoria indica il bus che collega la GPU alla RAM della vga. Questo contribuisce all’ampiezza della banda passante, cioè la quantità di dati che sono in grado di scambiarsi GPU e RAM al secondo. La quantità di banda passante naturalmente subisce influenze anche dalla frequenza di funzionamento della ram stessa.
Sulle schede attualmente in commercio l’ampiezza può variare da 64 delle schede meno potenti ed inadatte al videogaming, passando ai 128 e 256 delle soluzioni intermedie e delle schede di fascia alta delle scorse generazioni, fino ai 320/384 delle Nvidia di fascia alta ed i 512bit della Radeon di fascia alta.

Banda di memoria (Memory Bandwidth)

La banda di memoria indica, in sintesi, la velocità della memoria grafica, basandosi anche sulla sua frequenza di clock. Questa è una delle caratteristiche sulla quale gli sviluppatori di GPU devono focalizzarsi maggiormente poiché un errato valore di banda può portare a prestazioni inferiori a quelle sperate. Anche in questo caso, un maggior valore di banda porta a prestazioni maggiori, sempre che non ci siano problemi a livello hardware.

Frequenza di memoria (Memory Clock)

La frequenza di memoria ha lo stesso significato della frequenza di clock. In questo caso, però, i valori sono nettamente più alti. Il motivo è presto detto. La memoria base di sistema ha frequenze attuali che arrivano anche a 4000MHz. Dato che lo scopo di una scheda video è eseguire i calcoli il più velocemente possibile, è utile avere una VRAM che possieda una frequenza molto più alta, così da non risultare eccessivamente lenta. Infatti lo scopo della VRAM è proprio quello di creare un supporto specifico per la GPU, senza andare ad immagazzinare i dati nella memoria di sistema, decisamente meno veloce rispetto alla VRAM.

Compute Performance

Il valore di Compute Performance ci da un’idea sulle effettive performance di una determinata componente. L’unità di misura è il TERAFLOPS (TFLOPS) ed indica il numero di operazioni a virgola mobile che un dispositivo può eseguire al secondo. Per poter calcolare il numero di FLOPS (FLoating point Operations Per Second) ci viene in aiuto la seguente formula:

FLOPS = numero di core x frequenza base x FLOPs per ciclo

Per numero di core si intende il valore dei CUDA Cores o di Stream Processors. La frequenza base è quella già menzionata prima. Infine i FLOPs per ciclo sono essenzialmente due, indicando un’operazione di moltiplicazione ed una di accumulazione. Dunque, facendo un esempio pratico, se una scheda video ha 200 CUDA Cores e una frequenza base di 500MHz, avremo che:

FLOPS = 200 x 500 x 2 = 200.000FLOPS 

In questo caso abbiamo ottenuto 200.000FLOPS, che corrispondono a 0.2TERAFLOPS.

E’ bene ribadire come questo valore non sia propriamente indicativo delle prestazioni di una scheda video. Bisogna considerare i vari fattori presi singolarmente.

Di Marco Nisticò

Sviluppatore informatico, cerco sempre di stare al passo con i tempi in un mondo ormai circondato dalla tecnologia.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.