# GeForce 900 series

La serie GeForce 900 è una famiglia di GPU sviluppata da Nvidia, usata in PC desktop e portatili. Serve come introduzione per la fascia alta dell'architettura Maxwell (il codename del chip inizia per GM-XXX), che prende nome dal fisico scozzese James Clerk Maxwell.
La microarchitettura di Maxwell, il successore di Kepler, sarà per la prima volta proprio una CPU ARM. Questo fa sì che le GPU Maxwell siano molto indipendenti dalla CPU principale secondo il CEO di Nvidia Jen-Hsun Huang. Nvidia si aspetta tre principali caratteristiche con l'architettura Maxwell: miglioramento delle prestazioni grafiche, programmazione semplificata e una maggiore efficienza energetica rispetto alle serie GeForce 700 e GeForce 600.
Maxwell è stata annunciata a settembre 2010. La prima scheda GeForce dedicata al consumatore è stata rilasciata ad inizio 2014. Nvidia sta programmando di rilasciare elaboratori ad alta velocità Tesla e schede grafiche professionali Quadro basata sull'architettura Maxwell verso fine 2014. Eventualmente, questa architettura verrà usata per processori mobile che seguono la famiglia di prodotti Erista del SoC Tegra.

## Architettura
### Prima generazione Maxwell (GM10x)

La prima generazione Maxwell GM107/GM108 è stata rilasciata come GeForce GTX 745, GTX 750/750 Ti e GTX 850M/860M (GM107) e GTX 830M/840M (GM108). Questi nuovi chip forniscono poche nuove funzionalità; Nvidia si è voluta concentrare sull'efficienza e sul basso consumo energetico. Nvidia ha incrementato la memoria cache L2 da 256 KB di GK107 a 2 MB su GM107, riducendo l'ampiezza di banda per quanto riguarda la memoria necessaria. Di conseguenza Nvidia ha ridotto il bus della memoria da 192 bit su GK106 a 128 bit su GM107, risparmiando ulteriore energia. Nvidia ha inoltre modificato il design degli streaming multiprocessor rispetto a Kepler (SMX), chiamandoli SMM. La struttura del warp scheduler è stata ereditata da Kepler, che permette ad ogni schedule di emettere fino a due istruzioni indipendenti per ogni altra e che sono in ordine dallo stesso warp. Il layout dell unità SMM è diviso in modo tale che ognuna delle 4 warp schedula un SMM che controlla 1 di 32 FP32 CUDA cores, 1 di 8 load/store units, e 1 di 8 unità per funzioni speciali. Tutto ciò è in contrasto con Kepler, dove ogni SMX posside 4 schedulers che controllano un gruppo condiviso di 6 su 32 FP32 CUDA cores, 2 di 16 load/store units, e 2 di 16 unità per funzioni speciali. Queste unità sono connesse da una traversa che usa corrente per permettere alle risorse di essere condivise. Questa traversa è stata rimossa in Maxwell. Texture units e FP64 CUDA cores rimangono condivisi. SMM permettono una allocazione più fine delle risorse rispetto a SMX, si risparmia corrente quando il carico di lavoro non è ottimale per la condivisione di risorse. Nvidia dichiara che 128 CUDA core SMM hanno il 90% delle performance di 192 CUDA core SMX. Anche ogni Graphics Processing Cluster, o GPC, contiene fino a 4 unità SMX in Kepler, e fino a 5 unità SMM nella prima generazione di Maxwell.
GM107 supporta CUDA Compute Capability 5.0 rispetto al 3.5 di GK110/GK208 e al 3.0 di GK10x. Dynamic Parallelism e HyperQ, due features di GK110/GK208, sono inoltre supportare in tutta la linea di prodotti Maxwell.
Maxwell dispone inoltre di un supporto nativo a shared memory atomic operations for 32-bit integers e shared memory 32-bit and 64-bit compare-and-swap (CAS), che possono essere implementato di usare altre funzioni atomiche.

#### NVENC

Le GPU basate su tecnologia Maxwell contengono inoltre il blocco NVENC SIP introdotto in Kepler. L'encoder video Nvidia, NVENC, è da 1.5 a 2 volte più veloce rispetto alle schede video basate sull'architettura Kepler e questo significa che è in grado di decodificare video da 6 a 8 volte il tempo della riproduzione.

#### PureVideo

Nvidia ha inoltre dichiarato un aumento di performance da 8 a 10 volte nella funzione PureVideo e video decoding grazie alla cache del video decoder cache accoppiate con l'incremento dell'efficienza della memoria. Tuttavia la codifica H.265 non è completamente supportata tramite codifica hardware, creando un mix tra codifica hardware e software. Quando viene decodificato un video, un nuovo stato a basso consumo "GC5" è usato dalle GPU Maxwell per risparmiare corrente.

