# TeraScale (microarquitectura)

TeraScale és el nom en clau d'una família de microarquitectures d'unitats de processament gràfic desenvolupades per ATI Technologies / AMD i la seva segona microarquitectura que implementa el model d'ombres unificat després de Xenos. TeraScale va substituir les antigues microarquitectures de canonades fixes i va competir directament amb la primera microarquitectura de shader unificada de Nvidia anomenada Tesla.
TeraScale es va utilitzar en HD 2000 fabricat en 80 nm i 65 nm, HD 3000 fabricat en 65 nm i 55 nm, HD 4000 fabricat en 55 nm i 40 nm, HD 5000 i HD 6000 fabricats en 40 nm. TeraScale també es va utilitzar a les unitats de processament accelerat d'AMD amb el nom en codi "Brazos", "Llano", "Trinity" i "Richland". TeraScale fins i tot es troba en algunes de les marques de targetes gràfiques successives.
TeraScale és una arquitectura VLIW SIMD, mentre que Tesla és una arquitectura RISC SIMD, similar al successor de TeraScale Graphics Core Next. TeraScale implementa HyperZ.
Un generador de codi LLVM (és a dir, un back-end del compilador) està disponible per a TeraScale, però sembla que falta a la matriu de LLVM. Per exemple, Mesa 3D en fa ús.

## TeraScale 1 (VLIW)

A SIGGRAPH 08 el desembre de 2008, l'empleat d'AMD, Mike Houston, va descriure algunes de les microarquitectures TeraScale.
A FOSDEM09, Matthias Hopf, del soci tecnològic d'AMD, SUSE Linux, va presentar una diapositiva sobre la programació del controlador de codi obert per a l'R600.

### Shaders unificats

Les arquitectures GPU anteriors implementaven canalitzacions fixes, és a dir, hi havia processadors shader diferents per a cada tipus de shader. TeraScale aprofita molts processadors d'ombres flexibles que es poden programar per processar una varietat de tipus d'ombres, augmentant així significativament el rendiment de la GPU (depenent de la combinació d'instruccions de l'aplicació, tal com s'indica a continuació). El nucli de l'R600 processa els ombrejats de vèrtex, geometria i píxels tal com s'indica a l'especificació Direct3D 10.0 per a Shader Model 4.0, a més del suport complet d'OpenGL 3.0.
Tessel·lació de maquinari
TeraScale inclou múltiples unitats capaços de dur a terme tessel·lació. Són similars a les unitats programables de la GPU Xenos que s'utilitza a la Xbox 360.

## TeraScale 2 (VLIW5)

TeraScale 2 (VLIW5) es va presentar amb les GPU Radeon HD 5000 Series de la generació "Evergreen".
A HPG10, Mark Fowler va presentar el "Evergreen" i va afirmar que, per exemple, 5870 (Cypress), 5770 (Juniper) i 5670 (Redwood) admeten una resolució màxima de 6 vegades 2560 × 1600 píxels, mentre que el 5470 (Cedar) suporta 4 × 2560. 1600 píxels, important per al suport de diversos monitors AMD Eyefinity.
Amb el llançament de Cypress, l'arquitectura del motor gràfic Terascale s'ha actualitzat amb el doble de nuclis de flux, unitats de textura i unitats ROP en comparació amb el RV770. L'arquitectura dels nuclis de flux no ha canviat en gran manera, però afegeix suport per a les capacitats de DirectX 11/DirectCompute 11 amb instruccions noves. També semblant al RV770, quatre unitats de textura estan lligades a 16 nuclis de flux (cadascun té cinc elements de processament, que fan un total de 80 elements de processament). Aquesta combinació de s'anomena nucli SIMD.

## TeraScale 3 (VLIW4)

TeraScale 3 (VLIW4) substitueix els dissenys anteriors de VLIW de 5 vies per un disseny de VLIW de 4 vies. El nou disseny també incorpora una unitat de tessel·lació addicional per millorar el rendiment de Direct3D 11.
TeraScale 3 s'introdueix a les targetes gràfiques de la marca Radeon HD 6900 i també s'implementa a les APU Trinity i Richland.

## Referències

* ↑ Kevin Parrish. «The TeraScale 3 architecture of the HD 6990» (en anglès). Tom's Hardware, 09-03-2011. [Consulta: 8 abril 2015].
* ↑ «Anatomy of AMD's TeraScale Graphics Engine» (en anglès). Arxivat de l'original el 13 juny 2010. [Consulta: 21 novembre 2021].
* ↑ «Feature matrix of the free and open-source "Radeon" graphics device driver» (en anglès). [Consulta: 9 juliol 2014].
* ↑ Stellard, Tom. «[LLVMdev RFC: R600, a new backend for AMD GPUs]» (en anglès), 26-03-2012.
* ↑ «Anatomy of AMD's TeraScale microarchitecture» (en anglès), 12-12-2008. Arxivat de l'original el 24 agost 2014. [Consulta: 6 juliol 2014].
* ↑ «Archived copy» (en anglès). Arxivat de l'original el 9 gener 2016. [Consulta: 17 juliol 2014].
* ↑ «Presenting Radeon HD 5000» (en anglès).
* ↑ «DirectX 11 in the Open: ATI Radeon HD 5870 Review» (en anglès). Arxivat de l'original el 27 setembre 2009.