Title: Objectifs
1Unité 10 Superordinateurs et microprocesseurs
- Objectifs
- À la fin de cette unité, vous aurez un aperçu des
nouvelles techno-logies utilisées pour améliorer
la performance des ordinateurs, du
microprocesseur au superordinateur. Vous saurez
ce qu'est un processeur RISC et comment le
pipeline et la mémoire cache sont utilisés pour
en augmenter la performance. - Pour y parvenir, vous devrez maîtriser les
objectifs suivants - - décrire les principes de larchitecture RISC
- - décrire le fonctionnement dun pipeline
- - décrire les modèles de machine parallèle SIMD
et MIMD.
2Unité 10 Superordinateurs et microprocesseurs
- 9.1 Introduction
- La performance des ordinateurs modernes couvre la
gamme de celle des superordinateurs tels que le
Cray à celle des micro-ordinateurs personnels à
base de microprocesseurs.
Le plus puissant des Cray actuels, le Cray
T3E-1200, possède de 6 à 2048 proces-seurs,
jusquà 2 Go de mémoire centrale par proces-seur
(RAM statique!), et est capa-ble datteindre 2458
milliards dopérations de virgule flottante
(Gigaflops) à la seconde. La bande passante
mémoire est de lordre de 700 Go / s. Les
processeurs sont des Alpha 21164A de DEC.
3Unité 10 Superordinateurs et microprocesseurs
- 9.1 Introduction
- Ces performances sont nécessaires dans des
disciplines ayant des problèmes nécessitant
dénormes quantités dopérations arithmétiques,
par exemple - la météorologie,
- la dynamique des fluides,
- laérodynamique,
- lanalyse des structures,
- la micro-électronique,
- la physique des particules,
- la chimie et la biologie moléculaire,
- les mathématiques appliquées,
- la simulation numérique de systèmes,
4Unité 10 Superordinateurs et microprocesseurs
- 9.1 Introduction
- Le traitement dimages (en particulier, les
images 3D), - la reconnaissance des formes, etc.
- On résout ces problèmes dabord en augmentant la
vitesse du proces-seur, puis en mettant plusieurs
processeurs en parallèle.
5Unité 10 Superordinateurs et microprocesseurs
- 9.1 Introduction
- 9.1.1 Accroissement de la puissance des
ordinateurs - Une des limites à la vitesse des processeurs est
le temps de propagation des signaux. - Distance parcourue Vitesse
- en 1 ns en km / s
- Lumière dans le vide 30 cm 300 000
- Signal électrique dans un 1 µm à 1 cm 1 à 100 000
- Semiconducteur
- On a donc intérêt à réduire les dimensions
physiques des processeurs.
6Unité 10 Superordinateurs et microprocesseurs
- 9.1 Introduction
- Une façon de contourner ce problème est
dintroduire du parallélisme - pipelines, unités dexécution multiples,
processeurs auxiliaires spéciali-sés
accélérateurs graphiques, transformée de Fourier
rapide, etc. - Dans le cas de problèmes numériques, les machines
vectorielles savèrent souvent une bonne
solution. Ces machines effectuent simultanément
la même instruction sur des données différentes
au moyen dUAL multiples.
7Unité 10 Superordinateurs et microprocesseurs
- 9.1.2 Technologie et performance
- Loi dAmdahl
- On peut définir le speed-up comme le rapport
entre les temps dexécution avant et après
lamélioration apportée au matériel. - Comme certains dispositifs ne sont pas
nécessairement utilisés à chaque instruction du
programme, le gain obtenu par une performance
accrue, sur une partie de programme, diminue au
fur et à mesure quon ajoute des améliorations. - Par exemple, un additionneur dix fois plus rapide
ne produira pas un speed-up de 10 et une machine
avec 1000 processeurs nexécutera pas chaque
travail 1000 fois plus vite.
8Unité 10 Superordinateurs et microprocesseurs
- 9.1.2 Technologie et performance
- Loi dAmdahl
- Le temps dexécution après une amélioration dun
aspect dune machine est donné par - Exemple Supposons que le temps dexécution dun
certain programme soit 100 sec et que les
multiplications représentent 80 sec de ce temps.
Quel sera le temps dexécution après avoir
apporté une amélioration de 5 dans la vitesse de
multiplication ? - Donc une amélioration globale de 2,77 seulement.
9Unité 10 Superordinateurs et microprocesseurs
- 9.1.2 Technologie et performance
- Loi dAmdahl
- On ne peut donc pas sattendre à ce quune
amélioration dun aspect dune machine apporte
une amélioration proportionnelle au facteur
damélioration. - Unités de traitement
- Les technologies ULSI (Ultra Large Scale
Integration) et WSI (Wafer Scale Integration), - les fréquences dhorloge 1 GHz,
- la technologie RISC,
- permettent aujourdhui datteindre un cycle
machine inférieur à 1 ns, donc plus de 1000 MIPS.
10Unité 10 Superordinateurs et microprocesseurs
- Mémoires
- La capacité des DRAM augmente dun facteur 4 tous
les 3 ans. - La capacité des disques durs double tous les
trois ans. Avec les nouvelles têtes
magnéto-résistives qui survolent la surface du
disque à 0,01 microns, on sattend à ce que
laugmentation annuelle de la densité passe de 30
à 60. - Communications
- Communications par câble, par satellite, etc.
Transmission par fibre optique. Communications
par infra-rouge. - Parallélisme à tous les niveaux.
- Parallélisme des actions et des opérations à tous
les niveaux de traitement, de stockage et de
transmission des opérations.
11Unité 10 Superordinateurs et microprocesseurs
- 9.1.3 Évaluation de la performance
- Lévaluation de la performance de traitement dun
ordinateur nest pas simple. - Pour le processeur lui-même, on utilise comme
unité de mesure les MIPS (Millions of Intructions
Per Second) ou les MFLOPS (Millions of
FLoating-point Operations Per Second). - Toutefois, ces unités de performance sont des
indicateurs peu fiables car leur valeur varie
selon larchitecture du processeur (RISC ou CISC)
et son jeu dinstructions. - De la même façon, les MFLOPS peuvent induire en
erreur. Par exemple, la division prend plus de
temps que laddition mais les deux sont
considérées de la même façon dans le calcul de la
performance.
12Unité 10 Superordinateurs et microprocesseurs
- 9.1.3 Évaluation de la performance
- Lévaluation de la performance fait intervenir
plusieurs facteurs la vitesse du traitement
proprement dit, la réponse des différents étages
de la mémoire (caches), et la vitesse des entrées
/ sorties. Des programmes de test, appelés
benchmarks, permettent dévaluer les performances
des ordinateurs, mais peu dentre eux sont
réellement utilisés de façon standard étant donné
la difficulté de couvrir avec quelques tests une
vaste gamme darchitectures, de machines et de
problèmes à traiter. - Un certain nombre de constructeurs se sont
groupés pour former un groupe appelé SPEC (System
Performance Evaluation Cooperative) qui a pour
but de définir des mesures standards communes.
SPEC a défini une dizaine de programmes de test.
On les exécute sur une machine à évaluer, puis on
compare le temps dexécution avec un temps de
référence.
13Unité 10 Superordinateurs et microprocesseurs
- 9.1.3 Évaluation de la performance
- On calcule un SPECratio pour chaque programme et
on fait la moyenne de tous les programmes du test
pour obtenir la valeur finale en SPECmarks. Il y
a deux classements. Les SPECint, pour mesurer la
performance lors de calculs sur des entiers, et
les SPECfp pour mesurer la performance en virgule
flottante. La dernière mise à jour de ces tests
remonte à 1995, de sorte quon parle présentement
de SPECint95 et de SPECfp95. - Il existe beaucoup dautres benchmarks, par
exemple, les Dhrystones, les Whetstones, les
tests Linpack et les Livermore Loops. - On évalue avec ces tests que la croissance de la
performance des microprocesseurs est de 40 par
an.
14Unité 10 Superordinateurs et microprocesseurs
- 9.1.3 Évaluation de la performance
- Par exemple, un Pentium III à 733 MHz obtient
35,7 SPECint95 et 28,1 SPECfp95, tandis quun
PowerPC 7400 (G4) à 450 MHz obtient 21,4
SPECint95 et 20,4 SPECfp95. Si on normalise à la
fréquence de lhorloge, on peut comparer les deux
processeurs et observer que le Pentium III est
légèrement plus rapide pour les entiers, mais
moins rapide pour la virgule flottante.
15Unité 10 Superordinateurs et microprocesseurs
- 9.1.3 Évaluation de la performance
- La technologie actuelle fait des gains de 30 à 40
par année, mais on approche de plus en plus des
limites physiques, et les investissements
nécessaires pour progresser deviennent de plus en
plus prohibi-tifs. - Progression estimée de la largeur du trait et de
la capacité de mémoire correspondante - Année 1996 1999 2002 2005 2008
- Largeur trait en µm 0,35 0,25 0,18 0,13 0,1
- Capacité puce 64 256 1024 4096 16392
- DRAM en Mbits
16Unité 10 Superordinateurs et microprocesseurs
- 9.1.3 Évaluation de la performance
- On se rend donc compte quon a exploité les
progrès faciles et que les prochains seront
plus ardus. - Cest sans doute du côté de larchitecture quon
pourra gagner des facteurs 100 ou 1000 sur les
performances actuelles. - On peut construire aujourdhui des machines
parallèles perfor-mantes et fiables.
Malheureusement, le logiciel avance beaucoup
moins rapidement que le matériel et on sait mal
exploiter ce parallélisme. - On remarque toutefois quon a de plus tendance à
construire des superordinateurs à partir dun
grand nombre de microprocesseurs standards.
17Unité 10 Superordinateurs et microprocesseurs
- 9.2 Superordinateurs
- Le premier superordinateur fut le Cray-1,
monoprocesseur de 10 MIPS et 160 MFLOP) réalisé
en 1976 par Seymour Cray (un Pentium III à 500
MHz fait environ 500 Mflops). - Dans les années 80, on retrouve le Cray-XMP et le
Cray-2 avec de 1 à 4 processeurs de 450 Mflops
chacun. Par la suite, le Cray-YMP et le Cray-3
font leur apparition, ainsi que la série SX de
NEC, et dautres machines par Hitachi, Fujitsu,
IBM et bien dautres. Toutes possédent de
nombreux processeurs. - Le projet ASCI (Advanced Super Computing
Initiative) dIntel a amené en 1996 la
construction dune machine parallèle contenant
plus de 7000 Pentium Pro interconnectés. Elle a
atteint 1 Tflops (1012 opérations de virgule
flottante par sec).
18Unité 10 Superordinateurs et microprocesseurs
- 9.2 Superordinateurs
- Un autre exemple est le Cray-T3D, qui avait entre
32 et 2 048 processeurs Alpha 21064 de DEC, qui
étaient des microprocesseurs RISC de 64 bits avec
une fréquence dhorloge de 200 MHz. - La mémoire vive totale était de 0,5 à 128 Go et
la performance de 4,8 à 307 Gflops.
19Unité 10 Superordinateurs et microprocesseurs
- 9.2 Superordinateurs
- 9.2.1 Architecture des superordinateurs
- Les superordinateurs SIMD (Single Instruction
stream Multiple Data streams) opérent sur des
vecteurs de données. Ces machines possèdent un
mélange dinstructions SISD (Single Instruction
stream Single Data stream) et dinstructions
SIMD. Les instructions SISD, exécutées par un
processeur scalaire, effectuent les opérations
séquentielles telles que les branchements et les
calculs dadresses. Les instructions SIMD sont
envoyées à toutes les unités dexécution
possédant chacune de la mémoire et son propre jeu
de registres. - Le SIMD fonctionne à son meilleur quand il a
affaire à des tableaux dans des boucles for. Il
doit donc y avoir parallélisme au niveau des
données.
20Unité 10 Superordinateurs et microprocesseurs
- 9.2 Superordinateurs
- 9.2.1 Architecture des superordinateurs
- Une architecture voisine du SIMD est la machine
vectorielle. Elle a des instructions de haut
niveau qui sappliquent à des tableaux linéaires
de nombres ou vecteurs. Les machines SIMD ont
aussi de telles instructions. La différence est
que le processeur vectoriel utilise des unités
fonctionnelles pipelinées qui opèrent sur
quelques éléments dun vecteur, tandis que le
SIMD agit sur tous les éléments à la fois. - Le Cray-J90 et le Cray-T90 sont des machines
vectorielles, tandis que le Cray-T3D est une
machine SIMD.
21Unité 10 Superordinateurs et microprocesseurs
- 9.2 Superordinateurs
- 9.2.1 Architecture des superordinateurs
- Les avantages du traitement vectoriel sur le
modèle traditionnel SISD sont les suivants - 1. Chaque résultat est indépendant des résultats
précédents, ce qui permet de longs pipelines et
des fréquences dhorloge élevées. - 2. Une instruction vectorielle effectue beaucoup
de travail, ce qui implique moins dinstructions
en général et moins de branchements, donc moins
de branchements mal prédits. - 3. Les instructions vectorielles accèdent à la
mémoire par blocs, ce qui permet détaler la
latence de la mémoire sur plusieurs éléments. - 4. Les instructions vectorielles accèdent à la
mémoire selon des patrons connus, ce qui permet à
des blocs de mémoire multiples de fournir des
opérandes.
22Unité 10 Superordinateurs et microprocesseurs
- 9.2 Superordinateurs
- 9.2.1 Architecture des superordinateurs
- Machines MIMD (Multiple Instruction Multiple Data
streams). - Cest larchitecture parallèle la plus générale,
dans laquelle les proces-seurs sont affectés à
des tâches au fur et à mesure des besoins. Cest
aussi celle qui présente le plus de problèmes
théoriques au plan du logiciel. - Un exemple est le Cosmic cube, à base
dhypercubes (16 processeurs interreliés),
construit à Caltech en 1985. - Un autre est la Thinking Machine CM-2 de 1987,
qui pouvait avoir jusquà 65 536 processeurs de 1
bit avec une horloge de 7 MHz, et 2048
processeurs de virgule flottante. - Aujourdhui, on ne trouve larchitecture MIMD que
sous forme de grappes dordinateurs, comme la IBM
RS/6000 SP2 avec 256 processeurs.
23Unité 10 Superordinateurs et microprocesseurs
Machines parallèles
Machines scalaires
SIMD
MIMD
SISD
Mémoire partagée (Multiprocesseur)
Mémoire distribuée (Multicomputer)
24Unité 10 Superordinateurs et microprocesseurs
DS
PE1
LM1
IS
DS
CU
MU
PU
DS
PE2
LM2
SISD
IS
CU
DS
Légende CU Control Unit IS Instruction
Stream DS Data Stream PU Processing Unit MU
Memory Unit PE Processing Element LM Local
Memory
PEn
LMn
SIMD
25Unité 10 Superordinateurs et microprocesseurs
IS
DS
IS
DS
Réseau dinterconnexion
PE1
CU1
PE1
CU1
LM1
DS
Mémoire partagée
IS
DS
IS
PE2
CU2
PE2
LM2
CU2
DS
IS
DS
IS
CUn
PEn
CUn
PEn
LMn
MIMD à mémoire partagée (Multiprocessor)
MIMD à mémoire distribuée (Multicomputer)
26Unité 10 Superordinateurs et microprocesseurs
- 9.2 Superordinateurs
- 9.2.2 Évolution de larchitecture du CPU
- Pipelines
- Le pipelining consiste à segmenter une opération
complexe en une séquence d actions plus simples.
Chaque action simple est réalisée par un
dispositif particulier. Tous les dispositifs
peuvent fonctionner simultanément. - On peut segmenter lexécution dune instruction
comme suit - Chargement de linstruction (instruction fetch
IF) - Décodage de linstruction (D)
- Chargement des opérandes (operand fetch OF)
- Exécution (E)
- Écriture du résultat (W)
27Unité 10 Superordinateurs et microprocesseurs
- 9.2 Superordinateurs
- 9.2.2 Évolution de larchitecture du CPU
- Pipelines
- Sans pipeline
- Avec pipeline
Instruction 1
Instruction 2
IF1
D1
OF1
E1
W1
IF2
D2
OF2
E2
W2
Instruction 1
IF1
D1
OF1
E1
W1
IF2
D2
OF2
E2
W2
Instruction 2
IF3
D3
OF3
E3
W3
Instruction 3
IF4
D4
OF4
E4
W4
Instruction 4
IF5
D5
OF5
E5
W5
Instruction 5
temps
28Unité 10 Superordinateurs et microprocesseurs
- 9.2 Superordinateurs
- 9.2.2 Évolution de larchitecture du CPU
- Pipelines
- Problème des branchements
- Supposons que linstruction 1 soit un branchement
conditionnel vers linstruction n.
Temps perdu
IF1
D1
OF1
E1
W1
IF2
D2
OF2
E2
IF3
D3
OF3
IF4
D4
IF5
IFn
Dn
OFn
En
Wn
IFn1
Dn1
OFn1
En1
Wn1
temps
29Unité 10 Superordinateurs et microprocesseurs
- 9.2 Superordinateurs
- 9.2.2 Évolution de larchitecture du CPU
- Pipelines
- Avec un pipeline à 5 étages, on a donc accéléré
le fonctionnement par un facteur 5!
30Unité 10 Superordinateurs et microprocesseurs
- 9.2 Superordinateurs
- 9.2.2 Évolution de larchitecture du CPU
- Processeurs RISC
- Lidée de larchitecture RISC (Reduced
Instruction Set Computer) est de navoir quun
petit nombre dinstructions simples, qui peuvent
être exécutées très rapidement (1 cycle machine). - Cette approche contraste avec les machines CISC
(Complex Instruction Set Computer) où le jeu
dinstructions est riche et les instructions
complexes afin de simplifier la tâche du
compilateur. - Le concept RISC était présent dans les premières
machines, et Cray ladopta pour la conception des
CDC 6000 et 7000. Il a été mis de côté par
linvasion des machines CISC, mais a repris
lavantage au début des années 80, avec lIBM
801, le RISC-1 de Berkeley et les machines MIPS
de Stanford.
31Unité 10 Superordinateurs et microprocesseurs
- 9.6 RISC, CISC et architectures superscalaires
- 9.6.1 RISC
- Ce concept est revenu à la mode après quon ait
eu constaté que dans 80 des cas, un processeur
nutilise que 20 de son jeu dinstructions. - Principales caractéristiques
- Exécution des instructions en un cycle machine
- Format unique des instructions (généralement 32
bits) - Utilisation intensive des registres
(minimisation des accès mémoire) - Peu de modes dadressage
- Architecture load / store
- Séquenceur câblé
- Pipeline et architecture superscalaire
32Unité 10 Superordinateurs et microprocesseurs
- 9.6 RISC, CISC et architectures superscalaires
- 9.6.4 Exemples de microprocesseurs RISC
- RISC-1, Berkeley, 1980 31 instructions, 138
registres et un seul mode dadressage (basé). - RISC-II, 1984, 41 000 transistors.
- Principaux fabricants
- MIPS, achetée par SGI
- SUN
- DEC
- IBM
- IBM-Motorola-Apple
- Hewlett-Packard
- Intel
33Unité 10 Superordinateurs et microprocesseurs
- 9.2 Superordinateurs
- 9.2.2 Évolution de larchitecture du CPU
- Processeurs superscalaires
- Dans un processeur ayant plusieurs unités
dexécution, on peut avoir plusieurs pipelines
fonctionnant en parallèle. On donne le nom
superscalaire à un processeur capables démettre
ainsi plus dune instruction par cycle machine (2
à 5). - Exemples le PowerPC dIBM/Motorola/Apple, le
R10000 de SGI, lUltraSparc de SUN, le PA 8000 de
HP, le Pentium III dIntel, le Alpha 21364 de
DEC, le RS 6000 dIBM, et bientôt lItanium
dIntel, etc. - Tous sont des processeurs RISC à lexception du
Pentium (du moins vu de lextérieur).
34Unité 10 Superordinateurs et microprocesseurs
- 9.2 Superordinateurs
- 9.2.2 Évolution de larchitecture du CPU
- Approche VLIW
- Lapproche VLIW (Very Long Instruction Word)
consiste à placer dans un mot de taille assez
grande (gt 100 bits) plusieurs instructions prêtes
à être exécutées en parallèle par des unités
fonctionnelles multiples indépendantes. Un
exemple de proces-seur de ce type est le i860
dIntel (mots de 128 bits) - Le parallélisme est ici géré par le compilateur
et non par le processeur. - On trouvera une extrapolation de ce concept dans
le Itanium dIntel, qui utilise la technologie
EPIC (Explicitly Parallel Instruction Computer).
Des mots de 128 bits contiennent 3 instructions
de 40 bits des prédicats indiquant lesquelles
peuvent être exécutées en parallèle.
35Unité 10 Superordinateurs et microprocesseurs
- 9.5 Microprocesseurs
- 9.5.1 Microprocesseur et micro-ordinateur
- Microprocesseur circuit intégré réalisant une
unité de traitement complète - Micro-ordinateur microprocesseur mémoire
entrées / sorties périphériques - 9.5.2 Évolution des microprocesseurs
- 1971 Intel 4004, 4 bits
- 1972 Intel 4008, 8 bits
- 1975 Intel 8008 Motorola M6800, 8 bit
- 1978 Intel 8088 et 8086, 8 / 16 bits
- 1979 Motorola MC68000, 16 bits
- 1982 Motorola MC68010, 32 bits
36Unité 10 Superordinateurs et microprocesseurs
- 9.5 Microprocesseurs
- 9.5.2 Évolution des microprocesseurs
- 1984 Motorola MC68020, 32 bits
- 1985 Intel 80386
- 1987 Motorola MC68030, 32 bits mémoire
virtuelle - 1989 Intel 80486
- 1990 Motorola MC68040, 32 bits coprocesseur
- 1993 Intel Pentium
- 1995 Intel Pentium Pro, 32 bits cache L2
- 1996 Intel Pentium MMX
- 1997 Intel Pentium II, 32 bits cache L2
- 1999 Intel Pentium III, ajout du SIMD
37Unité 10 Superordinateurs et microprocesseurs
- 9.6 RISC, CISC et architectures superscalaires
- 9.6.5 Importance du logiciel
- Optimisation du code par les compilateurs
- Allocation optimale des registres pour
minimiser les accès à la mémoire - Élimination des redondances
- Optimisation des boucles
- Remplacement dopérations lentes par des
opérations rapides - Optimisation des pipelines
38Unité 10 Superordinateurs et microprocesseurs
- 9.8 Nouvelles architectures
- 9.8.4 Exemple darchitecture RISC superscalaire
le PowerPC 7400 (G4) dIBM-Motorola-Apple - Horloge 400 MHz, 450 MHz, 500 MHz
- Instructions par horloge 3 (2branch)
- Cache L1 32 Ko inst
- 32 Ko data
- Cache L2 512 Ko, 1 Mo, ou 2 Mo
- Transistors 6,5 million
- SPECint95 21,4 _at_ 450 MHz
- SPECfp95 20,4 _at_ 450 MHz
- MIPS 825 MIPS _at_ 450 MHz
- Unités dexécution Integer (2)
- Virgule flottante
- Vecteur
- Branchement
- Load / Store
39Unité 10 Superordinateurs et microprocesseurs
- 9.8 Nouvelles architectures
- 9.8.4 Exemple darchitecture RISC superscalaire
le PowerPC 7400 (G4) dIBM-Motorola-Apple - Registres 32 registres dentiers de 32 bits
- 32 registres de virgule flottante de 64 bits
- 32 registres de vecteurs de 128 bits.
40Unité 10 Superordinateurs et microprocesseurs
- 9.8 Nouvelles architectures
- PowerPC 7400
Unité de branchement
Unité de complétion
Unité de dispatch
Unité dentiers Registres dentiers
Unité de VF Registres de VF
Unité vectorielle Registres de vecteurs
Unité load / store
I MMU
D MMU
Cache de données
Cache dinstructions
Tags L2
Unité dinterface de bus
Port de cache L2 de 64 bits
Adresses 32 bits
Données 64 bits
FSRAM
Bus 60xMPS
41Unité 10 Superordinateurs et microprocesseurs
- 9.8 Nouvelles architectures
- 9.8.5 Exemple de compromis RISC-CISC-superscalaire
le Pentium III - Horloge 450 à 733 MHz
- Instructions par horloge 3
- Cache L1 16 Ko inst
- 16 Ko data
- Cache L2 256K avec ECC ou 512 Ko
- SPECint95 35,7 _at_ 733 MHz
- SPECfp95 28,1 _at_ 733 MHz
- Unités dexécution Integer (2)
- Virgule flottante
- MMX
- Registres 8 registres dentiers de 32 bits
- 8 registres de SIMD/MMX/virgule flottante de
128/80/64 bits
42Unité 10 Superordinateurs et microprocesseurs
- 9.8 Nouvelles architectures
- 9.8.5 Exemple de compromis RISC-CISC-superscalaire
le Pentium III -
Bus
système
Cache
L2
Bus de cache
Unité
d'interface
de bus
Cache
d'ins-
Cache de
données
L1
tructions
L1
Fetch
Load
Store
Unité
de
Unité
de
Unité
de sortie
Registres
de
recherche et
dispatch
des instructions
l'architecture
décodage
des
et
exécution
complétées
Intel
instructions
Pool
d'ins-
tructions
43Unité 10 Superordinateurs et microprocesseurs
- 9.8 Nouvelles architectures
- 9.8.6 Le Itanium dIntel.
- Horloge ?
- Transistors 15 M
- Unités dexécution 4 unités dentier 4
unités MMX - 2 unités de virgule flottante
- 2 unités Load / Store
- Registres 128 registres dentiers (64 bits)
- 128 registres de virgule flottante (82 bits)
- 128 registres dapplication (64 bits)
- 64 registres de prédicats
- Trois niveaux de cache, L1, L2 et L3
- Pipeline de 10 stages
- ALAT (Advanced Load Address Table) de 32 entrées
44Unité 10 Superordinateurs et microprocesseurs
- 9.8 Nouvelles architectures
- 9.8.6 Le Itanium dIntel.
Cache
d'instructions
L1
ITLB
et
moteur
fetch /
prefetch
Décodage et contrôle IA-32
Prédiction des branchements
File
d'ins-
tructions
B
B
B
M
M
I
I
F
F
Register stack engine / remapping
Registres
de
Cache L2
Cache L3
branchement
Scoreboard
et de
prédicat
128
registres
d'entiers
128
registres
de
VF
Unités
Unités de branchement
Cache
d'entiers
de
Unités
et
MM
données
de
L1 et
virgule
DTLB
flottante
Contrôleur
de bus