1. NVIDIA GM200-310


Per capire l'evoluzione della tecnologia delle GPU NVIDIA, da Kepler a Maxwell sino a Maxwell Mark 2, ripercorreremo ora brevemente le due architetture in modo tale da permettere ai nuovi lettori di apprezzare al meglio le migliorie introdotte negli ultimi anni.

Oltretutto, questa piccola spiegazione "didascalica" ci permetterà di comprendere anche come, grazie a qualche piccola modifica, sia stata realizzata la GPU GM200-310 alla base della GeForce GTX 980 Ti, in sostanza una versione ridotta dalla GPU GM200-400 che equipaggia TITAN X.

La reingegnerizzazione di Maxwell è partita dai blocchi più piccoli che costituiscono la GPU, ovvero dagli Streaming Multiprocessor, nuclei primari dei Graphic Cluster Processor (GPC) in cui si suddivide il chip.


GIGABYTE GTX 980 Ti G1 GAMING 1. NVIDIA GM200-310 1


I Next Gen Streaming Multiprocessor (SMX) di Kepler: macroblocchi lineari con grande potenza computazionale, ma ridotta efficienza.


GIGABYTE GTX 980 Ti G1 GAMING 1. NVIDIA GM200-310 2


I moduli SMM di Maxwell: gli elementi costitutivi sono pressoché i medesimi degli SMX, ma le nuove unità sono più organizzate ed organiche rispetto a quelle di Kepler.

Le differenze sono evidenti a valle della parte comune alle due architetture, costituita dal Polimorph Engine, arrivato alla versione 3.0, e dalla porzione di cache dedicata alle istruzioni.

Le unità SMX hanno i 4 warp scheduler allineati, ognuno collegato a 2 dispatch unit (unità di smistamento dati), per un totale di 8, che accedono al medesimo registro a cui sono collegati in cascata i 16 differenti blocchi di esecuzione delle istruzioni.

In pratica, quindi, ogni warp scheduler ha accesso a tutti i blocchi di esecuzione, ovvero condivide con gli altri tutte le risorse di elaborazione CUDA Core, unità per funzioni speciali (SFU-Special Function Unit) e unità di Load/Store, i blocchi LD/ST.

Nelle unità SMM, invece, l'organizzazione è più ordinata e parcellizzata: gli warp scheduler, infatti, accedono esclusivamente ad un numero di blocchi di esecuzione ridotto e dedicato, non dovendo quindi condividere le proprie risorse con gli altri, eccezion fatta per le unità di texture ed i CUDA Core FP64.

Questa riorganizzazione interna è la prima modifica di Maxwell volta a ridurre l'assorbimento energetico della GPU.

Tutte le operazioni necessarie al buon funzionamento di un'architettura a risorse condivise, che richiede ad ogni blocco di essere sempre attivo, oltre ad una grande attività di verifica e coordinamento degli scheduler, non sono infatti più necessarie.

Razionalizzando l'architettura, e quindi facendone un uso più efficiente, è facile intuire come per ottenere un livello di prestazioni paragonabili alle GPU di generazione precedente siano necessarie meno unità elaborative, il che si traduce in meno silicio occupato e minor consumi.

NVIDIA non ha comunicato ufficialmente l'efficienza energetica delle unità SMM, ma a livello di silicio possiamo dirvi che un SMM da 128 CUDA Core offre circa il 90% delle prestazioni di un SMX da 192 CUDA Core utilizzando, ovviamente, molto meno spazio.


GIGABYTE GTX 980 Ti G1 GAMING 1. NVIDIA GM200-310 3 


In alto il GM200-400 ovvero la GPU Maxwell di seconda generazione che equipaggia la top di gamma GeForce GTX TITAN X: 6GPC per un totale di 24 SMM, 3072 CUDA Core, 192 TMU, 96 ROP, controller di memoria a 384bit e 3072kB di cache L2 per le operazioni di scambio dati del controller crossbar.


GIGABYTE GTX 980 Ti G1 GAMING 1. NVIDIA GM200-310 4 


Un piccolo ritocco al numero delle unità SMM ed ecco servito GM200-310, ovvero la GPU che equipaggia la GeForce GTX 980 Ti: 6GPC per un totale di 22 SMM.

Considerando che ogni SMM è dotato di 8 Texture Unit e 128 Stream Processor, con le debite moltiplicazioni, otteniamo i dati della GIGABYTE GeForce GTX 980 Ti G1 GAMING: 176 TMU e 2816 CUDA Core che servono 96 ROP collegate a un controller crossbar con accesso a una cache L2 da 3072kB, connessa a sua volta tramite un bus a 384 bit ai 6GB di buffer video.

L'aumento della cache L2, sebbene comporti una maggiore occupazione di spazio nel die (ma come abbiamo visto NVIDIA ne ha recuperato parecchio), permette di ridurre il traffico verso il bus di memoria migliorando sia le prestazioni, sia il livello di consumi.

Sempre a tale scopo, rispetto alla prima versione di Maxwell, gli SMM delle GPU generazione 2.0 sono dotati di un buffer condiviso più ampio, 96kB rispetto ai 64kB precedenti, che permette di ridurre ulteriormente l'accesso alla cache L2 integrata o alla memoria esterna alla GPU.

E a proposito di questo componente, è importante segnalare come la nuova GPU sia dotata di 12 controller a 32 bit che vanno a costituire il bus a 384 bit su cui si interfacciano i chip di GDDR5 a 7,0GHz che equipaggiano la scheda.

Con 96 ROP, una potenza computazionale di 88 pixel per clock (4 per ogni SMM), e frequenze di funzionamento elevate, siamo più che sicuri che la GIGABYTE GeForce GTX 980 Ti G1 GAMING sarà in grado di fornire prestazioni molto simili a quelle di TITAN X.

La GPU GM200 offre, ovviamente, il completo supporto alle specifiche Direct3D 11.2 e 11.3, oltre ad una nuova serie di tecnologie e funzionalità che andremo ora a esaminare più nel dettaglio.