1. La nuova architettura Pascal


Squadra che vince non si cambia, ma semplicemente si adatta e migliora con l'innesto di nuovi elementi e la ricerca di schemi e soluzioni tecniche che valorizzino il progetto che si vuole sviluppare.

Questo è sicuramente il principio seguito da NVIDIA che, da Fermi in avanti, ha costantemente migliorato le sue GPU partendo da un punto fisso, ovvero i macroblocchi GPC (Graphics Processing Clusters) ed i sottoblocchi SM (Streaming Multiprocessors) a cui ha progressivamente aggiunto funzionalità e su cui ha operato un costante lavoro di affinamento e ottimizzazione.

I blocchi SM costituiscono infatti il nucleo dell'architettura dato che quasi tutte le operazioni svolte dalla GPU nel corso del processo di rendering di una scena prima o poi passano attraverso un SM.

Facciamo quindi un balzo nel passato e torniamo subito al presente con un piccolo ripasso per immagini dell'evoluzione dei moduli SM da Fermi a Pascal.


ASUS GeForce GTX 1080 Founders Edition 1. La nuova architettura Pascal 1


Partiamo con le unità SM di GF100, ovvero Fermi, estremamente pulite e lineari, che rappresentavano la terza generazione dei blocchi SM ed erano dotate di 32 CUDA Core ciascuna affiancati da 16 unità di load/store.

Interessante notare anche la presenza di un doppio warp scheduler e di due dispatch unit che sono quindi entrambi in rapporto 1:16 con i CUDA Core complessivi del blocco SM ed in rapporto 1:1 tra di loro.


ASUS GeForce GTX 1080 Founders Edition 1. La nuova architettura Pascal 2


Cura di steroidi per gli SMX di Kepler, GK100, ora dotati di 192 CUDA Core, e riorganizzazione interna dei blocchi primari con ampio ricorso alla condivisione delle risorse elaborative all'interno di ogni SMX.

Notiamo come i rapporti tra i warp scheduler e le dispatch unit con i CUDA Core siano stati variati a 1:48 e 1:24 e quello tra di loro sia salito a 1:2 (un warp scheduler ogni due dispatch unit).


ASUS GeForce GTX 1080 Founders Edition 1. La nuova architettura Pascal 3


Profonda riorganizzazione interna e ottimizzazione spinta per gli SMM di Maxwell Mark II (GM200) in modo tale da avere più ordine e meno traffico di informazioni dato che le risorse non sono più condivise su larga scala come avveniva in Kepler, ma solo in blocchi più ridotti.

I CUDA Core scendono nuovamente a 128 ma sono suddivisi in quattro blocchi da 32, ognuno dei quali dispone del proprio buffer per le istruzioni, di un warp scheduler e di due dispatch unit.

Ritroviamo quindi il rapporto 1:2 tra warp scheduler e dispatch unit di Kepler, quello 1:16 tra dispatch unit e CUDA Core visto in Fermi ed un nuovo valore di 1:32 per quello tra warp scheduler e CUDA Core.


ASUS GeForce GTX 1080 Founders Edition 1. La nuova architettura Pascal 4


Ed eccoci "ritornare" agli SM di Pascal dove ritroviamo sempre gli stessi elementi costituivi delle precedenti generazioni di SM e l'organizzazione interna più snella ed efficiente degli SMM di Maxwell Mark II, in modo tale da massimizzare lo sfruttamento delle risorse a disposizione riducendo gli eccessi di condivisione tra i vari blocchi.

La differenza più sostanziale rispetto alle unità SMM di Maxwell Mark II riguarda la posizione del PoliMorph Engine, giunto alla versione 4.0, a cui è stato aggiunto un blocco per la funzionalità SMP (Simultaneous MultiProjection) che vedremo in seguito.

Facciamo infatti notare come questo blocco sia ora al di fuori dei moduli SM, motivo per cui non l'avete trovato nell'immagine sopra, con i quali ovviamente è comunque legato ed inserito in un nuovo macroblocco denominato TPC (Thread Processing Cluster), la nuova unità costitutiva dei GPC di Pascal che potete vedere qui sotto.


ASUS GeForce GTX 1080 Founders Edition 1. La nuova architettura Pascal 5


Venendo al dunque: GP104 è composta da 4 GPC, collegati tramite il GigaThread Engine, ognuno dei quali contiene 5 TPC, ovvero 5 unità SM da 128 CUDA Core ciascuna abbinate ad altrettanti PolyMorph Engine 4, configurazione quindi diversa da quella di Maxwell che prevedeva 4 SMM per ogni GPC.


ASUS GeForce GTX 1080 Founders Edition 1. La nuova architettura Pascal 6 


Come per Maxwell, gli SM di Pascal sono dotati di un buffer condiviso da 96kB, che permette di ridurre ulteriormente l'accesso alla cache L2 integrata o alla memoria esterna alla GPU, una cache L1 da 48kB e 256kB di spazio di archiviazione per i file di registro.

GP104 dispone di 8 controller per la memoria a 32 bit, che forniscono un bus aggregato da 256 bit, ognuno dei quali è servito da 8 ROP e 256kB di cache L2.

Considerando quindi che ogni SM è dotato di 8 Texture Unit e 128 CUDA Core, con le debite moltiplicazioni otteniamo i dati della GPU GP104 che equipaggia la ASUS GTX 1080 Founders Edition: 160 TMU e 2560 CUDA Core che servono 64 ROP collegate a 8 controller crossbar con accesso ad una cache L2 da 2048kB e a 8GB di memoria GDDR5X.

Quest'ultima, a differenza della GDDR5 "liscia", è in grado di fornire il doppio dei bit per singolo accesso, 64 contro 32, raddoppiando di fatto il data rate per singolo pin che, nella configurazione a 1.25GHz utilizzata sulla GTX 1080 Founders Edition, si traduce in 10Gbps con una frequenza di 10GHz (1250x4x2).

Se abbiniamo questi dati al bus di memoria a 256 bit troviamo il valore di banda passante dichiarato per le nuove GPU GP104, ovvero 320 GB/s (10Gbps x 256/8) valore paragonabile ai 336 GB/s delle schede GM200 (Titan X e GTX 980 Ti) che utilizzavano però un bus a 384 bit e memorie GDDR5.

Da notare, infine, come NVIDIA abbia con Pascal GP104 in versione "full" abbandonato il classico rapporto 16:2:1 tra CUDA Core, TMU e ROP, dato comune a GTX 980 e Titan X, passando a un più corposo 16:2.5:1, ovvero aumentando il numero di TMU per ogni ROP.

La GPU GP104 offre, ovviamente, il supporto alle librerie DirectX 12 e Vulkan, è compatibile con i più recenti dispositivi e applicazioni VR ed è in grado di pilotare schermi 4K, 5K e HDR, oltre a disporre di una nuova serie di tecnologie e funzionalità che andremo a esaminare più in dettaglio.