Next: Technologie Up: Architecture : vue Previous: Introduction

Partitionnement en unités fonctionnelles

MIPS R10000

La vue générale du MIPS R10000 est présentée à la figure . Le MIPS R10000 intègre, au sein d'un même composant, cinq unités fonctionnelles principales, ainsi que deux caches primaires séparés (32 Koctets pour les données et 32 Koctets pour les instructions). Les cinq unités fonctionnelles principales sont :

Trois sous-unités fonctionnelles itératives sont utilisées pour le calcul d'opérations plus complexes :

L'exécution des instructions peut être exécutée dans le désordre. Les unités fonctionnelles sont alimentées par trois files d'attente d'instructions appelées <<stations de réservations>> : soit, une file pour les instructions mémoires (Memory Queue), une file pour les instructions entières (Integer Queue) et une file pour les instructions flottantes (FP Queue). À partir d'une file d'attente, une instruction exécutable peut être envoyée dans une unité d'exécution avant une instruction antérieure qui attend une ou plusieurs de ses opérandes. Ces trois files sont alimentées par l'unité de chargement et de décodage qui gère de plus les dépendances entre les instructions à travers l'Active list.

Description succincte des unités fonctionnelles :


Le MIPS R10000 comprend d'autre part un cache d'instructions de 32 Koctets, un cache de données de 32 Koctets ainsi qu'un contrôleur de cache pour le cache secondaire externe.

UltraSPARC

La vue générale de l'UltraSPARC est illustrée à la figure . L'UltraSPARC intègre au sein d'un seul composant les unités fonctionnelles suivantes :

Description succincte des unités fonctionnelles :


PentiumPro

Le PentiumPro est un microprocesseur superscalaire comme son prédécesseur le Pentium [12][3]. Le PentiumPro intègre dans un même boîtier (MCM) le microprocesseur et un cache secondaire sur un second composant. Deux versions sont annoncées : l'une avec un cache secondaire de 256 Koctets, et l'autre avec un cache secondaire de 512 Koctets (cette version devrait être disponible au cours du premier trimestre 1996).

L'architecture interne du microprocesseur est radicalement différente des architectures de ses prédécesseurs (80486 et Pentium). La différence essentielle est que le PentiumPro traduit ses instructions en micro-opérations au cours des premiers étages du pipeline.

Traduction des instructions en micro-opérations :


Le PentiumPro décompose les instructions x86 en micro-opérations de taille constante. Cette approche est déjà utilisée par le K5 d'AMD et le 586 de NexGen. Ces micro-opérations de 118 bits de long sont alors exécutées dans le coeur superscalaire capable de renommer les registres et d'exécuter ces micro-opérations dans le désordre. Elles ont une structure régulière pour encoder l'opération, les deux opérandes source et la destination. Comme les instructions RISC, les micro-opérations utilisent un modèle de type load/store. Une instruction x86 qui accède un de ses opérandes en mémoire sera traduite en une micro-opération load, une micro-opération ALU et éventuellement en une micro-opération store. D'après Intel, la plupart des instructions génèrent en moyenne 1,5 à 2 micro-opérations.

On peut diviser l'architecture du PentiumPro en trois grandes parties : une partie décodant les instructions dans l'ordre du programme (Fetch and Decode Unit), une partie où les instructions sont exécutées dans le désordre (Dispatch and Execute Unit), et enfin, une partie où les instructions sont validées dans l'ordre logique du programme par une unité de remise en ordre appelée Retire Unit.

Description succincte des unités fonctionnelles :


Nous allons maintenant présenter la composition des différentes unités fonctionnelles (voir figure ) :



Next: Technologie Up: Architecture : vue Previous: Introduction


flloansi@IRISA.irisa.fr
Tue Jun 4 09:57:56 MET DST 1996