# Radeon 9000

A GPU R300, lançada em agosto de 2002 e desenvolvida pela ATI Technologies, é a terceira geração de GPU usada nas placas gráficas Radeon. Esta GPU apresenta aceleração 3D baseada em Direct3D 9.0 e OpenGL 2.0, uma grande melhoria em recursos e desempenho em comparação com o design R200 anterior. O R300 foi o primeiro chip gráfico de consumidor totalmente compatível com Direct3D 9. Os processadores também incluem aceleração de GUI 2D, aceleração de vídeo e várias saídas de exibição.
As primeiras placas gráficas usando o R300 a serem lançadas foram a Radeon 9700. Foi a primeira vez que a ATI comercializou sua GPU como uma Unidade de Processamento Visual (VPU). O R300 e seus derivados formariam a base das linhas de produtos profissionais e de consumo da ATI por mais de 3 anos.

## Tabela de recursos Radeon

A tabela a seguir mostra os recursos das GPUs da AMD / ATI (consulte também: Lista de unidades de processamento gráfico da AMD).
* ver
* discutir
| Nome da série de GPUs | Wonder | Mach | 3D Rage | Rage Pro | Rage 128 | R100 | R200 | R300 | R400 | R500 | R600 | RV670 | R700 | Evergreen | Northern Islands | Southern Islands | Sea Islands | Volcanic Islands | Arctic Islands/Polaris | Vega | Navi 1x | Navi 2x | Navi 3x |
| Lançamento | 1986 | 1991 | Abril 1996 | Março 1997 | Agosto 1998 | Abril 2000 | Agosto 2001 | Setembro 2002 | Maio 2004 | Outubro 2005 | Maio 2007 | Novembro 2007 | Junho 2008 | Setembro 2009 | Outubro 2010 | Janeiro 2012 | Setembro 2013 | Junho 2015 | Junho 2016, Abril 2017, Agosto 2019 | Junho 2017, Fevereiro 2019 | Julho 2019 | Novembro 2020 | Dezembro 2022 |
| Nome de marketing | Wonder | Mach | 3D Rage | Rage Pro | Rage 128 | Radeon 7000 | Radeon 8000 | Radeon 9000 | Radeon X700/X800 | Radeon X1000 | Radeon HD 2000 | Radeon HD 3000 | Radeon HD 4000 | Radeon HD 5000 | Radeon HD 6000 | Radeon HD 7000 | Radeon 200 | Radeon 300 | Radeon 400/500/600 | Radeon RX Vega, Radeon VII | Radeon RX 5000 | Radeon RX 6000 | Radeon RX 7000 |
| Suporte AMD | Terminou | Terminou | Terminou | Terminou | Terminou | Terminou | Terminou | Terminou | Terminou | Terminou | Terminou | Terminou | Terminou | Terminou | Terminou | Terminou | Terminou | Terminou | | | | | |
| Tipo | 2D | 2D | 3D | 3D | 3D | 3D | 3D | 3D | 3D | 3D | 3D | 3D | 3D | 3D | 3D | 3D | 3D | 3D | 3D | 3D | 3D | 3D | 3D |
| Conjunto de instruções | Não conhecido publicamente | Não conhecido publicamente | Não conhecido publicamente | Não conhecido publicamente | Não conhecido publicamente | Não conhecido publicamente | Não conhecido publicamente | Não conhecido publicamente | Não conhecido publicamente | Não conhecido publicamente | Conjunto de instruções TeraScale | Conjunto de instruções TeraScale | Conjunto de instruções TeraScale | Conjunto de instruções TeraScale | Conjunto de instruções TeraScale | Conjunto de instruções GCN | Conjunto de instruções GCN | Conjunto de instruções GCN | Conjunto de instruções GCN | Conjunto de instruções GCN | Conjunto de instruções RDNA | Conjunto de instruções RDNA | Conjunto de instruções RDNA |
| Microarquitetura | Não conhecido publicamente | Não conhecido publicamente | Não conhecido publicamente | Não conhecido publicamente | Não conhecido publicamente | Não conhecido publicamente | Não conhecido publicamente | Não conhecido publicamente | Não conhecido publicamente | Não conhecido publicamente | TeraScale 1 (VLIW) | TeraScale 1 (VLIW) | TeraScale 1 (VLIW) | TeraScale 2 (VLIW5) | TeraScale 2 (VLIW5) até 68xxTeraScale 3 (VLIW4) em 69xx | GCN 1st gen | GCN 2nd gen | GCN 3rd gen | GCN 4th gen | GCN 5th gen | RDNA | RDNA 2 | RDNA 3 |
| Tipo | Pipieline fixo | Pipieline fixo | Pipieline fixo | Pipieline fixo | Pipieline fixo | Pipieline fixo | Pipelies de pixel e vértice programáveis | Pipelies de pixel e vértice programáveis | Pipelies de pixel e vértice programáveis | Pipelies de pixel e vértice programáveis | Modelo de shader unificado | Modelo de shader unificado | Modelo de shader unificado | Modelo de shader unificado | Modelo de shader unificado | Modelo de shader unificado | Modelo de shader unificado | Modelo de shader unificado | Modelo de shader unificado | Modelo de shader unificado | Modelo de shader unificado | Modelo de shader unificado | Modelo de shader unificado |
| Direct3D | — | — | 5.0 | 6.0 | 6.0 | 7.0 | 8.1 | 9.0 11 (9_2) | 9.0b 11 (9_2) | 9.0c 11 (9_3) | 10.0 11 (10_0) | 10.1 11 (10_1) | 10.1 11 (10_1) | 11 (11_0) | 11 (11_0) | 11 (11_1) 12 (11_1) | 11 (12_0) 12 (12_0) | 11 (12_0) 12 (12_0) | 11 (12_0) 12 (12_0) | 11 (12_1) 12 (12_1) | 11 (12_1) 12 (12_1) | 11 (12_1) 12 (12_2) | 11 (12_1) 12 (12_2) |
| Modelo de shader | — | — | — | — | — | — | 1.4 | 2.0+ | 2.0b | 3.0 | 4.0 | 4.1 | 4.1 | 5.0 | 5.0 | 5.1 | 5.1 6.5 | 5.1 6.5 | 5.1 6.5 | 6.7 | 6.7 | 6.7 | 6.7 |
| OpenGL | — | — | — | 1.1 | 1.2 | 1.3 | 1.3 | 2.1 | 2.1 | 2.1 | 3.3 | 3.3 | 3.3 | 4.5 (no Linux: 4.5 (Mesa 3D 21.0)) | 4.5 (no Linux: 4.5 (Mesa 3D 21.0)) | 4.6 (no Linux: 4.6 (Mesa 3D 20.0)) | 4.6 (no Linux: 4.6 (Mesa 3D 20.0)) | 4.6 (no Linux: 4.6 (Mesa 3D 20.0)) | 4.6 (no Linux: 4.6 (Mesa 3D 20.0)) | 4.6 (no Linux: 4.6 (Mesa 3D 20.0)) | 4.6 (no Linux: 4.6 (Mesa 3D 20.0)) | 4.6 (no Linux: 4.6 (Mesa 3D 20.0)) | 4.6 (no Linux: 4.6 (Mesa 3D 20.0)) |
| Vulkan | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 1.0 (Win 7+ ou Mesa 17+) | 1.2 (Adrenalin 20.1.2, Linux Mesa 3D 20.0) 1.3 (GCN 4 e superior (com Adrenalin 22.1.2, Mesa 22.0)) | 1.2 (Adrenalin 20.1.2, Linux Mesa 3D 20.0) 1.3 (GCN 4 e superior (com Adrenalin 22.1.2, Mesa 22.0)) | 1.2 (Adrenalin 20.1.2, Linux Mesa 3D 20.0) 1.3 (GCN 4 e superior (com Adrenalin 22.1.2, Mesa 22.0)) | 1.2 (Adrenalin 20.1.2, Linux Mesa 3D 20.0) 1.3 (GCN 4 e superior (com Adrenalin 22.1.2, Mesa 22.0)) | 1.2 (Adrenalin 20.1.2, Linux Mesa 3D 20.0) 1.3 (GCN 4 e superior (com Adrenalin 22.1.2, Mesa 22.0)) | 1.2 (Adrenalin 20.1.2, Linux Mesa 3D 20.0) 1.3 (GCN 4 e superior (com Adrenalin 22.1.2, Mesa 22.0)) | 1.3 |
| OpenCL | — | — | — | — | — | — | — | — | — | — | Close to Metal | Close to Metal | 1.1 (sem suporte Mesa 3D) | 1.2 (no Linux: 1.1 (sem suporte de imagem) com Mesa 3D) | 1.2 (no Linux: 1.1 (sem suporte de imagem) com Mesa 3D) | 1.2 (no Linux: 1.1 (sem suporte de imagem) com Mesa 3D) | 2.0 (Adrenalin driver no Win7+) (no Linux: 1.1 (sem suporte de imagem) com Mesa 3D, 2.0 com drivers AMD ou AMD ROCm) | 2.0 (Adrenalin driver no Win7+) (no Linux: 1.1 (sem suporte de imagem) com Mesa 3D, 2.0 com drivers AMD ou AMD ROCm) | 2.0 (Adrenalin driver no Win7+) (no Linux: 1.1 (sem suporte de imagem) com Mesa 3D, 2.0 com drivers AMD ou AMD ROCm) | 2.0 (Adrenalin driver no Win7+) (no Linux: 1.1 (sem suporte de imagem) com Mesa 3D, 2.0 com drivers AMD ou AMD ROCm) | 2.0 | 2.1 | ? |
| HSA / ROCm | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | | | | | | ? | ? | ? |
| Decodificação de vídeo ASIC | — | — | — | — | — | — | — | — | — | — | Avivo/UVD | UVD+ | UVD 2 | UVD 2.2 | UVD 3 | UVD 4 | UVD 4.2 | UVD 5.0 ou 6.0 | UVD 6.3 | UVD 7 | VCN 2.0 | VCN 3.0 | ? |
| Codificação de vídeo ASIC | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | VCE 1.0 | VCE 2.0 | VCE 3.0 or 3.1 | VCE 3.4 | VCE 4.0 | VCN 2.0 | VCN 3.0 | ? |
| Fluid Motion ASIC | Não | Não | Não | Não | Não | Não | Não | Não | Não | Não | Não | Não | Não | Não | Não | Não | | | | | Não | Não | ? |
| Economia de energia | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | PowerPlay | PowerPlay | PowerPlay | PowerPlay | PowerTune | PowerTune & ZeroCore Power | PowerTune & ZeroCore Power | PowerTune & ZeroCore Power | PowerTune & ZeroCore Power | PowerTune & ZeroCore Power | ? | ? | ? |
| TrueAudio | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | Através de DSP dedicado | Através de DSP dedicado | Através de shaders | Através de shaders | Através de shaders | ? | ? |
| FreeSync | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 1 2 | 1 2 | 1 2 | 1 2 | 1 2 | 1 2 | ? |
| HDCP | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | 1.4 | 1.4 | 2.2 | 2.2 | 2.3 | 2.3 | 2.3 |
| PlayReady | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | 3.0 | Não | 3.0 | ? | ? |
| Exibições suportadas | | | | | | 1–2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2–6 | 2–6 | 2–6 | 2–6 | 2–6 | 2–6 | 2–6 | ? | ? | ? |
| Máx. resolução | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | 2–6 × 2560×1600 | 2–6 × 2560×1600 | 2–6 × 4096×2160 @ 30 Hz | 2–6 × 4096×2160 @ 30 Hz | 2–6 × 4096×2160 @ 30 Hz | 2–6 × 5120×2880 @ 60 Hz | 3 × 7680×4320 @ 60 Hz | 7680×4320 @ 60 Hz PowerColor | 7680×4320 @ 60 Hz PowerColor | ? |
| /drm/radeon | | | | | | | | | | | | | | | | | | — | — | — | — | — | ? |
| /drm/amdgpu | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | Não Experimental | Não Experimental | | | | | | ? |
* ↑ A série Radeon 100 possui sombreadores de pixel programáveis, mas não é totalmente compatível com DirectX 8 ou Pixel Shader 1.0. Veja o artigo sobre Pixel shaders do R100.
* ↑ Os cartões baseados em R300, R400 e R500 não são totalmente compatíveis com OpenGL 2+, pois o hardware não oferece suporte a todos os tipos de texturas não-potência de dois (NPOT).
* ↑ A conformidade com OpenGL 4+ requer suporte a shaders FP64 e estes são emulados em alguns chips TeraScale usando hardware de 32 bits.
* 1 2 3 O UVD e o VCE foram substituídos pelo Video Core Next (VCN) ASIC na APU Raven Ridge do Vega.
* ↑ Processamento de vídeo ASIC para técnica de interpolação de taxa de quadros de vídeo. No Windows funciona como um filtro DirectShow no seu player. No Linux, não há suporte por parte dos drivers e/ou da comunidade.
* 1 2 Para reproduzir conteúdo de vídeo protegido, também é necessário suporte a cartão, sistema operacional, driver e aplicativo. Um monitor HDCP compatível também é necessário para isso. O HDCP é obrigatório para a saída de certos formatos de áudio, colocando restrições adicionais na configuração de multimídia.
* ↑ Mais monitores podem ser suportados com conexões DisplayPort nativas ou dividindo a resolução máxima entre vários monitores com conversores ativos.
* 1 2 DRM (Direct Rendering Manager) é um componente do kernel do Linux. AMDgpu é o módulo do kernel do Linux. O suporte nesta tabela refere-se à versão mais atual.

