« Architecture de la Xbox (index)

Architecture de la Xbox

Chapter 3: CPU


Table des matières

  1. Informations techniques
    1. Marque
    2. L'ISA
    3. La Microarchitecture
    4. CISC ou RISC
    5. Le cœur du CPU
  2. P6 et la fin des nombres Pentium
  3. Architecture de la carte mère
  4. Disposition de la mémoire

Le processeur inclus dans cette console est une version légèrement personnalisée du célèbre Intel Pentium III (un CPU standard pour ordinateurs) fonctionnant à 733 MHz. Avec cela, on peut supposer que cette console n'est qu'un PC en coulisses... Je ne vous donnerai pas la réponse, mais je promets qu'à la fin de l'article, vous serez en mesure de parvenir à votre propre conclusion.

Image
Le package Intel Pentium III sur la carte mère de la Xbox.

Quoi qu'il en soit, les Pentiums, ainsi que d'autres lignes de CPU conçus et fabriqués par Intel, étaient incroyablement populaires sur le marché de l'informatique. La part de marché d'Intel était telle qu'ils sont devenus le point de référence par défaut pour la qualité : en tant qu'utilisateur typique, si vous vouliez un bon ordinateur et aviez le budget, vous n'aviez qu'à chercher quelque chose équipé d'un CPU Intel. Nous savons tous maintenant qu'il y a plus de facteurs impliqués, mais c'est ce que les gars du marketing chez Intel ont réussi à projeter.

Informations techniques

Maintenant que nous avons positionné Intel sur la carte, revenons au sujet de cette console. Lors de mes recherches, je m'attendais à trouver de la documentation avec le même niveau de profondeur que d'autres CPUs (MIPS, SuperH, ARM, etc), mais au lieu de cela, je suis tombé sur une quantité excessive de termes marketing qui n'ont fait que détourner ma recherche. Donc, pour cet article, j'ai élaboré une structure pour organiser toutes les informations nécessaires qui aideront à comprendre comment fonctionne ce CPU. De plus, j'essaierai d'introduire certains termes que Intel a utilisé pour marquer ce CPU.

Cela dit, jetons un coup d'œil :

Marque

Image
Comment cette étude est organisée.

Tout d'abord, le CPU de la Xbox est identifié comme un Pentium III. Alors, qu'est-ce que cela signifie ? À l'époque (début des années 2000), la série Pentium représentait la nouvelle génération de CPU. Ils étaient le 'nouveau haut de gamme' qui regroupait toutes les technologies sophistiquées qui rendaient les ordinateurs super rapides, en plus cela aidait les acheteurs à décider quel CPU ils devaient acheter s'ils voulaient le meilleur du meilleur.

Le Pentium III a remplacé le Pentium II, qui à son tour a remplacé le Pentium original. De plus, lorsque le premier Pentium est sorti, il a remplacé le 80486, qui à son tour a remplacé le 80386... Vous avez compris l'idée. Ce qui compte, c'est que 'Pentium' est principalement un nom de marque, il n'est pas directement associé à son fonctionnement interne. Par conséquent, nous devons aller plus loin !

Pour aller plus loin et ne pas se perdre en chemin, j'ai catalogué les informations en trois sections qui, combinées, constituent la puce. La première est l'Architecture de l'ensemble d'instructions ou 'ISA' (le groupe d'instructions utilisé pour commander le CPU), Microarchitecture (comment l'ISA est mise en œuvre en silicium) et le Cœur (quel ensemble de composants sont utilisés pour emballer la microarchitecture pour former le modèle de CPU spécifique).

L'ISA

En effet, une fois que je mentionne 'Intel', il est question de temps avant que je présente le célèbre x86, son ensemble d'instructions.

La première forme de x86 a fait ses débuts avec la sortie de l'Intel 8086 en 1978, un CPU 16 bits. Ensuite, l'ISA a été constamment élargie avec plus d'instructions à mesure que de nouveaux processeurs Intel étaient lancés (80186, 80286 et ainsi de suite) . Par conséquent, le x86 a commencé à se fragmenter à mesure que de nouvelles fonctionnalités révolutionnaires étaient ajoutées (c'est-à-dire le 'mode protégé' et le 'mode long'). Pour faire face à cela, les applications x86 modernes ciblent couramment l'ISA 80386 (également appelée IA-32 ou i386) comme base, qui, entre autres, fonctionne dans un environnement 32 bits.

