# GeForce 400

Servindo como a introdução do Fermi, a série GeForce 400 é uma série de unidades de processamento gráfico desenvolvidas pela Nvidia. Seu lançamento foi originalmente programado para novembro de 2009; no entanto, após atrasos, foi lançado em 26 de março de 2010, com disponibilidade em abril de 2010.
Seu concorrente direto era o Radeon HD 5000 Series da ATI.
As placas gráficas Geforce 400 não têm mais suporte oficial, isto é, drivers para Windows não são mais lançados com suporte a estes modelos, pela Nvidia, desde janeiro de 2019.

## Arquitetura

A Nvidia descreveu a microarquitetura Fermi como o próximo grande passo em sua linha de GPUs seguindo a microarquitetura Tesla usada desde o G80. O GF100, o primeiro produto da arquitetura Fermi, é grande: 512 processadores stream, em dezesseis grupos de 32, e 3,0 bilhões de transistores, fabricados pela TSMC em um processo de 40 nm. É o primeiro chip da Nvidia a suportar OpenGL 4.0 e Direct3D 11. Nenhum produto com uma GPU GF100 totalmente habilitada foi vendido. A GTX 480 tinha um multiprocessador de streaming desativado. A GTX 470 tinha dois multiprocessadores de streaming e um controlador de memória desabilitados. A GTX 465 tinha cinco multiprocessadores de streaming e dois controladores de memória desativados. As placas GeForce de consumo vêm com 256 MB anexadas a cada um dos controladores de memória GDDR5 habilitados, para um total de 1,5, 1,25 ou 1,0 GB; o Tesla C2050 tinha 512 MB em cada um dos seis controladores e o Tesla C2070 tinha 1024 MB por controlador. Ambos os cartões Tesla tinham quatorze grupos ativos de processadores de fluxo.
Os chips encontrados na marca Tesla de alto desempenho apresentam memória com ECC opcional e a capacidade de executar uma operação de ponto flutuante de precisão dupla por ciclo por núcleo; as placas GeForce do consumidor são artificialmente restritas a uma operação DP a cada quatro ciclos. Com esses recursos, combinados com suporte para Visual Studio e C++, a Nvidia direcionou-se aos mercados profissionais e comerciais, bem como ao uso em computação de alto desempenho.
Fermi recebeu o nome do físico italiano Enrico Fermi.

### Limitações atuais e trade-offs

A quantidade de SRAM on-board por ALU na verdade diminuiu proporcionalmente em comparação com a geração anterior do G200, apesar do aumento do cache L2 de 256kB por 240 ALUs para 768kB por 512 ALUs, já que o Fermi tem apenas 32.768 registradores por 32 ALUs (vs. 16384 por 8 ALUs), apenas 48kB de memória compartilhada por 32 ALUs (vs. 16kB por 8 ALUs) e apenas 16kB de cache por 32 ALUs (vs. 8kB de cache constante por 8 ALUs + 24kB de cache de textura por 24 ALUs). Parâmetros como o número de registros podem ser encontrados na tabela de comparação de capacidade de computação CUDA no manual de referência.

## História

