GeForce 400 series
# GeForce 400 series

La serie GeForce 400 è un'architettura per GPU sviluppata da NVIDIA Corporation e presentata dalla fine del 2009 e apipista per la microarchitettura Fermi. Il nome dell'architettura deriva dal fisico Enrico Fermi e il produttore ha dichiarato che l'architettura è stata sviluppata al fine di ottimizzare al meglio le elaborazioni basate su GPU.

## Caratteristiche

L'integrato che implementa l'architettura Fermi è prodotto con una tecnologia a 40 nm, è basato su tre miliardi di transistor, è stato prodotto da TSMC e sarà la prima GPU NVIDIA a gestire le DirectX 11. Le prime schede video della serie Fermi sono stati consegnati alla stampa specializzata nella settimana del 22 marzo 2010, i prodotti arriveranno sugli scaffali il 12 aprile.

L'integrato integra 480 unità d'elaborazione CUDA, ogni unità CUDA ha al suo interno una pipeline per le operazioni sui numeri interi e una sui numeri in virgola mobile. Le operazioni vengono gestite con lo standard IEEE-754 2008. I core CUDA a differenza della precedente architettura GT200 hanno una gestione migliore dei calcoli in virgola mobile, questi core hanno una velocità di picco di 1/2 rispetto ai calcoli su numeri interi, il precedente core GT200 eseguiva i calcoli in virgola mobile con velocità di picco di 1/8 rispetto ai calcoli con i numeri interi quindi questi core sono quattro volte più veloci di quelli utilizzati dalla precedente architettura. Le unità d'elaborazione sono raggruppa in blocchi da 32 chiamati Streaming Multiprocessor (SM); ogni SM include 4 Special Function Unit, queste unità vengono utilizzate per eseguire operazioni aritmetiche trascendenti e interpolazioni. Ogni SM ha 16 unita load/store e ha una propria memoria di 64 Kbyte, questa memoria può essere suddivisa come memoria cache L1 o memoria condivisa in rapporto 1:3 (16/48) o 3:1 (48:16) a seconda delle necessità. Ogni blocco tramite un bus accede a una memoria cache L2 di 768 Kbyte.

Il processore gestisce memorie GDDR5 collegate tramite un bus a 384 bit, il controller della memoria è in grado di gestire anche memorie ECC. Il produttore al fine di migliorare la gestione degli accessi alla memoria cache ha sviluppato una tecnologia chiamata NVIDIA Parallel DataCache technology mentre per meglio utilizzare l'elevato numero di unita di calcolo parallelo ha sviluppato la tecnologia NVIDIA GigaThread engine, questa tecnologia ottimizza lo scheduling dei thread da eseguire al fine di utilizzare al meglio le unità d'elaborazione. Il processore è in grado di processare fino a 24.576 thread e può far eseguire più thread in parallelo all'interno di ogni SM al fine di ottimizzare l'utilizzo dei core CUDA. Nella applicazioni dedicate alla grafica tridimensionale normalmente un thread è sempre in grado di occupare tutte le unità di calcolo mentre nelle applicazioni di calcolo generiche questo non è necessariamente vero.

