Title: Architecture et technologie des ordinateurs II
1Architecture et technologiedes ordinateurs II
- Gianluca Tempesti
- EPFL-DI-LSL, INN 235
- Tel 693 2676
- E-Mail gianluca.tempesti_at_epfl.ch
- Web lslwww.epfl.ch/tempesti/CoursUNIL.htm
2Bibliographie
- John P. Hayes, Computer Architecture and
Organization, McGraw-Hill, 3rd ed., 1998. - David A. Patterson and John L. Hennessy, Computer
Architecture A Quantitative Approach, Morgan
Kaufmann, 2nd Ed., 1996. - David A. Patterson and John L. Hennessy, Computer
Organization and Design The Hardware/Software
Interface, Morgan Kaufmann, 2nd ed., 1997. - David A. Patterson and John L. Hennessy,
Architecture des ordinateurs une approche
quantitative, Thomson Publishing, 2ème ed., 1996.
3Programme détaillé
- Semaine 1 Introduction
- Historique
- Prix vs. performance
- Niveaux de conception
- Semaine 2 Arithmétique I
- Virgule fixe et flottante
- Addition et soustraction
- Semaine 3 Arithmétique II
- Multiplication et division
- Unité de traitement
- Semaine 4 Contrôle
- Unité de contrôle
- Programmes
- Semaine 5 Instructions
- Jeux dinstructions
- Décodage
- Séquencement
- Modes dadressage
- Semaine 6 Processeurs
- Microprogrammation
- Types de processeur
4Programme détaillé
- Semaine 7 Procédures
- Gestion des procédures
- Gestion des interruptions
- Semaine 8 Mémoires I
- RAM
- Mémoire virtuelle
- Semaine 9 Mémoires II
- Mémoire cache
- Mémoires associatives
- Semaine 10 Périphériques
- Gestion du bus système
- Gestion des périphériques
- Semaine 11 Petite pause
- Semaine 12 Pipelining
- Fonctionnement
- Aléas des pipelines
- Prédiction de branchement
- Semaine 13 Parallélisme des instructions I
- Ordonnancement dynamique
- Lancement multiple
- Compilation
- Semaine 14 Parallélisme des instructions II
- Architectures avancées
5Historique I - Époque méchanique
- Blaise Pascal - 1642 - Addition et soustraction
- Retenue automatique, complément
- Gottfried Leibniz - 1671 - Multiplication et
division - Additions successives
- Charles Babbage
- 1823 - Difference engine - addition
- Séquence dinstructions
- 1834 - Analytical engine - toute opération
- Contrôle de séquence (programme), ALU et mémoire
6Historique II - Calcul
- Calcul Zf(X)
- Turing machine - 1936
- Instructions read, write, move, halt
- Machine universelle
Processor P
H
Read/Write Head
Memory Tape T
7Historique III - Deuxième guerre
- Ordinateurs éléctroméchaniques
- Konrad Zuse - Z3 (1941) - nombres binaires,
flottants - ??? - Colossus (1943/1970) - décodage
- Howard Aiken - Harvard Mark I (1944)
- Ordinateurs éléctroniques
- Mauchly Eckert - ENIAC (1946)
- Programmation manuelle, base 10
- Wilkes - EDSAC (1949)
- Programme embarqué, base 2
- Von Neumann, Mauchly Eckert - EDVAC (1951)
- Rapport Burks, Goldstine et Von Neumann (1946)
8Historique IV - Générations
Dates 1950-1959 1960-1968 1969-1977 1977-???? ????
-????
1 2 3 4 5
Technologie Tubes à vide Transistors Circuits
intégrés VLSI ????
Produits Ordinateurs électroniques Ordinateurs
commerciaux Miniordinateurs PC et stations de
travaille ????
9Historique V - Générations
Date 1951 1964 1965 1976 1981 1991 1996
Produit UNIVAC I IBM S/360 PDP-8 Cray-1 IBM
PC HP9000 PPro 200
Taille (ft3) 1000 60 8 58 1 2 2
Puissance (W) 124500 10000 500 60000 150 500 500
Add/sec 1900 500K 330K 166M 240K 50M 400M
Prix (1996) 5M 4M 66K 8.5M 4K 8K 4.5K
10Performance
- Temps dexécution et bande passante
- Coups dhorloge et instructions
1
Performance
Temps dexécution
coups dhorloge pour le programme
Temps dexécution (CPU)
Fréquence dhorloge
coups dhorloge pour le programme
instructions ? coups dhorloge moyen par
instruction
11Performance - Loi dAmdahl
- Améliorations et accélération
- La loi dAmdahl
Temps dexécution avant amélioration
Accélération (speedup)
Temps dexécution après amélioration
Temps dexécution après amélioration
Temps dexécution concerné
Temps dexécution non concerné
Amélioration
12Performance - Mesures
- MIPS et FLOPS
- Fréquence dhorloge
- Performance de pointe (peak)
- Benchmarks
- Répartition des instructions
- Taille
- Localité des références (spatiale et/ou
temporelle) - SPEC
13Coûts
- Coût de fabrication
- Coût des composants 25-30 du prix de vente
Coût du circuit intégré
Coût de la puce Coût du test Coût de la mise
en boîtier
Rendement après le test final
Coût de la tranche (wafer)
Coût dune puce
Puces par tranche x Rendement des puces
14Codage binaire
Dans les systèmes numériques, toute information
est codée en binaire
Codage en base 2 N pn2n p222 p121
p020 par exemple 10110 1x24 0x23 1x22
1x21 0x20 16 4 2 22 mais aussi 10110
add R1, R2
15Logique combinatoire I
- Portes logiques
- Algèbre booléenne
- Minimisation (tables de Karnaugh)
4-INPUT
INVERTER
MULTIPLEXER
A
A
A
I
O
O
O
B
B
B
O
C
D
S0
S1
16Logique combinatoire III
- Unité arithmétique et logique (ALU)
M S1 S0 F 0 0 0 A 0 0 1 AB 0 1 0
A 0 1 1 AB 1 0 0 A-1 1 0 1 AB 1 1 0
A-B 1 1 1 A1
logique
A
B
M
S
F
2
arithmétique
17Logique séquentielle I
- Verrou (latch)
- Bascule (flip-flop)
0
Q
D
Q
Q
LD
Q
D
1
D entrée dexcitation LD entrée de contrôle Q
sortie ou état du latch
LD
maître
esclave
D
Q
D
D
Q
Q
D
Q
CK
LD
LD
Q
Q
Q
Q
CK
18Logique séquentielle II
10/1
n
état présent
ƒ
X1X2/Z
bascules
état futur
a 0001
11/1
10/1
00/0
01/0
00/0
b 0010
d 1000
CK
00/1
10/0
01/0
11/1
11/0
11/0
10/0
00/1
c 0100
01/1
01/1
19Logique séquentielle III
Registre
Registre à décalage
Q3
Q2
Q1
Q0
Q3
Q2
Q1
Q0
CK
CK
S0
L
D3
D2
D1
D0
D3
D2
D1
D0
D3
D0
S1
Pile (stack)
Compteur
push
pop
Q3
Q2
Q1
Q0
CK
DIR
CK
sommet
20Niveau registre
- Unité dinformation mot (2N bits)
- Composants de base multiplexeurs, décodeurs,
additionneurs, ALUs, registres, registres à
décalage, compteurs, etc. - Pas de méthode formelle pour les optimisations et
les simplifications. - Lalgèbre booléenne peut être adaptée, mais ne
suffit pas (opérations numériques).
21Niveau processeur (CPU)
- Unités dinformation blocs dinstructions, blocs
de données. - Composants de base mémoire cache, datapath,
décodeur, bancs de registres, unité flottante.
CPU
Unité de Traitement
Unité de Contrôle
Cache Données
Cache Instructions
Décodeur
ALU
Unité Flottante
PC
Registres
22Niveau système
- Unités dinformation programme, structures de
données. - Composants de base mémoire, CPU, I/O, bus
système - I/Os standard cartes SCSI et/ou IDE, clavier,
souri, haut-parleurs, etc. - La vitesse du bus système devient le facteur
prédominant pour la performance dun ordinateur.
MÉMOIRE
CPU
IO
IO
IO
BUS SYSTÈME
23Von Neumann vs. Harvard
MÉMOIRE
CPU
IO
IO
IO
BUS SYSTÈME
BUS INSTRUCTIONS
MÉMOIRE DONNÉES
CPU
MÉMOIRE INSTR
IO
IO
IO
BUS DONNÉES
24Hiérarchie des mémoires
- Architecture Von Neumann
- Architecture Harvard
- Architecture Harvard réelle
Mémoire cache (niveau 1)
Mémoire non-volatile (disque dur)
Mémoire volatile (RAM)
Mémoire cache (niveau 2)
Registres CPU (niveau 0)
Mémoire volatile instructions
Cache instructions (niveau 1)
Cache instructions (niveau 2)
Mémoire non-volatile (disque dur)
Cache données (niveau 1)
Mémoire volatile données
Cache données (niveau 2)
Registres CPU (niveau 0)
Cache instructions (niveau 1)
Mémoire non-volatile (disque dur)
Mémoire volatile (RAM)
Mémoire cache (niveau 2)
Cache données (niveau 1)
Registres CPU (niveau 0)