Em 30 de setembro de 2009, a Nvidia lançou um white paper descrevendo a arquitetura: o chip possui 16 'Streaming Multiprocessors' cada um com 32 'CUDA Cores' capazes de uma operação de precisão única por ciclo ou uma operação de precisão dupla a cada dois cycle, um espaço de endereço virtual de 40 bits que permite que a memória do host seja mapeada no espaço de endereço do chip, o que significa que há apenas um tipo de ponteiro e tornando o suporte a C++ significativamente mais fácil, e uma interface de memória GDDR5 de 384 bits. Tal como acontece com o G80 e GT200, os encadeamentos são agendados em 'warps', conjuntos de 32 encadeamentos, cada um em execução em um único núcleo de sombreador. Enquanto o GT200 tinha 16 KB de 'memória compartilhada' associada a cada cluster de shader e exigia que os dados fossem lidos através das unidades de texturização se um cache fosse necessário, o GF100 tem 64 KB de memória associada a cada cluster, que pode ser usado como um Cache de 48 KB mais 16 KB de memória compartilhada ou como um cache de 16 KB mais 48 KB de memória compartilhada, juntamente com um cache L2 de 768 KB compartilhado por todos os 16 clusters.
O white paper descreve o chip muito mais como um processador de uso geral para cargas de trabalho que abrangem dezenas de milhares de threads - reminiscente da arquitetura Tera MTA, embora sem o suporte dessa máquina para acesso aleatório à memória muito eficiente - do que como um processador gráfico.
Muitos usuários relataram altes temperaturas e consumo de energia enquanto recebiam melhorias de desempenho correspondentemente ruims nas GPUs Fermi da série GeForce 400 quando comparadas com a Radeon HD 5000 Series do concorrente rival AMD - levando a AMD a criar e lançar um vídeo promocional "The Misunderstanding" para cutucar diversão na questão. No vídeo, uma unidade policial é vista iniciando uma batida em uma casa com um grande perfil térmico, indicando uma operação de cultivo. No entanto, ao entrar na casa, fica claro que a fonte da alta temperatura é uma GPU Fermi. Tornou-se uma piada comum que alguém poderia fritar um ovo em uma GPU Fermi em plena carga.

## Produtos

* $^1$ SPs - Processadores de Shader - Shaders Unificados: Unidades de Mapeamento de Textura: Unidades de Saída de Renderização
* $^2$ Cada Streaming Multiprocessor (SM) na GPU da arquitetura GF100 contém 32 SPs e 4 SFUs. Cada Streaming Multiprocessor (SM) na GPU da arquitetura GF104/106/108 contém 48 SPs e 8 SFUs. Cada SP pode atender a 2 operações de adição e multiplicação fundidas de precisão única (FMA) por ciclo. Cada SFU pode cumprir quatro operações SF por ciclo. Uma operação FMA conta para duas operações de ponto flutuante. Portanto, o desempenho teórico de pico de precisão única, com contagem de shader [n] e frequência de shader [f, GHz], pode ser estimado pelo seguinte, FLOPS$_{sp}$ ≈ f × n × 2 (FMA). Potência de processamento total: para GF100 FLOPS$_{sp}$ ≈ f × m ×(32 SPs × 2(FMA) + 4 × 4 SFUs) e para GF104/106/108 FLOPS$_{sp}$ ≈ f × m × (48 SPs × 2(FMA) + 4 × 8 SFUs) ou para GF100 FLOPS$_{sp}$ ≈ f × n × 2.5 e para GF104/106/108 FLOPS$_{sp}$ ≈ f × n × 8 / 3.
SP - Shader Processor (Unified Shader, CUDA Core), SFU - Special Function Unit, SM - Streaming Multiprocessor.
* $^3$ Cada SM no GF100 contém 4 unidades de filtragem de textura para cada unidade de endereço de textura. A matriz GF100 completa contém 64 unidades de endereço de textura e 256 unidades de filtragem de textura. Cada SM na arquitetura GF104/106/108 contém 8 unidades de filtragem de textura para cada unidade de endereço de textura. A matriz GF104 completa contém 64 unidades de endereço de textura e 512 unidades de filtragem de textura, a matriz GF106 completa contém 32 unidades de endereço de textura e 256 unidades de filtragem de textura e a matriz GF108 completa contém 16 unidades de endereço de textura e 128 unidades de filtragem de textura.
Todos os produtos são produzidos em um processo de fabricação de 40 nm. Todos os produtos suportam Direct3D 12.0 em um nível de recurso 11_0, OpenGL 4.6 e OpenCL 1.1. A única exceção é a GeForce 405, uma placa somente OEM, que é baseada no núcleo GT218 (Tesla) suportando apenas DirectX 10.1, OpenGL 3.3 e sem suporte a OpenCL, e é a única placa da linha GeForce 400 não baseada no Microarquitetura de Fermi. Pelos parâmetros, a GeForce 405 é idêntica à GeForce 310, também uma placa somente OEM, que é baseada na GeForce 210. Todos os produtos têm um único conector DB15 VGA em uma placa de altura e comprimento total, exceto conforme listado em contrário.
Em 8 de novembro de 2010, a Nvidia lançou o chip GF110, junto com o GTX 580 (substituto do 480). É um chip GF100 redesenhado, que usa significativamente menos energia. Isso permitiu que a Nvidia habilitasse todos os 16 SMs (todos os 16 núcleos), o que antes era impossível no GF100. Vários recursos da arquitetura GF100 estavam disponíveis apenas nas séries de placas Quadro e Tesla, mais caras. Para os produtos de consumo GeForce, o desempenho de precisão dupla é um quarto do desempenho da arquitetura Fermi "completa". A verificação e correção de erros de memória (ECC) também não funciona em cartões de consumo. As placas GF100 fornecem Compute Capability 2.0, enquanto as placas GF104/106/108 fornecem Compute Capability 2.1.

