# Radeon R400

A GPU R420, desenvolvida pela ATI Technologies, foi a base da empresa para suas placas gráficas compatíveis com DirectX 9.0/OpenGL 2.0 de 3ª geração. Usado primeiro na Radeon X800, o R420 foi produzido em um processo de fotolitografia de Low-K 0,13 micrômetros (130 nm) e usava memória GDDR3. O chip foi projetado para placas gráficas AGP.
O suporte de driver desse núcleo foi descontinuado a partir do Catalyst 9.4 e, como resultado, não há suporte oficial do Windows 7 para nenhum dos produtos X700 - X850.

## Desenvolvimento

Em termos de recursos DirectX suportados, o R420 (codinome Loki) era muito semelhante ao R300. O R420 basicamente adota uma abordagem "quanto mais amplo, melhor" para a arquitetura anterior, com alguns pequenos ajustes para aprimorá-la de várias maneiras. O chip veio equipado com o dobro de recursos de push de pixel e vértice em comparação com a Radeon 9800 XT R360 (uma evolução menor do R350), com 16 pipelines de pixel DirectX 9.0b e 16 ROPs. Alguém não estaria longe de ver o X800 XT basicamente como um par de núcleos Radeon 9800 conectados juntos e também rodando com uma velocidade de clock ~ 30% maior.
O design do R420 era um arranjo de 4 "quad" (4 pipelines por quad). Essa organização permitia internamente à ATI desabilitar "quads" defeituosos e vender chips com pipelines de 12, 8 ou até 4 pixels, uma evolução da técnica usada com Radeon 9500 /9700 e 9800SE/9800. A separação em "quads" também permitiu à ATI projetar um sistema para otimizar a eficiência do chip geral. Cunhado como "sistema de despacho quádruplo", a tela é lado a lado e o trabalho é distribuído uniformemente entre os "quads" separados para otimizar seu rendimento. Foi assim que os chips da série R300 também realizaram suas tarefas, mas o R420 refinou isso permitindo tamanhos de ladrilhos programáveis ​​para controlar o fluxo de trabalho em um nível mais fino de granularidade. Aparentemente, ao reduzir os tamanhos dos ladrilhos, a ATI foi capaz de otimizar para diferentes tamanhos de triângulo.
Quando a ATI dobrou o número de pipelines de pixel, ela também aumentou o número de mecanismos de sombreamento de vértice de 4 para 6. Isso mudou a proporção de sombreadores de pixel/vértice de 2:1 (no R300) para 8:3, mostrando que a ATI acreditava que a carga de trabalho em jogos a partir de 2004 em diante para ser mais sombreador de pixel e orientado a texturização do que baseado em geometria. O mapeamento normal e de parallax estava substituindo a complexidade geométrica pura pelos detalhes do modelo, então, sem dúvida, isso fazia parte do raciocínio. Estranhamente, a placa principal X700 (RV410) tinha 6 shaders de vértice enquanto estava equipada apenas com 2 quads. Como tal, este chip foi obviamente projetado para uma carga de geometria mais pesada do que a texturização, talvez sendo adaptado para um papel como um chip FireGL. O RV410 também superou significativamente a GeForce 6600GT da NVIDIA (3 vertex shaders) no rendimento da geometria. Com os 6 shaders de vértice da R420 e da RV410 combinados com velocidades de clock mais altas do que a geração anterior, a ATI foi capaz de mais que dobrar a capacidade de processamento de geometria da 9800XT.
Embora os chips baseados em R420 sejam fundamentalmente semelhantes aos núcleos baseados em R300, a ATI ajustou e aprimorou as unidades de pixel shader para maior flexibilidade. Uma nova versão do sombreador de pixel (PS2.b) permitia uma flexibilidade ligeiramente maior do programa de sombreamento do que o PS2.0 simples, mas ainda não tinha recursos completos do PS3.0. Esta nova revisão do PS2.0 aumentou o número máximo de instruções e registros disponíveis para programas de sombreamento de pixel.
A ATI revelou o Temporal Anti-Aliasing , uma nova tecnologia anti-aliasing da qual seus chips eram capazes. Aproveitando os efeitos quadro a olho de uma taxa de quadros superior a 60 quadros/s, a GPU é capaz de suavizar melhor as bordas com alias girando o padrão de amostragem anti-aliasing entre os quadros. Uma configuração de software 2X tornou-se perceptivamente equivalente a 4X. Infelizmente, exigia que o sistema fosse capaz de manter pelo menos 60 quadros/s ou o anti-aliasing temporal causaria uma oscilação perceptível, porque o usuário seria capaz de ver os padrões AA alternados. Se a taxa de quadros não puder ser mantida, o driver desabilitará o Temporal AA. No entanto, em jogos em que esse nível de desempenho pode ser mantido, o Temporal AA foi uma boa adição às excelentes opções de anti-aliasing da ATI. Observe que o "Temporal AA" da ATI era na verdade um filtro de dithering temporal para AA espacial, não anti-aliasing temporal de fato (que deve envolver uma combinação controlada de subamostras temporais de telas consecutivas).
Outra adição notável ao núcleo foi um novo tipo de compressão de mapa normal, apelidado de "3Dc". Semelhante a como a compressão de textura fazia parte da especificação Direct3D há anos e era usada para compactar texturas regulares, a compactação de mapa normal compactava esse novo tipo de camada de detalhes da superfície. Como a compactação de textura DirectX (DXTC) fosse baseado em blocos e não projetado para as diferentes propriedades de dados de um mapa normal, um novo método de compactação era necessário para evitar a perda de detalhes e outros artefatos. O 3Dc foi baseado em um modo DXT5 modificado, que na verdade era uma opção alternativa para hardware que não suportava 3Dc. O software que faz uso intenso de mapeamento normal pode obter um aumento significativo de velocidade com a economia na taxa de preenchimento e na largura de banda usando 3Dc. A ATI apresentou muitos dos novos recursos de seu chip na demonstração promocional em tempo real chamada Ruby: The Doublecross.
A maior parte do restante da GPU era extremamente semelhante ao R300. O controlador de memória e as técnicas de otimização de largura de banda de memória (HyperZ) eram idênticos.
O R420 era na verdade um projeto secundário de 4ª geração para a ATI, com o plano R400 original, codinome interno "Crayola", sendo descartado. O R400 teria sido mais completo em recursos, com suporte de Shader Model 3 unificado entre outros aprimoramentos, mas acredita-se que a ATI considerou o R400 desnecessariamente complexo para os aplicativos que estariam disponíveis e potencialmente arriscado para desenvolver no semicondutor disponível processos de fabricação da época. A arquitetura R400 foi então implementada apenas no chip Xenos usado no console de videogame Xbox 360, e se tornou a base para a GPU móvel Qualcomm Adreno 200, inicialmente chamada de AMD Z430. Na linha Radeon, o suporte para recursos Direct3D 9.0c mudou para a geração subsequente baseada na arquitetura R500, enquanto a 4ª geração foi atendida com o R420 derivado do R300.