### Seconda generazione Maxwell (GM20x)

La seconda generazione di GPU Maxwell introduce una serie di nuove tecnologie: Dynamic Super Resolution, Third Generation Delta Color Compression, Multi-Pixel Programming Sampling, Nvidia VXGI (Real-Time-Voxel-Global Illumination), VR Direct, Multi-Projection Acceleration, e Multi-Frame Sampled Anti-Aliasing(MFAA) tuttavia è stato rimosso il supporto a Coverage-Sampling Anti-Aliasing(CSAA). È stato inoltre aggiunto il supporto a HDMI 2.0.
La seconda generazione di Maxwell ha inoltre modificato il rapporto di ROP per controller di memoria da 8:1 a 16:1. Nonostante ciò, alcuni di questi ROP sono generalmente inattivi nella GTX 970 perché non ci sono abbastanza SMM abilitati per assegnare ad essi lavoro e prima che venga ridotto il livello massimo di saturazione.
La seconda generazione Maxwell ha inoltre fino a 4 unità SMM per GPC, al posto di 5 unità SMM per GPC.
GM204 supporta CUDA Compute Capability 5.2 al posto del 5.0 presente nella GPU GM107/GM108 e al 3.5 presente nelle GPU GK110/GK208 e 3.0 sulle GPU GK10x.
La seconda generazione di GPU Maxwell (GM20x) hanno un'unità NVENC aggiornata che supporta la codifica HEVC e H.264 a 1440p/60FPS e 4K/60FPS rispetto all'NVENC della prima generazione GM10x che supporta solamente la codifica H.264 a 1080p/60FPS.
La GPU Maxwell GM206 supporta a pieno la codifica HEVC.

## Prodotti