## Radeon R200 (9xxx)
### AGP (9xxx)

* Todos os modelos são fabricados com um processo de fabricação de 150 nm
* Todos os modelos incluem DirectX 8.1 e OpenGL 1.4
| Modelo | Laçamento | Nome de código | Interface de Barramento | Memória (MiB) | Clock do núcleo (MHz) | Clock da memória (MHz) | Config core$^1$ | Taxa da preenchimento | Taxa da preenchimento | Taxa da preenchimento | Taxa da preenchimento | Memória | Memória | Memória |
| Modelo | Laçamento | Nome de código | Interface de Barramento | Memória (MiB) | Clock do núcleo (MHz) | Clock da memória (MHz) | Config core$^1$ | MOperations/s | MPixels/s | MTexels/s | MVertices/s | Largura de banda (GB/s) | Tipo de barramento | Largura do barramento (bit) |
| Radeon 9000 | 1 de agosto de 2002 | RV250 (iris) | AGP 4x | 64, 128 | 200 | 500 | 4:1:4:4 | 800 | 800 | 800 | 50 | 8 | DDR | 128 |
| Radeon 9000 Pro | 1 de agosto de 2002 | RV250 (iris) | AGP 4x | 64, 128 | 275 | 550 | 4:1:4:4 | 1100 | 1100 | 1100 | 68.75 | 8.8 | DDR | 128 |
| Radeon 9100 | 2003 | R200 (chaplin) | AGP 4x / PCI | 64, 128 | 250 | 500 | 4:2:8:4 | 1000 | 1000 | 2000 | 125 | 8.0 | DDR | 128 |
| Radeon 9200 | 1 de abril de 2003 | RV280 (argus) | AGP 8x PCI | 64, 128, 256 | 250 | 400 | 4:1:4:4 | 1000 | 1000 | 1000 | 62.5 | 6.4 | DDR | 128 |
| Radeon 9200 SE | Julho de 2003 | RV280 (argus) | AGP 8x PCI | 64, 128, 256 | 200 | 333 | 4:1:4:4 | 800 | 800 | 800 | 50 | 2.67 | DDR | 64 |
| Radeon 9250 | Julho de 2004 | RV280 (argus) | PCI, AGP 8x | 64, 128, 256 | 240 | 400 | 4:1:4:4 | 960 | 960 | 960 | 60 | 6.4 | DDR | 128 |
* $^1$ Pixel shaders: Vertex shaders: Unidades de mapeamento de textura: Unidades de saída de renderização

