# Serie Radeon R400

La GPU R420, desarrollada por ATI Technologies, fue la base de la empresa para sus tarjetas gráficas compatibles con DirectX 9.0/ OpenGL 2.0 de tercera generación. Utilizado por primera vez en la Radeon X800, el R420 se produjo en un proceso de fotolitografía de low-K de 0,13 micrómetros (30 nm) y utilizó memoria GDDR3. El chip fue diseñado para tarjetas gráficas AGP.
El soporte del controlador de este núcleo se suspendió a partir de Catalyst 9.4 y, como resultado, no hay soporte oficial de Windows 7 para ninguno de los productos X700 - X850.

## Desarrollo

En términos de funciones de DirectX admitidas, R420 (nombre en código Loki) era muy similar a R300. R420 básicamente adopta un enfoque de "más ancho, mejor" de la arquitectura anterior, con algunos pequeños ajustes para mejorarlo de varias maneras. El chip vino equipado con más del doble de recursos de empuje de píxeles y vértices en comparación con el R360 de Radeon 9800 XT (una evolución menor del R350), con 16 canalizaciones de píxeles DirectX 9.0b y 16 ROP. Uno no estaría lejos de ver el X800 XT básicamente como un par de núcleos Radeon 9800 conectados entre sí y que también funcionan con una velocidad de reloj ~ 30% más alta.
El diseño del R420 era un arreglo de 4 "quad" (4 tuberías por quad) Esta organización permitió internamente a ATI desactivar "quads" defectuosos y vender chips con pipelines de 12, 8 o incluso 4 píxeles, una evolución de la técnica utilizada con Radeon 9500/9700 y 9800SE/9800. La separación en "quads" también permitió a ATI diseñar un sistema para optimizar la eficiencia del chip en general. Acuñado como el "sistema de despacho cuádruple", la pantalla está dividida en mosaicos y el trabajo se distribuye uniformemente entre los "cuadretes" separados para optimizar su rendimiento. Así es como los chips de la serie R300 también realizaron sus tareas, pero el R420 refinó esto al permitir tamaños de mosaico programables para controlar el flujo de trabajo en un nivel más fino de granularidad. Aparentemente, al reducir el tamaño de los mosaicos, ATI pudo optimizar para diferentes tamaños de triángulos.
Cuando ATI duplicó la cantidad de canalizaciones de píxeles, también elevó la cantidad de motores de sombreado de vértices de 4 a 6. Esto cambió la proporción de sombreadores de píxel/vértice de 2:1 (en R300) a 8:3, lo que demuestra que ATI creía que la carga de trabajo en los juegos a partir de 2004 estaba más orientada al sombreado de píxeles y las texturas que a la geometría. El mapeo normal y de paralaje estaba reemplazando la complejidad geométrica pura por el detalle del modelo, por lo que, sin duda, eso era parte del razonamiento. Curiosamente, la tarjeta principal X700 (RV410) tenía 6 sombreadores de vértices y solo estaba equipada con 2 quads. Como tal, este chip obviamente fue diseñado para una carga de geometría más pesada que el texturizado, tal vez diseñado para un papel como un chip FireGL. La RV410 también superó significativamente a la GeForce 6600GT de NVIDIA (sombreadores de 3 vértices) en el rendimiento de la geometría. Con los sombreadores de 6 vértices de R420 y RV410 combinados con velocidades de reloj más altas que la generación anterior, ATI pudo más que duplicar la capacidad de procesamiento de geometría de 9800XT.
Aunque los chips basados en R420 son fundamentalmente similares a los núcleos basados en R300, ATI modificó y mejoró las unidades de sombreado de píxeles para una mayor flexibilidad. Una nueva versión de sombreado de píxeles (PS2.b) permitió una flexibilidad del programa de sombreado ligeramente mayor que la PS2.0 simple, pero aún no alcanzaba las capacidades completas de PS3.0. Esta nueva revisión de PS2.0 aumentó la cantidad máxima de instrucciones y registros disponibles para los programas de sombreado de píxeles.
ATI reveló Temporal Anti-Aliasing, una nueva tecnología de anti-aliasing de la que eran capaces sus chips. Al aprovechar los efectos de fotograma a ojo de una velocidad de fotogramas superior a 60 fotogramas/s, la GPU puede suavizar mejor los bordes con alias rotando el patrón de muestreo de suavizado entre fotogramas. Una configuración de software 2X se volvió perceptivamente equivalente a 4X. Desafortunadamente, requería que el sistema fuera capaz de mantener al menos 60 fotogramas por segundo, o el anti-aliasing temporal causaría un parpadeo notable, porque el usuario podría ver los patrones AA alternos. Si no se pudo mantener la velocidad de fotogramas, el controlador desactivará AA temporal. Sin embargo, en los juegos en los que se podía mantener este nivel de rendimiento, Temporal AA fue una buena adición a las excelentes opciones de anti-aliasing de ATI. Tenga en cuenta que "Temporal AA" de ATI era en realidad un filtro de tramado temporal para AA espacial, no un suavizado temporal de facto (que debe implicar una combinación controlada de las submuestras temporales de pantallas consecutivas).
Otra adición notable al núcleo fue un nuevo tipo de compresión de mapa normal, denominado "3Dc". De forma similar a cómo la compresión de texturas había sido parte de la especificación de Direct3D durante años y se usaba para comprimir texturas regulares, la compresión de mapas normal compactaba este nuevo tipo de capa de detalles de superficie. Debido a que DirectX Texture Compression (DXTC) se basaba en bloques y no estaba diseñado para las diferentes propiedades de datos de un mapa normal, se necesitaba un nuevo método de compresión para evitar la pérdida de detalles y otros artefactos. 3Dc se basó en un modo DXT5 modificado, que de hecho era una opción alternativa para el hardware que no admitía 3Dc. El software que hace un uso intensivo del mapeo normal podría obtener un impulso de velocidad significativo a partir de los ahorros en la tasa de llenado y el ancho de banda mediante el uso de 3Dc. ATI mostró muchas de las nuevas características de su chip en la demostración promocional en tiempo real llamada Ruby: The Doublecross.
La mayor parte del resto de la GPU era extremadamente similar a la R300. El controlador de memoria y las técnicas de optimización del ancho de banda de la memoria (HyperZ) eran idénticas.
R420 fue en realidad un proyecto secundario de cuarta generación para ATI, con el plan R400 original, con el nombre en código interno "Crayola", siendo desechado. R400 habría sido más completo en funciones, con soporte de sombreado Shader Model 3 unificado entre otras mejoras, pero se cree que ATI consideró que R400 era innecesariamente complejo para las aplicaciones que estarían disponibles y potencialmente riesgoso de desarrollar en los procesos de fabricación de semiconductores disponibles del tiempo. La arquitectura R400 se implementó así solo en el chip Xenos utilizado en la consola de videojuegos Xbox 360, y se convirtió en la base para la GPU móvil Qualcomm Adreno 200, inicialmente llamada AMD Z430. En la línea Radeon, la compatibilidad con las funciones de Direct3D 9.0c pasó a la siguiente generación basada en la arquitectura R500, mientras que la cuarta generación se sirvió con el R420 derivado de R300.