## Tabela de chipsets

| Modelo | Lançamento | Nome do código | Fab (nm) | Transistores (Milhões) | Tamanho da matriz (mm$^2$) | contagem de SM | Core config | taxa de clock | taxa de clock | taxa de clock | Taxa de preenchimento | Taxa de preenchimento | Configuração de memória | Configuração de memória | Configuração de memória | Configuração de memória | Suporte API (versão) | Suporte API (versão) | Suporte API (versão) | Suporte API (versão) | Poder de processamento (GFLOPS) | Poder de processamento (GFLOPS) | TDP (Watts) | Preço de lançamento (USD) |
| Modelo | Lançamento | Nome do código | Fab (nm) | Transistores (Milhões) | Tamanho da matriz (mm$^2$) | contagem de SM | Core config | Core (MHz) | Shader (MHz) | Memória (MHz) | Pixel (GP/s) | Textura (GT/s) | Tamanho (MB) | Largura de banda (GB/s) | tipo DRAM | Largura do barramento (bit) | Vulkan | Direct3D | OpenGL | OpenCL | precisão única | precisão dupla | TDP (Watts) | Preço de lançamento (USD) |
| GeForce 405 | 16 de setembro de 2011 | GT216 GT218 | 40 nm | 486 260 | 100 57 | 1 | 48:16:8 16:8:4 | 475 589 | 1100 1402 | 800 790 | 3.8 2.36 | 7.6 4.71 | 512 1024 | 12.6 | DDR3 | 64 | n/a | 10.1 | 3.3 | 1.1 | 105.6 44.86 | Desconhecido | 30.5 | OEM |
| GeForce GT 420 | 3 de setembro de 2010 | GF108 | TSMC 40 nm | 585 | 116 | 1 | 48:4:4 | 700 | 1400 | 1800 | 2.8 | 2.8 | 512 | 28.8 | GDDR3 | 128 | n/a | 12 FL 11_1 | 4.6 | 1.1 | 134.4 | Desconhecido | 50 | OEM |
| GeForce GT 430 | 11 de outubro de 2010 | GF108 GF108-300-A1 | TSMC 40 nm | 585 | 116 | 2 | 96:16:4 | 700 | 1400 | 1600 1800 | 2.8 | 11.2 | 512 | 25.6 28.8 | GDDR3 | 128 | n/a | 12 FL 11_1 | 4.6 | 1.2 | 268.8 | Desconhecido | 60 | OEM |
| GeForce GT 430 | 11 de outubro de 2010 | GF108 GF108-300-A1 | TSMC 40 nm | 585 | 116 | 2 | 96:16:4 | 700 | 1400 | 1800 | 2.8 | 11.2 | 512 1024 2048 | 28.8 | GDDR3 | 128 | n/a | 12 FL 11_1 | 4.6 | 1.1 | 268.8 | Unknown | 49 | $79 |
| GeForce GT 430 | 11 de outubro de 2010 | GF108 GF108-300-A1 | TSMC 40 nm | 585 | 116 | 2 | 96:16:4 | 700 | 1400 | 1300 | 2.8 | 11.2 | 512 1024 2048 | 10.4 | GDDR3 | 64 | n/a | 12 FL 11_1 | 4.6 | 1.1 | 268.8 | Unknown | 49 | $79 |
| GeForce GT 440 | 1 de fevereiro de 2011 | GF108 | TSMC 40 nm | 585 | 116 | 2 | 96:16:4 | 810 | 1620 | 1800 3200 | 3.2 | 12.9 | 1024 | 28.8 51.2 | GDDR3 GDDR5 | 128 | n/a | 12 FL 11_1 | 4.6 | 1.1 | 311.04 | Desconhecido | 65 | $100 |
| GeForce GT 440 | 11 de outubro de 2010 | GF106 | TSMC 40 nm | 1170 | 238 | 3 | 144:24:24 | 810 | 1620 | 1800 | 4.8 | 19.4 | 1536 3072 | 43.2 | DDR3 | 192 | n/a | 12 FL 11_1 | 4.6 | 1.1 | 342.43 | Desconhecido | 56 | OEM |
| GeForce GTS 450 | 11 de outubro de 2010 | GF106 | TSMC 40 nm | 1170 | 238 | 3 | 144:24:24 | 790 | 1580 | 4000 | 4.7 | 18.9 | 1536 | 96.0 | GDDR5 | 192 | n/a | 12 FL 11_1 | 4.6 | 1.1 | 455.04 | Desconhecido | 106 | OEM |
| GeForce GTS 450 | 13 de setembro de 2010 15 de março de 2011 | GF106-250 GF116-200 | TSMC 40 nm | 1170 | 238 | 4 | 192:32:16 | 783 | 1566 | 1200-1600 (GDDR3) 3608 (GDDR5) | 6.2 | 25.0 | 512 1024 | 57.7 | GDDR5 | 128 | n/a | 12 FL 11_1 | 4.6 | 1.1 | 601.34 | Desconhecido | 106 | $129 |
| GeForce GTX 460 SE | 15 de novembro de 2010 | GF104-225-A1 | TSMC 40 nm | 1950 | 332 | 6 | 288:48:32 | 650 | 1300 | 3400 | 7.8 | 31.2 | 1024 | 108.8 | GDDR5 | 256 | n/a | 12 FL 11_1 | 4.6 | 1.1 | 748.8 | Desconhecido | 150 | $160 |
| GeForce GTX 460 | 11 de outubro de 2010 | GF104 | TSMC 40 nm | 1950 | 332 | 7 | 336:56:32 | 650 | 1300 | 3400 | 9.1 | 36.4 | 1024 | 108.8 | GDDR5 | 256 | n/a | 12 FL 11_1 | 4.6 | 1.1 | 873.6 | Desconhecido | 150 | OEM |
| GeForce GTX 460 | 12 de julho de 2010 | GF104-300-KB-A1 | TSMC 40 nm | 1950 | 332 | 7 | 336:56:24 | 675 | 1350 | 3600 | 9.4 | 37.8 | 768 | 86.4 | GDDR5 | 192 | n/a | 12 FL 11_1 | 4.6 | 1.1 | 907.2 | Unknown | 150 | $199 |
| GeForce GTX 460 | 12 de julho de 2010 | GF104-300-KB-A1 | TSMC 40 nm | 1950 | 332 | 7 | 336:56:32 | 675 | 1350 | 3600 | 9.4 | 37.8 | 1024 2048 | 115.2 | GDDR5 | 256 | n/a | 12 FL 11_1 | 4.6 | 1.1 | 907.2 | Unknown | 160 | $229 |
| GeForce GTX 460 | 24 de setembro de 2011 | GF114 | TSMC 40 nm | 1950 | 332 | 7 | 336:56:24 | 779 | 1557 | 4008 | 10.9 | 43.6 | 1024 | 96.2 | GDDR5 | 192 | n/a | 12 FL 11_1 | 4.6 | 1.1 | 1045.6 | Desconhecido | 160 | $199 |
| GeForce GTX 465 | 31 de maio de 2010 | GF100-030-A3 | TSMC 40 nm | 3000 | 529 | 11 | 352:44:32 | 608 | 1215 | 3206 | 13.3 | 26.7 | 1024 | 102.7 | GDDR5 | 256 | n/a | 12 FL 11_1 | 4.6 | 1.2 | 855.36 | 106.92 | 200 | $279 |
| GeForce GTX 470 | 26 de março de 2010 | GF100-275-A3 | TSMC 40 nm | 3000 | 529 | 14 | 448:56:40 | 608 | 1215 | 3348 | 17.0 | 34.0 | 1280 | 133.9 | GDDR5 | 320 | n/a | 12 FL 11_1 | 4.6 | 1.2 | 1088.64 | 136.08 | 215 | $349 |
| GeForce GTX 480 | 26 de março de 2010 | GF100-375-A3 | TSMC 40 nm | 3000 | 529 | 15 | 480:60:48 | 701 | 1401 | 3696 | 21.0 | 42.0 | 1536 | 177.4 | GDDR5 | 384 | n/a | 12 FL 11_1 | 4.6 | 1.2 | 1344.96 | 168.12 | 250 | $499 |
| Modelo | Lançamento | Nome do código | Fab (nm) | Transistores (Milhões) | Tamanho da matriz (mm$^2$) | contagem de SM | Core config | taxa de clock | taxa de clock | taxa de clock | Taxa de preenchimento | Taxa de preenchimento | Configuração de memória | Configuração de memória | Configuração de memória | Configuração de memória | Suporte API (versão) | Suporte API (versão) | Suporte API (versão) | Suporte API (versão) | Poder de processamento (GFLOPS) | Poder de processamento (GFLOPS) | TDP (Watts) | Preço de lançamento (USD) |
| Modelo | Lançamento | Nome do código | Fab (nm) | Transistores (Milhões) | Tamanho da matriz (mm$^2$) | contagem de SM | Core config | Core (MHz) | Shader (MHz) | Memória (MHz) | Pixel (GP/s) | Textura (GT/s) | Tamanho (MB) | Largura de banda (GB/s) | tipo DRAM | Largura do barramento (bit) | Vulkan | Direct3D | OpenGL | OpenCL | precisão única | precisão dupla | TDP (Watts) | Preço de lançamento (USD) |
* 1 2 Shaders Unificados: Unidades de Mapeamento de Textura: Unidades de Saída de Renderização
* 1 2 Cada SM no GF100 contém 4 unidades de filtragem de textura para cada unidade de endereço de textura. A matriz GF100 completa contém 64 unidades de endereço de textura e 256 unidades de filtragem de textura. Cada SM na arquitetura GF104/106/108 contém 8 unidades de filtragem de textura para cada unidade de endereço de textura, mas dobrou as unidades de endereçamento e filtragem. A matriz GF104 completa também contém 64 unidades de endereço de textura e 512 unidades de filtragem de textura, apesar da contagem de SM reduzida pela metade, a matriz GF106 completa contém 32 unidades de endereço de textura e 256 unidades de filtragem de textura e a matriz GF108 completa contém 16 unidades de endereço de textura e 128 unidades de filtragem de textura.
* 1 2 Para calcular o poder de processamento veja Microarquitetura Fermi#Performance.
* 1 2 3 4 5 Observe que, embora o TDP da GTX 460 seja comparável ao da série HD5000 da AMD, as placas baseadas em GF100 (GTX 480/470/465) têm uma classificação muito inferior, mas consomem significativamente mais energia, por exemplo, GTX 480 com TDP de 250 W consome Mais potência do que uma HD 5970 com TDP de 297 W.
* 1 2 A série 400 é a única família não OEM das séries GeForce 9 a 700 que não inclui um sistema oficial de GPU dupla. No entanto, em 18 de março de 2011, EVGA lançou a primeira placa de PCB simples com 460 duplos integrados. A placa vinha com 2.048 MB de memória a 3.600 MHz e 672 processadores shader a 1.400 MHz e era oferecida pelo preço sugerido de $ 429
* ↑ A placa GeForce 405 é uma GeForce 310 renomeada, que por sua vez é uma GeForce 210 renomeada.

## Suporte descontinuado

A Nvidia anunciou que, após a versão 390 dos drivers, não lançará mais drivers de 32 bits para sistemas operacionais de 32 bits.
A Nvidia anunciou em abril de 2018 que o Fermi mudará para o status de suporte de driver legado e será mantido até janeiro de 2019.