Introduction

publicité
Architecture des ordinateurs
Introduction
Daniel Etiemble
[email protected]
Les grandes classes de système
Caractéristique
Ordinateur de
bureau
Serveur
Enfoui/embarqué
Prix du
microprocesseur
100 à 1000 €
200 à 2000 € par
processeur
0,20 à 200 € par
processeur
Microprocesseurs
vendus en 2000
150 millions
4 millions
300 millions (en
ne comptant que
les 32 et 64 bits)
Critères
Prixperformance
Performance
graphique
Débit,
disponibilité,
extensibilité
Prix, puissance
dissipée,
performance
pour
l’application
IFIPS2
2007-08
Architecture des ordinateurs
D. Etiemble
2
1
Ventes des microprocesseurs
(fin du siècle dernier ☺)
• Processeurs enfouis/embarqués
–
–
–
–
4 bits : 2 milliards
8 bits : 4,7 milliards
16 bits : 700 millions
32 bits : 400 millions
• DSP (traitement du signal)
– 600 millions
• Généralistes classiques
– 150 millions
IFIPS2
2007-08
Architecture des ordinateurs
D. Etiemble
3
Les applications
•
•
•
•
•
•
•
•
Usage général
Calcul Scientifique
GRAPHIQUE
Traitement du signal
JAVA
BD
WEB
Enfoui et embarqué
IFIPS2
2007-08
Architecture des ordinateurs
D. Etiemble
4
2
PERFORMANCE
NI
Texécution = NI * CPI * Tc =
IPC * F
Temps de cycle
Nombre de cycles/Instruction
• Nombre d’instructions
– Jeu d’instructions et compilateur
• CPI
– Microarchitecture
• Tc
– Technologie CMOS et Microarchitecture
IFIPS2
2007-08
Architecture des ordinateurs
D. Etiemble
5
DES EXPONENTIELLES
MICROPROCESSEURS
2x/1,5an
CPU
Performance après 1987
Performance avant 1986
Fréquence d'horloge (MOS)
Evolution/an
IFIPS2
2007-08
0%
10% 20% 30% 40% 50% 60%
Architecture des ordinateurs
D. Etiemble
6
3
DES EXPONENTIELLES
MEMOIRES
2x/1,5an
0%
20%
40%
60%
C
ap
a
cit
é
La
te
nc
e
0,5/10 ans
Evolution/an
DISK
IFIPS2
2007-08
DRAM
Architecture des ordinateurs
D. Etiemble
7
Moore’s Law
Transistors
Per Die
108
256M
Memory
Microprocessor
107
106
256K
i486™
i486™
64K
4K 16K
1K
80286
Pentium®
Pentium® III
Pentium® II
Pentium® Pro
i386™
i386™
8086
103
102
4M
1M
105
104
16M
64M
4004
8080
101
100
’70
’73
’76
’79
’82
’85
’88
’91
’94
'97
2000
Source: Intel
IFIPS2
2007-08
Architecture des ordinateurs
D. Etiemble
8
4
LES DIFFERENTIELS
10000
1000
CPU
100
Mémoire
10
2000
98
96
94
92
90
88
86
84
82
80
1
Complexité croissante de la hiérarchie mémoire
IFIPS2
2007-08
Architecture des ordinateurs
D. Etiemble
9
Densité de puissance
1000
Nuclear
Nuclear Reactor
Reactor
2
Watts/cm
100
Rocket
Nozzle
Pentium®
Pentium® 4
Hot plate
10
Pentium®
Pentium® III
Pentium®
Pentium® II
Pentium®
Pentium® Pro
Pentium®
Pentium®
i386
i486
1
1.5µ
1µ
0.7µ
0.5µ
0.35µ
0.25µ
0.18µ
0.13µ
0.1µ
0.07µ
* “New Microarchitecture Challenges in the Coming Generations of CMOS
CMOS Process Technologies”
Technologies” –
Fred Pollack, Intel Corp. Micro32 conference key note - 1999.
IFIPS2
2007-08
Architecture des ordinateurs
D. Etiemble
10
5
Le grand virage…
• Evolution des processeurs pour PC (Intel, AMD)
– De l’augmentation de la fréquence d’horloge…
– Au parallélisme
Processeur
logique 1
Processeur
logique 2
Processeur
physique 1
Etat archit. Etat archit.
(registres) (registres)
Etat archit.
(registres)
Unités fonctionnelles
Unités
fonctionnelles
Caches
Caches
Mémoire principale
Etat archit.
(registres)
Unités
fonctionnelles
Caches
Mémoire principale
Multi-threads
IFIPS2
2007-08
Processeur
physique 2
Multi-cœurs
Architecture des ordinateurs
D. Etiemble
11
Jeux d’instructions
• Des objectifs différents selon les classes d’applications
– Vitesse maximale (PC, serveurs)
– Taille de code minimale (embarqué)
– Consommation
• essentiel pour embarqué
• important pour tous
• Taille des instructions
– Fixe
– Variable
• Modèles d’exécution
IFIPS2
2007-08
Architecture des ordinateurs
D. Etiemble
12
6
Les objectifs
• Performance
– Pipeline efficace
• Instructions de longueur fixe
• Décodage simple
• Modes d’adressage simples
• Taille du code
– Minimiser la taille des instructions
• Instructions de longueur variable (ou fixe)
– Accès aux données efficace
• Modes d’adressage complexes et efficaces pour applications visées
• Compatibilité binaire avec les générations précédentes
– Exemple IA-32 (x86)
IFIPS2
2007-08
Architecture des ordinateurs
D. Etiemble
13
Modèles d’exécution
• Modèles d’exécution (n,m)
– n : nombre d’opérandes par instruction
– m : nombre d’opérandes mémoire par instruction
• Les différents modes
– RISC : (3,0)
• Instructions de longueur fixe
• Load et Store : seules instructions mémoire
– IA-32 : (2,1)
– Pile (0,0)
• Tous les opérandes sont accédés via la pile
IFIPS2
2007-08
Architecture des ordinateurs
D. Etiemble
14
7
Modèle d’exécution RISC
(n,m)
n : nombre d’opérandes par instruction
m : nombre d’opérandes mémoire par instruction
Ex : A : = B + C
LOAD-STORE (3,0)
MP
Load
Load
Add
Store
R1
@B
R2
@C
R3 R2 R1
R3
@A
MP
C
B
A
R1
R2
R3
MP
C
B
A
R1
R2
R3
R1
R2
R3
C
B
A
+
R1
R2
R3
Instructions de longueur fixe
Seules les instructions Load et Store accèdent à la mémoire
IFIPS2
2007-08
Architecture des ordinateurs
D. Etiemble
15
Registres: organisation RISC
• 32 registres généraux
(entiers) R0 à R31
• 32 registres flottants
• Instructions UAL et
mémoire
– Registre – registre
• Rd ← Rs1 op Rs2
– Registre – immédiat
• Rd ← Rs1 op immédiat
• Rd ↔ Mémoire (Rs1 + dépl.)
IFIPS2
2007-08
Architecture des ordinateurs
D. Etiemble
16
8
Formats d’instructions RISC
• Instructions UAL et Mémoire
6
MIPS
Code Op
MIPS
Code Op
6
5
5
5
S1
S2
D
5
Décalages
5
5
16
S1
D
Immédiat
6
RR
Ext. Code op
RI
• Sauts et branchements
6
MIPS
5
Code Op
5
S1
16
S2/ext code op
6
MIPS
Déplacement
BC
26
Code Op
Déplacement
IFIPS2
2007-08
B,J,C
Architecture des ordinateurs
D. Etiemble
17
Modèle (2,1)
(n,m)
n : nombre d’opérandes par instruction
m : nombre d’opérandes mémoire par instruction
Ex : A : = B + C
REGISTRE-MEMOIRE (2,1)
MP
Load
Add
Store
R1
R1
R1
@B
@C
@A
R1
R2
R3
MP
MP
C
B
A
C
B
A
R1
R2
R3
C
B
A
R1
R2
R3
+
CISC compatible avec la technologie MOS des années 75-80
IFIPS2
2007-08
Architecture des ordinateurs
D. Etiemble
18
9
Caractéristiques IA-32
• Instructions de longueur variable
Op code Reg. et MA Déplacement
1 or 2
1 or 2
0, 1, 2 or 4
Immédiat
0, 1, 2 or 4
octets
– Inst dest, source
REG
REG
REG
MEM
REG
MEM
IMM
REG
MEM
IMM
Lecture mémoire,
Exécution,
Ecriture mémoire
• Instructions complexes
– Rep
• Modes d’adressage complexes
Adresse mémoire = Rb + RI x f + déplacement
IFIPS2
2007-08
Architecture des ordinateurs
D. Etiemble
19
Registres : organisation IA-32
• Organisation non
homogène
– 8 registres «généraux»
avec rôle spécifique
– Registres flottants
fonctionnant en pile
(x87)
– Registres «SIMD»
MMX, SSE-SSE2SSE3)
IFIPS2
2007-08
Architecture des ordinateurs
D. Etiemble
20
10
Le débat RISC-CISC pour les PC
• Définition
– RISC : modèle (3,0)
– CISC : tous les autres
• RISC et pipeline
– Les jeux d’instructions RISC facilitent la réalisation de
pipelines performants
• « Solution » Intel et AMD pour IA-32
– Convertir les instructions CISC en instructions RISC lors
du décodage des instructions (conversion dynamique)
• On conserve la compatibilité binaire
• On a l’efficacité des pipelines « RISC »
IFIPS2
2007-08
Architecture des ordinateurs
D. Etiemble
21
Traduction des instructions x86
Pentium Pro, PII, PIII, P4
IFIPS2
2007-08
Instructions x86
Opérations RISC
add EAX, [EBP +d8]
load temp, [EBP + d8]
add EAX, temp
add [EBP +d8], EAX
load temp, [EBP + d8]
add EAX, temp
store EAX, [EBP+8]
cmp EAX, imm32
cmp EAX, imm32
push ECX
sub ESP, 4
store [ESP], ECX
Architecture des ordinateurs
D. Etiemble
22
11
Jeux d’instructions et applications
• Instructions SIMD
• Instructions pour traitement du signal (processeur
DSP)
– Multiplication - accumulation
– Produit scalaire
– Modes d’adressage complexes pour simplifier l’accès aux
données
– Modes d’adressage spécifiques au traitement du signal
• Mode d’adressage circulaire
• Mode d’adressage « bits inversées » pour la FFT
IFIPS2
2007-08
Architecture des ordinateurs
D. Etiemble
23
12
Téléchargement