### IGP (9xxx)

* Todos os modelos são fabricados com um processo de fabricação de 150 nm
* Todos os modelos incluem DirectX 8.1 e OpenGL 1.4
* Baseado na Radeon 9200
| Modelo | Laçamento | Nome de código | Interface de Barramento | Memória (MiB) | Clock do núcleo (MHz) | Clock da memória (MHz) | Config core$^1$ | Taxa da preenchimento | Taxa da preenchimento | Taxa da preenchimento | Taxa da preenchimento | Memória | Memória | Memória |
| Modelo | Laçamento | Nome de código | Interface de Barramento | Memória (MiB) | Clock do núcleo (MHz) | Clock da memória (MHz) | Config core$^1$ | MOperations/s | MPixels/s | MTexels/s | MVertices/s | Largura de banda (GB/s) | Tipo de barramento | Largura do barramento (bit) |
| Radeon 9000 | 2003 | RC350 | FSB | 16-128 | 300 | 400 | 4:1:2:2 | 600 | 600 | 600 | 0 | 3.2 | DDR | 64 |
| Radeon 9100 | 2003 | RS300 (superman) | FSB | 16-128 | 300 | 400 | 4:1:2:2 | 600 | 600 | 600 | 0 | 6.4 | DDR | 128 |
| Radeon 9100 Pro | 3 de maio de 2004 | RS350 | FSB | 16-128 | 300 | 400 | 4:1:2:2 | 600 | 600 | 600 | 0 | 6.4 | DDR | 128 |
* $^1$ Pixel shaders: Vertex shaders: Unidades de mapeamento de textura: Unidades de saída de renderização

