# Xenos (processeur graphique)

Xenos est une unité de traitement graphique (GPU) personnalisée conçue par ATI (rachetée depuis par AMD), utilisée dans la console de jeux vidéo Xbox 360 développée et produite pour Microsoft. Développée sous le nom de code « C1 », elle est à bien des égards liée à l’architecture R520 et donc très similaire à une série de cartes graphiques pour PC Radeon X1800 XT en ce qui concerne les fonctionnalités et les performances. Cependant, les Xenos ont introduit de nouvelles idées de conception qui ont ensuite été adoptées dans la microarchitecture TeraScale, telles que l’architecture de shader unifiée. Le boîtier contient deux puces distinctes, le GPU et une eDRAM (fabriquée par NEC), avec un total de 337 millions de transistors.

## Spécifications

La microarchitecture TeraScale est basée sur cette puce, les unités de shader sont organisées en trois groupes SIMD avec 16 processeurs par groupe, pour un total de 48 processeurs. Chacun de ces processeurs est composé d’une unité vectorielle de largeur cinq (total de 5 ALU FP32), ce qui donne 240 unités de calcul, qui peuvent exécuter en série jusqu’à deux instructions par cycle (une multiplication et une addition). Tous les processeurs d’un groupe SIMD exécutent la même instruction, de sorte qu’au total, jusqu’à trois threads d’instructions peuvent être exécutés simultanément.
* GPU parent à 500 MHz fabriqué selon le procédé 90 nm puis 65 nm (depuis 2008) de TSMC ou le procédé 45 nm de GlobalFoundries (depuis 2010, avec le CPU sur la même puce), avec un total de 232 millions de transistors
** 240 unités vectorielles en virgule flottante pour l'exécution des shaders, divisées en trois groupes de SIMD planifiés dynamiquement de 80 unités chacun
*** Architecture de shader unifié (chaque pipeline est capable de gérer des pixel shaders et des vertex shaders)
*** 10 opérations FP par processeur vectoriel et par cycle (5 fused multiply-add)
*** Nombre maximal de sommets : 1,21 milliards de sommets par seconde
*** Nombre maximal de polygones (en) : ~500 millions de polygones par seconde
*** Nombre maximal d'opérations de shader : 240 milliards d'opérations de shader par seconde (3 pipelines de shader × 80 unités × 2 ALU × 0,5 GHz (500 MHz))
*** 240 GFLOPS
*** Fonction de shader MEMEXPORT
** 16 unités de filtrage de texture (TF) et 16 unités d'adressage de texture (TA)
*** 16 échantillons filtrés par cycle d'horloge
**** Taux de remplissage maximal des pixels : 4,00 gigapixels par seconde
**** Taux de remplissage maximal des texels : 8,00 gigatexels par seconde (16 textures × 500 MHz)
*** 16 échantillons de texture non filtrés par cycle d'horloge
** Nombre maximal d'opérations de produit scalaire : 24 milliards per seconde
** Prise en charge d'un sur-ensemble de DirectX 9.0c, l'API DirectX Xbox 360, et de Shader Model 3.0+
* Framebuffer eDRAM "fille" de 10 Mo à 500 MHz (à 256 Gbit/s) en procédé 90 nm, 80 nm (depuis 2008) ou 65 nm (depuis 2010)
** NEC qui a conçu la puce eDRAM a ajouté de la logique supplémentaire (192 processeurs de pixels parallèles) pour la couleur, l'alpha blending, les tampons Z/stencil et l'anticrénelage appelé « Intelligent Memory », offrant aux développeurs l'anticrénelage à quatre échantillons à un coût de performance très faible.
** Procedural Synthesis Technology (XPS) : lors du flux de lecture dans le CPU, une instruction de prélecture personnalisée, appelée extended data cache block touch (en) (xDCBT) précharge (en) les données directement dans le cache de données L1 du coeur prévu, ce qui évite de placer les données dans le cache L2 pour éviter de surcharger ce cache. Les flux de d'écriture à partir de chaque coeur évitent le cache L1, en raison de son allocation sans écriture (évite d'engorger le cache L1 avec un flux de données transitoire en écriture seule à large bande passante), et vont directement dans le cache L2. Le système permet au GPU de lire directement les données produites par le CPU sans passer par la mémoire principale. Dans ce cas spécifique de flux de données, appelé Xbox procedural synthesis (XPS), le CPU est effectivement un décompresseur de données, générant une géométrie à la volée destinée au coeur GPU 3D.
** 105 millions de transistors
** 8 unités de rendu (ROP)
*** Taux de remplissage maximal des pixels : 16 giga-échantillons par seconde utilisant le 4X multisample anti aliasing (MSAA), ou 32 giga-échantillons par seconde en mode Z seul ; 4 gigapixels par seconde sans MSAA (8 ROP × 500 MHz)
*** Fréquence d'échantillonnage maximale des Z : 8 giga-échantillons par seconde (2 échantillons Z × 8 ROP × 500 MHz), 32 giga-échantillons par seconde utilisant le 4X anti aliasing (2 échantillons Z × 8 ROP × 4X AA × 500 MHz)
*** Fréquence maximale d'échantillonnage de l'anticrénelage : 16 giga-échantillons par seconde (4 échantillons AA × 8 ROP × 500 MHz)
*** Support du filtrage bilinéaire, trilinéaire et anisotrope, de l'Alpha to Coverage, de la tessellation matérielle et du pavage prédit.
* Refroidissement : le GPU et le CPU de la console possèdent tous deux un dissipateur thermique. Le dissipateur du GPU utilise la technologie des caloducs, pour conduire la chaleur du GPU et de la puce eDRAM vers les ailettes du dissipateur. Les dissipateurs thermiques sont refroidis activement par une paire de ventilateurs d'extraction de 60 mm. La nouvelle refonte du chipset XCGPU, qui équipe à la fois la Xbox 360 S et la Xbox 360 E, regroupe le CPU (Xenon) et le GPU (Xenos) dans un seul boîtier et est activement refroidie par un seul dissipateur thermique.