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 ROG STRIX GeForce GTX 1070 Ti 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 ROG STRIX GeForce GTX 1070 Ti 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 ROG STRIX GeForce GTX 1070 Ti 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 ROG STRIX GeForce GTX 1070 Ti 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 ROG STRIX GeForce GTX 1070 Ti 1. La nuova architettura Pascal 5


Venendo al dunque: GP104-400 (GTX 1080) è 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 ROG STRIX GeForce GTX 1070 Ti 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-400 che equipaggia la GTX 1080: 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-400, 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-400, 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.

Per realizzare GP104-200 NVIDIA ha disabilitato 5 TPC, o se preferite 1 GPC, portando il numero totale a 15 e quindi, con le solite moltiplicazioni, ha creato una scheda da 1920 CUDA Core (128x15), 120 TMU (15x8) e, almeno secondo quando dichiarato, sempre 64 ROP.


ASUS ROG STRIX GeForce GTX 1070 Ti 1. La nuova architettura Pascal 7 


Sul versante memoria invece cambia, come detto, la tipologia utilizzata che sulle GTX 1070 è ancora GDDR5 e non GDDR5X.

Il bus della memoria rimane tuttavia inalterato a 256 bit e, quindi, non ridotto come era avvenuto in passato per 980 e 970, permettendo alla GTX 1070 di disporre di una banda passante pari a 256 GB/s.


ASUS ROG STRIX GeForce GTX 1070 Ti 1. La nuova architettura Pascal 8 


La nuova GTX 1070 Ti è molto vicina per caratteristiche e prestazioni alla GTX 1080, in quanto equipaggiata con una GPU GP104-300 che non è altro che una GP104-400 a cui hanno tolto una unità TPC, il che si traduce in soli 128 CUDA Cores e 8 Texture Mapping Units in meno per un totale, rispettivamente, di 2432 e 152.

Tutte le GPU GP104 offrono, ovviamente, il supporto alle librerie DirectX 12 e Vulkan, sono compatibili con i più recenti dispositivi e applicazioni VR e sono 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.