## Radeon R300
### AGP (9xxx)

* Todos os modelos incluem DirectX 9.0 e OpenGL 2.0
| Modelo | Laçamento | Nome de código | Fab (nm) | Interface de Barramento | Memória (MiB) | Clock do núcleo (MHz) | Clock da memória (MHz) | Config core$^1$ | Taxa da preenchimento | Taxa da preenchimento | Taxa da preenchimento | Taxa da preenchimento | Memória | Memória | Memória |
| Modelo | Laçamento | Nome de código | Fab (nm) | Interface de Barramento | Memória (MiB) | Clock do núcleo (MHz) | Clock da memória (MHz) | Config core$^1$ | MOperations/s | MPixels/s | MTexels/s | MVertices/s | Largura de banda (GB/s) | Tipo de barramento | Largura do barramento (bit) |
| Radeon 9500 | 24 de outubro de 2002 | R300 (khan) | 150 | AGP 8x | 64, 128 | 275 | 540 | 4:4:4:8 | 1100 | 2200 | 1100 | 275 | 8.64 | DDR | 128 |
| Radeon 9500 Pro | 24 de outubro de 2002 | R300 (khan) | 150 | AGP 8x | 128 | 275 | 540 | 8:4:8:8 | 2200 | 2200 | 2200 | 275 | 8.64 | DDR | 128 |
| Radeon 9550 | 2004 | RV350 (shivah) | 130 | AGP 8x | 64, 128, 256 | 250 | 400 | 4:2:4:4 | 1000 | 1000 | 1000 | 125 | 6.4 | DDR | 128 |
| Radeon 9550 SE | 2004 | RV350 (shivah) | 130 | AGP 8x | 64, 128, 256 | 250 | 400 | 4:2:4:4 | 1000 | 1000 | 1000 | 125 | 3.2 | DDR | 64 |
| Radeon 9600 | 2003 | RV350 (shivah) | 130 | AGP 8x | 128, 256 | 325 | 400 | 4:2:4:4 | 1300 | 1300 | 1300 | 162.5 | 6.4 | DDR | 128 |
| Radeon 9600 Pro | 2003 | RV350 (shivah) | 130 | AGP 8x | 128, 256 | 400 | 600 | 4:2:4:4 | 1600 | 1600 | 1600 | 200 | 9.6 | DDR | 128 |
| Radeon 9600 SE | 2003 | RV350 (shivah) | 130 | AGP 8x | 64, 128, 256 | 325 | 400 | 4:2:4:4 | 1300 | 1300 | 1300 | 162.5 | 3.2 | DDR | 64 |
| Radeon 9600 XT | 30 de setembro de 2003 | RV360 | 130 | AGP 8x | 128, 256 | 500 | 600 | 4:2:4:4 | 2000 | 2000 | 2000 | 250 | 9.6 | DDR | 128 |
| Radeon 9700 | 24 de outubro de 2002 | R300 (khan) | 150 | AGP 8x | 128 | 275 | 540 | 8:4:8:8 | 2000 | 2000 | 2000 | 275 | 17.28 | DDR | 256 |
| Radeon 9700 Pro | 18 de julho de 2002 | R300 (khan) | 150 | AGP 8x | 128 | 325 | 620 | 8:4:8:8 | 2600 | 2600 | 2600 | 325 | 19.84 | DDR | 256 |
| Radeon 9800 | 2003 | R350 | 150 | AGP 8x | 128 | 325 | 620 | 8:4:8:8 | 2600 | 2600 | 2600 | 325 | 19.84 | DDR | 256 |
| Radeon 9800 XL | 2003 | R350 | 150 | AGP 8x | 128 | 350 | 620 | 8:4:8:8 | 2800 | 2800 | 2800 | 350 | 19.84 | DDR | 256 |
| Radeon 9800 Pro | 2003 | R350, R360 | 150 | AGP 8x | 128, 256 | 380 | 680, 700 | 8:4:8:8 | 3040 | 3040 | 3040 | 380 | 21.76, 22.40 | DDR, DDR2 | 256 |
| Radeon 9800 SE | N/A | R350 | 150 | AGP 8x | 128, 256 | 325, 380$^[$ | 540, 680$^[$ | 4:4:4:8 | 1300, 1520$^[$ | 2600, 3040$^[$ | 1300, 1520$^[$ | 325, 380$^[$ | 8.64, 21.76$^[$ | DDR | 128, 256$^2$$^[$ |
| Radeon 9800 XT | 9 de setembro de 2003 | R360 | 150 | AGP 8x | 256 | 412 | 730 | 8:4:8:8 | 3296 | 3296 | 3296 | 412 | 23.36 | DDR | 256 |
* $^1$ Pixel shaders: Vertex shaders: Unidades de mapeamento de textura: Unidades de saída de renderização
* $^2$ A versão de 256 bits do 9800 SE quando desbloqueada para pipelines de 8 pixels com modificações de driver de terceiros deve funcionar perto de um 9800 Pro completo.

## Desenvolvimento

A ATI manteve a liderança por um tempo com a Radeon 8500, mas a NVIDIA retomou a coroa de desempenho com o lançamento da linha GeForce 4 Ti. Uma nova parte de atualização de ponta, o 8500XT (R250) estava supostamente em andamento, pronto para competir com as ofertas de ponta da NVIDIA, particularmente a linha superior Ti 4600. As informações de pré-lançamento listavam um núcleo de 300 MHz e velocidade do clock da RAM para o chip R250. A ATI, talvez ciente do que aconteceu com 3dfx quando eles tiraram o foco de seu processador Rampage, o abandonaram em favor de finalizar sua placa R300 de próxima geração. Isso provou ser uma jogada inteligente, pois permitiu que a ATI assumisse a liderança no desenvolvimento pela primeira vez, em vez de ficar atrás da NVIDIA. O R300, com sua arquitetura de última geração, oferecendo recursos e desempenho sem precedentes, teria sido superior a qualquer atualização do R250.
O chip R3xx foi projetado pela equipe da costa oeste da ATI (anteriormente ArtX Inc.), e o primeiro produto a usá-lo foi o Radeon 9700 PRO (codinome interno da ATI: R300; codinome interno do ArtX: Khan), lançado em agosto de 2002. A arquitetura do R300 era bem diferente de seu antecessor, Radeon 8500 (R200), em quase todos os aspectos. O núcleo do 9700 PRO foi fabricado em um processo de fabricação de chip de 150 nm, semelhante ao Radeon 8500. No entanto, design refinado e técnicas de fabricação permitiram dobrar a contagem de transistores e um ganho significativo de velocidade de clock.
Uma grande mudança com a fabricação do núcleo foi o uso da embalagem flip-chip, tecnologia não utilizada anteriormente em placas de vídeo. A embalagem flip chip permite um resfriamento muito melhor da matriz, virando-a e expondo-a diretamente à solução de resfriamento. A ATI, portanto, poderia atingir velocidades de clock mais altas. A Radeon 9700 PRO foi lançada com clock de 325 MHz, à frente dos 300 MHz originalmente projetados. Com uma contagem de transistores de 110 milhões, era a maior e mais complexa GPU da época. Um chip mais lento, o 9700, foi lançado alguns meses depois, diferindo apenas pela menor velocidade de núcleo e memória. Apesar disso, o Radeon 9700 PRO foi significativamente mais rápido do que o Matrox Parhelia 512, placa lançada poucos meses antes do R300 e considerada o ápice da fabricação de chips gráficos (com 80 milhões de transistores a 220 MHz), até a chegada do R300.

### Arquitetura

O chip adotou uma arquitetura composta por 8 pipelines de pixel, cada um com 1 unidade de mapeamento de textura (um design 8x1). Embora isso fosse diferente dos chips mais antigos que usavam 2 (ou 3 para o Radeon original) unidades de textura por pipeline, isso não significava que o R300 não pudesse realizar multitexturização tão eficientemente quanto os chips mais antigos. Suas unidades de textura podiam realizar uma nova operação de loopback que lhes permitia amostrar até 16 texturas por passagem de geometria. As texturas podem ser qualquer combinação de uma, duas ou três dimensões com filtragem bilinear, trilinear ou anisotrópica. Isso fazia parte da nova especificação do DirectX 9, junto com o Shader Model 2.0+ baseado em ponto flutuante mais flexível sombreadores de pixel e sombreadores de vértice. Equipado com 4 unidades de shader de vértice, o R300 possuía mais do que o dobro da capacidade de processamento de geometria do Radeon 8500 e GeForce 4 Ti 4600 anteriores, além do maior conjunto de recursos oferecido em comparação aos shaders DirectX 8.
A ATI demonstrou parte do qu era capaz com o pixel shader PS2.0 com sua demonstração Renderind with Natural Light. A demonstração foi uma implementação em renderizaçãode alta faixa dinâmica. Uma limitação digna de nota é que todos os chips da geração R300 foram projetados para um máximo de precisão de ponto flutuante de 96 bits, ou FP24, em vez do máximo de 128 bits do DirectX 9 FP32. O DirectX 9.0 especificou FP24 como um nível mínimo para conformidade com a especificação de precisão total. Essa troca de precisão oferecia a melhor combinação de uso de transistor e qualidade de imagem para o processo de fabricação da época. Isso causou uma perda de qualidade geralmente visivelmente imperceptível ao fazer uma mistura pesada. Os chips Radeon da ATI não ultrapassaram o FP24 até R520.
A R300 foi a primeira placa a realmente tirar proveito de um barramento de memória de 256 bits. A Matrox havia lançado sua Parhelia 512 vários meses antes, mas esta placa não apresentou grandes ganhos com seu barramento de 256 bits. A ATI, no entanto, não apenas dobrou seu barramento para 256 bits, mas também integrou um controlador de memória crossbar avançado, um pouco semelhante à tecnologia de memória da NVIDIA. Utilizando quatro controladores de memória de 64 bits com balanceamento de carga individual, a implementação de memória da ATI foi bastante capaz de alcançar alta eficiência de largura de banda mantendo granularidade adequada de transações de memória e, assim, contornando as limitações de latência de memória. O "R300" também recebeu o mais recente refinamento da inovadora tecnologia de economia de largura de banda e taxa de preenchimento HyperZ da ATI, HiperZ III. As demandas da arquitetura 8x1 exigiam mais largura de banda do que os projetos de barramento de 128 bits da geração anterior devido ao dobro da textura e taxa de preenchimento de pixel.
A Radeon 9700 introduziu o esquema anti-aliasing com correção de gama multiamostra da ATI. O chip oferecia amostragem esparsa em modos incluindo 2×, 4× e 6×. A amostragem múltipla oferecia um desempenho muito superior ao método de superamostragem em Radeons mais antigos e qualidade de imagem superior em comparação com as ofertas da NVIDIA na época. O anti-aliasing foi, pela primeira vez, uma opção totalmente utilizável mesmo nos títulos mais novos e exigentes da época. O R300 também oferecia filtragem anisotrópica avançada, que incorria em um desempenho muito menor do que a solução anisotrópica da GeForce4 e de outras placas concorrentes, enquanto oferecia qualidade significativamente melhorada em relação à implementação da filtragem anisotrópica do Radeon 8500, que era altamente dependente do ângulo.
Em 14 de março de 2008, a AMD lançou o 3D Register Reference para R3xx.

### Desempenho

A arquitetura avançada da Radeon 9700 era muito eficiente e, é claro, mais poderosa em comparação com seus pares mais antigos de 2002. Em condições normais, ela supera a GeForce 4 Ti 4600, a placa topo de linha anterior, em 15–20%. No entanto, quando o anti-aliasing (AA) e/ou a filtragem anisotrópica (AF) foram ativados, ele superaria o Ti 4600 em algo entre 40 e 100%. Na época, isso foi bastante surpreendente e resultou na ampla aceitação de AA e AF como recursos críticos e verdadeiramente utilizáveis.
Além da arquitetura avançada, os revisores também observaram a mudança de estratégia da ATI. O 9700 seria o segundo dos chips da ATI (depois do 8500) a ser enviado para fabricantes terceirizados, em vez da ATI produzir todas as suas placas gráficas, embora a ATI ainda produzisse placas com seus chips de última geração. Isso liberou recursos de engenharia que foram canalizados para melhorias no driver, e o 9700 teve um desempenho fenomenal no lançamento por causa disso. O diretor técnico da id Software, John Carmack, fez com que a Radeon 9700 executasse a demonstração de Doom 3, da E3.
Os aumentos de desempenho e qualidade oferecidos pela GPU R300 são considerados um dos maiores da história dos gráficos 3D, ao lado das conquistas GeForce 256 e Voodoo Graphics. Além disso, a resposta da NVIDIA na forma da GeForce FX 5800 foi tardia para o mercado e pouco impressionante, especialmente quando o sombreamento de pixel foi usado. O R300 se tornaria uma das GPUs com maior vida útil da história, permitindo desempenho jogável em novos jogos pelo menos 3 anos após seu lançamento.

## Outras versões

Alguns meses depois, a 9500 e a 9500 PRO foram lançadas. A 9500 PRO tinha metade da largura do barramento de memória da 9700 PRO, e a 9500 também estava faltando (desativado) metade das unidades de processamento de pixel e a unidade hierárquica de otimização de buffer Z (parte do HyperZ III). Com seus 8 pipelines completos e arquitetura eficiente, a 9500 PRO superou todos os produtos da NVIDIA (exceto a Ti 4600). Enquanto isso, a 9500 também se tornou popular porque em alguns casos poderia ser modificado para a muito mais poderosa 9700. A ATI pretendia apenas que a série 9500 fosse uma solução temporária para preencher a lacuna para a temporada de Natal de 2002, antes do lançamento do 9600. Como todos os chips R300 eram baseados na mesma matriz física, as margens da ATI em 9500 produtos eram baixas. Radeon 9500 foi um dos produtos de vida mais curta da ATI, posteriormente substituída pela série Radeon 9600. O logotipo e o pacote de caixa da 9500 foram ressuscitados em 2004 para comercializar a Radeon 9550 não relacionada e mais lenta (que é um derivado da 9600).

### Atualização

No início de 2003, as placas 9700 foram substituídas pelas 9800 (ou, R350). Estes eram R300s com velocidades de clock mais altas e melhorias nas unidades de sombreamento e controlador de memória que aprimoravam o desempenho anti-aliasing. Eles foram projetados para manter a liderança em desempenho sobre a recém-lançada GeForce FX 5800 Ultra, o que conseguiu fazer sem dificuldade. A 9800 ainda se manteve contra a FX 5900 revisada, principalmente (e significativamente) em tarefas envolvendo sombreamento pesado de pixel SM2.0. Outro ponto de venda para a 9800 era que ela ainda era uma placa de slot único, em comparação com os requisitos de slot duplo da FX 5800 e da FX 5900. Uma versão posterior da 9800 Pro com 256 MiB de memória usava GDDR2. As outras duas variantes eram a 9800, que era simplesmente uma 9800 Pro com clock mais baixo, e a 9800 SE, que tinha metade das unidades de processamento de pixel desabilitadas (às vezes podia ser habilitada novamente). As especificações oficiais da ATI determinam um barramento de memória de 256 bits para a 9800 SE, mas a maioria das fabricantes usava um barramento de 128 bits. Normalmente, a 9800 SE com barramento de memória de 256 bits era chamada de "9800 SE Ultra" ou "9800 SE Golden Version".
Juntamente com a 9800, a série 9600 (também conhecida como RV350) foi lançada no início de 2003 e, embora a 9600 PRO não superasse a 9500 PRO que deveria substituir, era muito mais econômico para a ATI produzir por meio de um Processo de 130 nm (todas as placas da ATI desde a 7500/8500 eram de 150 nm) e um design simplificado. O núcleo RV350 da Radeon 9600 era basicamente uma 9800 Pro cortado pela metade, com exatamente metade das mesmas unidades funcionais, tornando-a uma arquitetura 4 × 1 com 2 shaders de vértice. Ela também perdeu parte do HyperZ III com a remoção da unidade hierárquica de otimização z-buffer, a mesma da Radeon 9500. Usar um processo de 130 nm também foi bom para aumentar a velocidade do clock do núcleo. A série 9600, todas com clock padrão alto, mostrou ter bastante espaço para overclockers (atingindo mais de 500 MHz, de 400 MHz no modelo Pro). Embora a série 9600 fosse menos poderosa do que a 9500 e 9500 Pro que ela substituiu, ela conseguiu manter a liderança da 9500 sobre a GeForce FX 5600 Ultra da NVIDIA, e foi a resposta econômica da ATI para a placa de desempenho mainstream de longa data, GeForce 4 Ti 4200.
Durante o verão de 2003, a Mobility Radeon 9600 foi lançada, baseada no núcleo RV350. Sendo o primeiro chip para laptop a oferecer sombreadores DirectX 9.0, teve o mesmo sucesso dos Mobility Radeons anteriores. A Mobility Radeon 9600 foi originalmente planejada para usar uma tecnologia RAM chamada GDDR2-M. A empresa que desenvolveu essa memória faliu e a RAM nunca chegou, então a ATI foi forçada a usar SDRAM DDR regular. Sem dúvida haveria economia no uso de energia e talvez ganhos de desempenho com GDDR2-M. No outono de 2004, uma variante um pouco mais rápida, a Mobility Radeon 9700 foi lançada (que ainda era baseada no RV350, e não no R300 mais antigo do desktop Radeon 9700, apesar da semelhança de nomenclatura).
Mais tarde, em 2003, três novas placas foram lançadas: a 9800 XT (R360), a 9600 XT (RV360) e a 9600 SE (RV350). A 9800 XT foi um pouco mais rápido do que a 9800 PRO, enquanto a 9600 XT competiu bem com o recém-lançado GeForce FX 5700 Ultra. O chip RV360 na 9600 XT foi o primeiro chip gráfico da ATI que utilizou a fabricação de chip Low-K e permitiu uma freqüência ainda maior do núcleo 9600 (padrão de 500 MHz). A 9600 SE foi a resposta da ATI para a GeForce FX 5200 Ultra da NVIDIA, conseguindo superar a 5200 enquanto também era mais barato. Outra placa "RV350" surgiu no início de 2004, na Radeon 9550, que era uma Radeon 9600 com um clock de núcleo inferior (embora um clock de memória e largura de barramento idênticos).
Digno de nota em relação à geração baseada em R300 é que toda a linha utilizou soluções de resfriamento de slot único. Não foi até a Radeon X850 XT Platinum Edition da geração R420, em dezembro de 2004, que a ATI adotaria um design oficial de resfriamento de dois slots.