| Modello | Rilascio | Codename | Fab (nm) | Transistor (Million) | Dimensione del Die (mm$^2$) | Numero di GPU | Interfaccia del BUS | Configurazione di Memoria (MB) | Configurazione dei Core | Clock | Clock | Clock | Fillrate | Fillrate | Memoria | Memoria | Memoria | Versione di API supportata | Versione di API supportata | Versione di API supportata | Potenza di computazione (GFLOPS) | Potenza di computazione (GFLOPS) | GFLOPS/S a singola precisione | TDP (watts) | Supporto SLI | Prezzo di rilascio |
| Modello | Rilascio | Codename | Fab (nm) | Transistor (Million) | Dimensione del Die (mm$^2$) | Numero di GPU | Interfaccia del BUS | Configurazione di Memoria (MB) | Configurazione dei Core | Clock di base (MHz) | Clock di boost (MHz) | Memoria (MT/s) | Pixel (GP/s) | Texture (GT/s) | Bandwidth (GB/s) | Tipo di Bus | Dimensione del Bus | DirectX | OpenGL | OpenCL | Singola precisione | Doppia precisione | GFLOPS/S a singola precisione | TDP (watts) | Supporto SLI | Prezzo di rilascio |
| Serie GeForce 900 |||||||||||||||||||||||||||
| GeForce GTX 950 | 20 Agosto 2015 | GM206 | | | | 1 | | 2048 | | | | | | | | | | | | | 1572 | 49,1 | | 90 | 2-way | $159 |
| GeForce GTX 960 | 22 Gennaio 2015 | GM206 | 28 | 2940 | 227 | 1 | PCIe 3.0 x16 | 2048 4096 | 1024:64:32 | 1127 | 1178 | 7010 | 39.3 | 72.1 | 112 | GDDR5 | 128 | 12.0 | 4.5 | 1.2 | 2308 | 72.1 | 19.2 | 120 | 2-way | $199 |
| GeForce GTX 970 | 18 Settembre 2014 | GM204 | 28 | 5200 | 398 | 1 | PCIe 3.0 x16 | 3584 + 512 | 1664:104:56 | 1050 | 1178 | 7010 | 54.6 | 109.2 | 196 + 28 | GDDR5 | 224 + 32 | 12.0 | 4.5 | 1.2 | 3494 | 109 | 24.1 | 145 | 3-way | $329 |
| GeForce GTX 980 | 18 Settembre 2014 | GM204 | 28 | 5200 | 398 | 1 | PCIe 3.0 x16 | 4096 | 2048:128:64 | 1126 | 1216 | 7010 | 72.1 | 144 | 224 | GDDR5 | 256 | 12.0 | 4.5 | 1.2 | 4612 | 144 | 28 | 165 | 4-way | $549 |
| GeForce GTX 980 Ti | 1 Giugno 2015 | GM200 | 28 | 8000 | 601 | 1 | PCIe 3.0 x16 | 6144 | 2816:176:96 | 1000 | 1076 | 7010 | 96 | 176 | 336 | GDDR5 | 384 | 12.0 | 4.5 | 1.2 | 5632 | 176 | 22.5 | 250 | 4-way | $649 |
| GeForce GTX Titan X | 17 Marzo 2015 | GM200 | 28 | 8000 | 601 | 1 | PCIe 3.0 x16 | 12288 | 3072:192:96 | 1000 | 1089 | 7010 | 96 | 192 | 336 | GDDR5 | 384 | 12.0 | 4.5 | 1.2 | 6144 | 192 | 24.6 | 250 | 4-way | $999 |
| Serie GeForce 900M |||||||||||||||||||||||||||
| GeForce 920M | 13 Marzo 2015 | GK208 | 28 | Sconosciuto | Sconosciuto | 1 | PCIe 3.0 x8 | 1024 2048 | 384:16:8 | 775 575 | - | 1800 | 3.1 4.6 | 12.4 9.2 | 14.4 | DDR3 | 64 | 11.0 12.0 | 4.5 | 1.1 1.2 | 595.2 441.6 | - 18.4 | 18 13.3 | 33 | No | - |
| GeForce 930M | 13 Marzo 2015 | GM108 | 28 | Sconosciuto | Sconosciuto | 1 | PCIe 3.0 x8 | 1024 2048 | 384:16:8 | 1029 | 1124 | 2002 | 8.23 | 16.5 | 16 | DDR3 | 64 | 12.0 | 4.5 | 1.2 | 790.3 | 24.7 | 23.9 | 33 | No | - |
| GeForce 940M | 13 Marzo 2015 | GM107/GM108 | 28 | Sconosciuto | Sconosciuto | 1 | PCIe 3.0 x16 PCIe 3.0 x8 | 2048 | 640:40:16 384:16:8 | 1029 | 1085 1124 | 5012 2002 | 16.5 8.2 | 41.2 16.5 | 80.2 16 | GDDR5 DDR3 | 128 64 | 12.0 | 4.5 | 1.2 | 1317 790.3 | 41.1 24.7 | 17.5 23.9 | 75 33 | No | - |
| GeForce GTX 950M | 13 Marzo 2015 | GM107 | 28 | 1870 | 148 | 1 | PCIe 3.0 x16 | 2048 | 640:40:16 | 914 | 1085 | 5012 | 14.6 | 36.6 | 80 | GDDR5 | 128 | 12.0 | 4.5 | 1.2 | 1170 | 36.56 | 15.6 | 75 | No | - |
| GeForce GTX 960M | 13 Marzo 2015 | GM107 | 28 | 1870 | 148 | 1 | PCIe 3.0 x16 | 2048 | 640:40:16 | 1029 | 1085 | 5012 | 16.5 | 41.2 | 80 | GDDR5 | 128 | 12.0 | 4.5 | 1.2 | 1317 | 41.16 | 17.56 | 75 | No | - |
| GeForce GTX 965M | 05 Gennaio 2015 | GM204 | 28 | 5200 | 398 | 1 | PCIe 3.0 x16 | 2048 | 1024:64:32 | 944 | - | 5000 | 30.2 | 60.4 | 80 | GDDR5 | 128 | 12.0 | 4.5 | 1.2 | 1933 | 60.41 | Sconosciuto | Sconosciuto | Si | - |
| GeForce GTX 970M | 07 Ottobre 2014 | GM204 | 28 | 5200 | 398 | 1 | PCIe 3.0 x16 | 3072 6144 | 1280:80:48 | 924 | 993 | 5012 | 37.0 | 73.9 | 120 | GDDR5 | 192 | 12.0 | 4.5 | 1.2 | 2365 | 73.9 | Sconosciuto | Sconosciuto | Si | - |
| GeForce GTX 980M | 07 Ottobre 2014 | GM204 | 28 | 5200 | 398 | 1 | PCIe 3.0 x16 | 4096 8192 | 1536:96:64 | 1038 | 1127 | 5012 | 49.8 | 99.6 | 160 | GDDR5 | 256 | 12.0 | 4.5 | 1.2 | 3189 | 99.69 | Sconosciuto | Sconosciuto | Si | - |

## Futuro

Dopo Maxwell, la successiva architettura ha nome in codice Pascal. Nvidia ha annunciato che le GPU basate su Pascal avranno come caratteristiche: stacked DRAM, Unified Memory, NVLink.