Par la suite, Intel a amélioré l'IA-32 avec l'utilisation d'extensions, ce qui signifie que les nouvelles fonctions peuvent ou non être incluses dans un CPU IA-32. Les programmes interrogent le CPU pour vérifier si une amélioration spécifique est présente. Le CPU de la Xbox comprend deux extensions :

La bonne nouvelle est que, puisque la console aura toujours le même CPU, les programmeurs peuvent optimiser leur code pour exploiter ces extensions car elles seront toujours présentes.

La Microarchitecture

Quand il s'agit de construire un circuit qui peut interpréter les instructions x86, Intel a proposé tellement de conceptions différentes pour leurs CPU. Certaines conceptions ont été présentées avec la sortie d'une nouvelle série Pentium (c'est-à-dire. Pentium 4) tandis que d'autres ont été présentés lorsque Intel a sorti une version 'améliorée' d'un Pentium (comme le 'Pentium Pro'). Néanmoins, depuis la sortie du premier Pentium, le modèle de CPU et la microarchitecture ne portent plus le même nom. Par exemple, le 80486 utilise la microarchitecture 80486 (et aucune autre), cependant, le Pentium original a la microarchitecture 'P5'.

Maintenant, le CPU de la Xbox, ainsi que le reste des processeurs Pentium III, utilisent la Microarchitecture P6 (également connue sous le nom 'i686'). C'est la 6ème génération (en comptant à partir du 8086) qui présente :

Cela dit, prenez un plus près look à ces caractéristiques. Il se trouve qu'elles sont très similaires aux consoles précédentes, cependant, les autres CPU sont très différents en termes de conception par rapport à ceux d'Intel. Historiquement, on pourrait soutenir que la conception du x86 n'aurait jamais permis à Intel de produire, disons, un CPU en pipeline. Pourtant, ils ont réussi à le faire, voyons pourquoi...

CISC ou RISC

La concurrence se trouve à présenter des CPUs conçus autour des directives RISC, alors que le x86 d'Intel ne l'est pas, se retrouvant ainsi dans le groupe CISC. Les CPUs RISC sont connus pour avoir un design intentionnellement simplifié par rapport aux CPUs CISC. Cela comprend, par exemple, la mise en œuvre d'une architecture de chargement-stockage, qui ne fournit que des instructions qui opèrent des valeurs à partir de registres (au lieu d'opérer directement à partir de la mémoire).

Un des avantages des processeurs RISC est que leur approche simpliste permet à leurs CPU d'être conçus avec un sens modulaire, qui peut à son tour être exploité pour améliorer les performances avec des techniques de parallélisme. C'est pourquoi nous avons vu des CPU comme MIPS et PowerPC débuter des étapes de pipeline, des conceptions superscalaires, l'exécution hors ordre, la prédiction de branchement, etc. De l'autre côté, les processeurs CISC précèdent les processeurs RISC et les premiers visaient à résoudre des besoins différents. Par conséquent, leurs conceptions ne sont pas aussi flexibles que les CPUs RISC.

Pour revenir à la question initiale, le P6 est une conception intéressante, car bien que ce CPU ne comprenne qu'un ensemble d'instructions CISC (x86), un sous-ensemble de ses opcodes est interprété en utilisant microcode. Plus important encore, l'unité qui exécute le microcode est construite autour du modèle de chargement-stockage . C'est parce que l'architecture P6 a été conçue par les anciens ingénieurs de l'Intel i960 (un CPU RISC autrefois prometteur d'Intel). En somme, cela a permis à Intel d'obtenir des avantages similaires à ceux des processeurs RISC sans rompre la compatibilité avec l'ISA x86 historique. Il est juste de dire qu'avec le temps, des termes comme 'CISC' et 'RISC' sont devenus trop ambigus pour catégoriser n'importe quel CPU moderne.

En passant, le microcode est déjà intégré dans le silicium mais il peut être corrigé, permettant à Intel de réparer ses CPUs après production chaque fois qu'un bug ou une vulnérabilité de sécurité est découvert. Si vous avez lu les articles précédents (c'est-à-dire N64 ou PS2), gardez à l'esprit que le microcode d'Intel n'est pas accessible au public (encore moins documenté) et Intel est son seul 'mainteneur'.

Le cœur du CPU

Image
Le design de Coppermine.

Intel a expédié de nombreux puces qui implémentaient la microarchitecture P6. La Xbox comprend un modèle appelé Coppermine. Il a été commercialisé comme la deuxième révision du Pentium III (remplaçant le cœur 'Katmai') et comprend les composants suivants :