## Lanzamientos de la R420 y la próxima GPU ATI sin modificaciones importantes en la arquitectura

Las primeras tarjetas de la serie Radeon X800 se basaron en el núcleo R420. La línea incluía la Radeon X800 XT Platinum Edition y la Radeon X800 Pro. El X800 XT PE venía con un núcleo de 520 MHz y una RAM de 560 MHz, con 16 canalizaciones habilitadas. El X800 Pro venía con una frecuencia de 475/450 MHz con un cuádruple deshabilitado, lo que dejaba funcionales las canalizaciones de 12 píxeles. Esencialmente, el X800 Pro se basa en núcleos R420 semidefectuosos. También se lanzó un X800 Pro VIVO (Video-in-Video-out) y fue popular entre los overclockers porque el quad deshabilitado generalmente se podía habilitar, lo que resultó en un X800 XT PE completamente funcional a un costo menor.
La serie Radeon X700 (RV410) reemplazó a la X600 en septiembre de 2004. X700 Pro tiene un núcleo de 425 MHz y producido en un proceso de 0,11 micrómetros. RV410 usó un diseño que constaba de canalizaciones de 8 píxeles conectadas a 4 ROP (similares a GeForce 6 600) mientras mantenía los 6 sombreadores de vértices de X800. el 110 nm fue un proceso de reducción de costos, diseñado no para altas velocidades de reloj, sino para reducir el tamaño del troquel y mantener altos rendimientos. Se planeó la producción de un X700 XT y varios sitios web de hardware lo revisaron, pero nunca se lanzó. Se creía que X700 XT establecía un techo de reloj demasiado alto para que ATI lo produjera de manera rentable. La X700 XT tampoco fue suficientemente competitiva con la impresionante GeForce 6 600GT de nVidia. ATI continuaría produciendo una tarjeta en la serie X800 para competir en su lugar.
La serie de 110 nanómetros basada en Radeon X800 "R430" se presentó a fines de 2004 junto con las nuevas tarjetas X850 de ATI. El X800 fue diseñado para reemplazar la posición que X700 XT no pudo asegurar, con 12 canalizaciones y un bus RAM de 256 bits. La tarjeta superó con creces a la 6600GT con un rendimiento similar al de la GeForce 6 800. Un pariente cercano, el nuevo X800 XL, se posicionó para destronar a la GeForce 6800 GT de NVIDIA con velocidades de memoria más altas y 16 canales completos para aumentar el rendimiento. R430 no pudo alcanzar altas velocidades de reloj, ya que se diseñó principalmente para reducir el costo por GPU, por lo que aún se necesitaba un nuevo núcleo de primera línea. La nueva generación R4x0 de gama alta llegó con la serie X850, equipada con varios ajustes básicos para un rendimiento ligeramente superior al de la serie X800 basada en "R420". La línea X850 basada en "R480" estaba disponible en 3 formas: la X850 Pro, la X850 XT y la X850 XT Platinum Edition, y se basó en el proceso confiable Low-K de 130 nm de alto rendimiento.
En 2005, ATI tenía una gran cantidad de troqueles que "funcionaban" pero no lo suficientemente bien como para usarse en las tarjetas de la serie X800 o X850. Así que se creó un nuevo SKU, el X800 GT. Usó cualquier troquel "R480" X850 o troquel "R430" X800 XL que tuviera 2 quads funcionales y pudiera funcionar a 475 MHz. Estaban destinados a competir con la GeForce 6600GT junto con la anterior X800 basada en "R430". ATI también lanzó el X800 GTO, que era una tarjeta de 12 conductos (3 quads) que usaba troqueles "R480" o "R430" con una frecuencia de 400 MHz. Esta tarjeta funcionó entre el X800 GT y el X800 XL. Era más rápida que la GeForce 6 800 normal, pero más lenta que la GeForce 6800 GT. Las altas ventas de esta tarjeta se debieron a su rendimiento relativamente alto junto con un costo ligeramente superior al de la X800 GT. La comunidad de overclocking descubrió que el GTO basado en R480 con frecuencia podía alcanzar velocidades de reloj cercanas al X850 XT.
Finalmente, otro SKU fue el X800 GTO², de nuevo basado en el R480. Fue nuevamente fabricado por Sapphire Technology, al igual que el X800 GTO. Esta tarjeta generalmente venía con una configuración de 3 quad, como X800 GTO. El GTO² era único en la serie GTx porque, con un cambio de BIOS, casi siempre se podía convertir en una tarjeta cuádruple completa de 4. Algunas tarjetas X800 GTO² se enviaron con los 4 quads completos ya habilitados, pero algunas de ellas eran R430 en lugar de R480 y no pudieron alcanzar velocidades de reloj similares a las de X850. Las variaciones finales de la serie GTO fueron las placas GTO especiales con 16 canales habilitados oficialmente, como el X800 GTO-16 basado en "R430" de Powercolor.