## Lançamentos do R420 e da próxima GPU ATI sem grandes modificações de arquitetura

As primeiras placas da série Radeon X800 eram baseadas no núcleo R420. A linha incluía a Radeon X800 XT Platinum Edition e a Radeon X800 Pro. A X800 XT PE veio com clock de 520 MHz de núcleo e 560 MHz de RAM, com 16 pipelines ativados. A X800 Pro veio com clock de 475/450 MHz com um quad desativado, deixando os pipelines de 12 pixels funcionais. Essencialmente, a X800 Pro é construído em núcleos R420 semi-defeituosos. Uma X800 Pro VIVO (Video-in-Video-out) também foi lançado e era popular entre os overclockers porque o quad desativado geralmente poderia ser ativado, resultando em uma X800 XT PE totalmente funcional a um custo menor.
A série Radeon X700 (RV410) substituiu o X600 em setembro de 2004. O X700 Pro tem clock de 425 MHz e é produzido em um processo de 0,11 micrômetro. O RV410 usou um layout que consiste em 8 pipelines de pixel conectados a 4 ROPs (semelhante ao GeForce 6 600), mantendo os 6 shaders de vértice do X800. O processo de 110 nm foi um processo de corte de custos, projetado não para altas velocidades de clock, mas para reduzir o tamanho da matriz, mantendo altos rendimentos. Um X700 XT foi planejado para produção e revisado por vários sites de hardware, mas nunca foi lançado. Acreditava-se que o X700 XT definia um teto de relógio muito alto para a ATI produzir com lucro. X700 XT também não era adequadamente competitivo com a impressionante GeForce 6 600 GT, da nVidia. A ATI continuaria a produzir uma placa da série X800 para competir.
A série de 110 nanômetros baseada em Radeon X800 "R430" foi introduzida no final de 2004 junto com as novas placas X850 da ATI. O X800 foi projetado para substituir a posição que o X700 XT falhou em proteger, com 12 pipelines e um barramento de RAM de 256 bits. A placa mais que superou a 6600GT com desempenho similar ao da GeForce 6 800. Uma parente próxima, a nova X800 XL, foi posicionada para destronar a GeForce 6800 GT da NVIDIA com velocidades de memória mais altas e 16 pipelines completos para aumentar o desempenho. O R430 não conseguia atingir altas velocidades de clock, sendo projetado principalmente para reduzir o custo por GPU, e por isso ainda era necessário um novo núcleo topo de linha. A nova geração R4x0 de ponta chegou com a série X850, equipada com vários ajustes básicos para um desempenho ligeiramente superior ao da série X800 baseada em "R420". A linha X850 baseada em "R480" estava disponível em 3 formas: a X850 Pro, a X850 XT e a X850 XT Platinum Edition, e foi construída com base no confiável processo Low-K de 130 nm de alto desempenho.
Em 2005, a ATI tinha um grande número de matrizes que "funcionavam", mas não o suficiente para serem usadas nas placas das séries X800 ou X850. Assim foi criado um novo SKU, o X800 GT. Ele usava qualquer matriz "R480" X850 ou matriz "R430" X800 XL que tivesse 2 quads funcionais e pudesse rodar a 475 MHz. Eles foram feitos para competir com a GeForce 6600GT ao lado do anterior X800 baseado em "R430". A ATI também lançou o X800 GTO, que era uma placa de 12 pipelines (3 quads) usando matrizes "R480" ou "R430" com clock de 400 MHz. Esta placa funcionou entre a X800 GT e a X800 XL. Foi mais rápido que a simples GeForce 6 800, mas mais lenta que a GeForce 6800 GT. As altas vendas desta placa foram devido ao seu desempenho relativamente alto, juntamente com um custo apenas ligeiramente superior ao da X800 GT. A comunidade de overclocking descobriu que o GTO baseado em R480 poderia frequentemente atingir velocidades de clock próximas ao X850 XT.
Por fim, outro SKU foi o X800 GTO², novamente baseado no R480. Foi novamente fabricado pela Sapphire Technology, como o X800 GTO. Esta placa geralmente vem com uma configuração de 3 quad, como X800 GTO. O GTO² era único na série GTx porque, com uma mudança de BIOS, eles quase sempre podiam ser transformados em uma placa 4 quad completa.