Coppermine ajoute également deux 'améliorations' à leur mise en œuvre originale de cache L2, il s'agit du Advanced Transfer Cache et du Advanced System Buffering. Pour les résumer, le cache L2 est sur la puce et leurs bus sont plus larges, ce qui aide à réduire les éventuels goulets d'étranglement dans le bus frontal.

Enfin, la puce utilise le socket 'Micro-PGA2' pour s'adapter sur la carte mère, mais comme toute autre console, la Xbox l'a soudée avec un Ball Grid Array ou 'BGA'.

P6 et la fin des nombres Pentium

Voici un peu plus d'histoire. Après les années du P6, Intel prévoyait de le succéder avec la microarchitecture 'NetBurst' (présente dans le Pentium IV). Cependant, la ligne de succession s'est également terminée là. Bien que NetBurst ait mis en œuvre de nombreuses techniques contemporaines , il a également souffert d'une consommation d'énergie excessive, d'une émission de chaleur (en moyenne de 85 W ) et de problèmes de scalabilité - tous ces éléments ont empêché la conception d'aller plus loin.

En conséquence, cela a incité une équipe Intel en Israël à revisiter leur CPU P6 à faible consommation - le 'Pentium M' - et à développer un successeur plus puissant. Le premier résultat a été le cœur Yonah, une légère amélioration de la conception du P6, commercialisée sous le nom de Core Solo ou Core Duo. Avec cela, la dissipation de la puissance est tombée à des chiffres raisonnables (entre 27 W et 31 W , selon la variante). Des mois plus tard, la suite Core est devenue le successeur phare de P6 (et NetBurst) et, de manière assez confuse, a atteint les étagères sous la forme de la ligne de CPU Core 2. Au fil des années, les microarchitectures suivantes ont amélioré de nombreux aspects, mais elles ont également réussi à réincorporer des éléments oubliés de NetBurst sans répéter les mêmes erreurs.

Sur une note curieuse, je me demande si le nom du cœur Yonah est destiné à être une métaphore pour le Livre de Jonas, en particulier en reliant l'événement où le prophète, à la fin, a réussi à corriger sa voie pour sauver la ville de Ninive. Bien qu'il soit également possible que je surpense cela.

Architecture de la carte mère

À un moment donné dans l'histoire du PC, les cartes mères ont tellement gagné en complexité que de nouvelles conceptions ont dû être développées à partir de zéro pour répondre efficacement aux besoins émergents.

Image
Vue d'ensemble de la carte mère Xbox.

Le nouveau standard développé repose sur deux puces dédiées pour gérer la plupart des fonctions de la carte mère. Ces puces sont :

La combinaison de ces puces est appelée jeu de puces et elles sont suffisamment importantes pour conditionner les capacités et les performances d'une carte mère. La Xbox, étant si proche d'un PC, comprend également deux puces : Le NV2A, une combinaison de Northbridge et de GPU ; et le MCPX qui gère le reste de l'I/O.

Les deux puces sont interconnectées à l'aide d'un bus spécialisé appelé HyperTransport. Il convient de souligner que certaines cartes mères de PC ont également inclus cette technologie, juste avec une marque différente (nForce MCP-D).

Disposition de la mémoire

La Xbox comprend un total de 64 MiB de DDR SDRAM, ce type de RAM est très rapide par rapport à ce que la concurrence offre. Cependant, elle est également partagée entre tous les composants de ce système. Par conséquent, une fois de plus, nous nous trouvons devant une autre architecture de mémoire unifiée ou disposition 'UMA'.

Image
Représentation du réseau de commutation. Le GPU utilise deux banques tandis que le CPU en utilise une différente, réduisant ainsi la contention dans le processus.

Nous avons déjà vu à quel point ce design peut parfois être problématique. Néanmoins, les programmes peuvent résoudre ce problème en répartissant leurs données entre différentes banques de mémoire. NV2A implémente un réseau de commutation qui permet à différentes unités (CPU, GPU, etc) d'y accéder simultanément .

De plus, la console dispose d'un disque dur interne, et il se trouve qu'il est configuré avec trois partitions de 750 MiB chacune réservées pour le stockage temporaire. Le CPU peut décharger certaines de ses données de la RAM principale, puis les télécharger à nouveau lorsque c'est nécessaire. Gardez à l'esprit que c'est un processus manuel et n'implique pas de RAM virtuelle.


Previous: 2. Une brève introduction

Next: 4. Graphismes


Rodrigo Copetti © 2026 RSS Feed

Basculer vers l'édition moderne

Accueil · Articles · Support · À propos de l'auteur · À propos du site