Vous êtes sur la page 1sur 24

Architecture et technologie

des ordinateurs II
Gianluca Tempesti
EPFL-DI-LSL, INN 235
Tel: 693 2676
E-Mail: gianluca.tempesti@epfl.ch
Web: lslwww.epfl.ch/~tempesti/CoursUNIL.htm
Bibliographie
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, 2me ed., 1996.
Programme dtaill
Semaine 1: Introduction
Historique
Prix vs. performance
Niveaux de conception
Semaine 2: Arithmtique I
Virgule fixe et flottante
Addition et soustraction
Semaine 3:
Arithmtique II
Multiplication et division
Unit de traitement
Semaine 4: Contrle
Unit de contrle
Programmes
Semaine 5: Instructions
Jeux dinstructions
Dcodage
Squencement
Modes dadressage
Semaine 6: Processeurs
Microprogrammation
Types de processeur
Programme dtaill
Semaine 7: Procdures
Gestion des procdures
Gestion des interruptions
Semaine 8: Mmoires I
RAM
Mmoire virtuelle
Semaine 9: Mmoires II
Mmoire cache
Mmoires associatives
Semaine 10: Priphriques
Gestion du bus systme
Gestion des priphriques
Semaine 11: Petite pause
Semaine 12: Pipelining
Fonctionnement
Alas des pipelines
Prdiction de branchement
Semaine 13: Paralllisme
des instructions I
Ordonnancement dynamique
Lancement multiple
Compilation
Semaine 14: Paralllisme
des instructions II
Architectures avances
Historique I - poque mchanique
Blaise Pascal - 1642 - Addition et soustraction
Retenue automatique, complment
Gottfried Leibniz - 1671 - Multiplication et
division
Additions successives
Charles Babbage
1823 - Difference engine - addition
Squence dinstructions
1834 - Analytical engine - toute opration
Contrle de squence (programme), ALU et mmoire
Historique II - Calcul
Calcul : Z=f(X)
Turing machine - 1936




Instructions: read, write, move, halt
Machine universelle
H
Processor P
Read/Write Head
Memory Tape T
Historique III - Deuxime guerre
Ordinateurs lctromchaniques
Konrad Zuse - Z3 (1941) - nombres binaires, flottants
??? - Colossus (1943/1970) - dcodage
Howard Aiken - Harvard Mark I (1944)
Ordinateurs lctroniques
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)
Historique IV - Gnrations
Dates
1950-1959
1960-1968
1969-1977
1977-????
????-????

1
2
3
4
5
Technologie
Tubes vide
Transistors
Circuits intgrs
VLSI
????
Produits
Ordinateurs lectroniques
Ordinateurs commerciaux
Miniordinateurs
PC et stations de travaille
????
Historique V - Gnrations
Date
1951
1964
1965
1976
1981
1991
1996
Produit
UNIVAC I
IBM S/360
PDP-8
Cray-1
IBM PC
HP9000
PPro 200
Taille (ft
3
)
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
Performance
Temps dexcution et bande passante


Coups dhorloge et instructions
Performance =
1
Temps dexcution
Temps dexcution (CPU) =
Frquence dhorloge
# coups dhorloge pour le programme
# coups dhorloge pour le programme =
# instructions # coups dhorloge moyen par instruction
Amliorations et acclration


La loi dAmdahl
Performance - Loi dAmdahl
Acclration (speedup) =
Temps dexcution aprs amlioration
Temps dexcution avant amlioration
Temps dexcution aprs amlioration =
Amlioration
Temps dexcution concern
+ Temps dexcution non concern
Performance - Mesures
MIPS et FLOPS
Frquence dhorloge
Performance de pointe (peak)
Benchmarks
Rpartition des instructions
Taille
Localit des rfrences (spatiale et/ou temporelle)
SPEC
Cots
Cot du circuit intgr =
Rendement aprs le test final
Cot de la puce + Cot du test + Cot de la mise en botier
Cot dune puce =
Puces par tranche x Rendement des puces
Cot de la tranche (wafer)
Cot de fabrication





Cot des composants = 25-30% du prix de vente
Codage binaire
TRANSITORS
C
C=0
C=1 B A
B A
B A
C
C=
0
C=1 B A
B A
B A
IN OUT
0 1
1 0
IN=1 OUT=
0
Vcc
GN
D
INVERSEUR
Dans les systmes numriques, toute information est code en binaire
Codage en base 2:
N = p
n
2
n
+ + p
2
2
2
+ p
1
2
1
+ p
0
2
0

par exemple:
10110 = 1x2
4
+ 0x2
3
+ 1x2
2
+ 1x2
1
+ 0x2
0
= 16 + 4 + 2 = 22
mais aussi:
10110 = add R1, R2
Logique combinatoire I
A
B
2-INPUT
AND GATE
O
A B O
0 0 0
0 1 0
1 0 0
1 1 1
2-INPUT
OR GATE
I O
INVERTER
I O
0 1
1 0
4-INPUT
MULTIPLEXER
Portes logiques





Algbre boolenne
Minimisation (tables de Karnaugh)
A
B
O
A B O
0 0 0
0 1 1
1 0 1
1 1 1 S0 S1 O
0 0 A
0 1 B
1 0 C
1 1 D
A
B
O
C
D
S0
S1
Logique combinatoire III
A B
M
S
2
F
M S1 S0 F
0 0 0 A
0 0 1 AB
0 1 0 A
0 1 1 A+B
1 0 0 A-1
1 0 1 A+B
1 1 0 A-B
1 1 1 A+1
logique
arithmtique
Unit arithmtique et logique (ALU)
Verrou (latch)



Bascule (flip-flop)
Logique squentielle I
D
LD
Q
0
1
Q
D
LD
Q
Q
D: entre dexcitation
LD: entre de contrle
Q: sortie ou tat du latch
D
CK
Q
Q
LD LD
D D
Q Q
Q Q
matre esclave
D
CK
Q
Q
Logique squentielle II
X1X2/Z
10/1
10/1
00/0
00/0
00/1
00/1
01/1
01/1
11/1
11/1
10/0
10/0
11/0
11/0
01/0
01/0
tat
prsent
tat
futur

bascules
CK
n
Machine dtat
a
0001
b
0010
c
0100
d
1000
Logique squentielle III
push pop
sommet
L
CK
D3 D2 D1 D0
Q3 Q2 Q1 Q0
Registre Registre dcalage
CK
Pile (stack)
DIR
CK
Q3 Q2 Q1 Q0
Compteur
S0
CK
D3 D2 D1 D0
Q3 Q2 Q1 Q0
D3 D0 S1
Niveau registre
Unit dinformation: mot (2
N
bits)
Composants de base: multiplexeurs, dcodeurs,
additionneurs, ALUs, registres, registres
dcalage, compteurs, etc.
Pas de mthode formelle pour les optimisations et
les simplifications.
Lalgbre boolenne peut tre adapte, mais ne
suffit pas (oprations numriques).
Niveau processeur (CPU)
Units dinformation: blocs dinstructions, blocs de
donnes.
Composants de base: mmoire cache, datapath, dcodeur,
bancs de registres, unit flottante.
Registres
Unit de
Traitement




Unit
Flottante
Unit de
Contrle




Dcodeur
PC
ALU
CPU
Cache
Donnes

Cache
Instructions

Units dinformation: programme, structures de donnes.
Composants de base: mmoire, CPU, I/O, bus systme



I/Os standard: cartes SCSI et/ou IDE, clavier, souri,
haut-parleurs, etc.
La vitesse du bus systme devient le facteur prdominant
pour la performance dun ordinateur.
Niveau systme
MMOIRE
CPU
IO

IO IO
BUS SYSTME
Von Neumann


Harvard
Von Neumann vs. Harvard
MMOIRE
CPU
IO

IO IO
BUS SYSTME
MMOIRE
DONNES
CPU IO IO IO
BUS DONNES
BUS INSTRUCTIONS
MMOIRE
INSTR
Architecture Von Neumann

Architecture Harvard



Architecture Harvard relle
Hirarchie des mmoires
Mmoire
cache
(niveau 1)
Mmoire
non-volatile
(disque dur)
Mmoire
volatile
(RAM)
Mmoire
cache
(niveau 2)
Registres
CPU
(niveau 0)
Mmoire
volatile
instructions
Cache
instructions
(niveau 1)
Mmoire
non-volatile
(disque dur)
Cache
instructions
(niveau 2)
Cache
donnes
(niveau 1)
Mmoire
volatile
donnes
Cache
donnes
(niveau 2)
Registres
CPU
(niveau 0)
Cache
instructions
(niveau 1)
Mmoire
non-volatile
(disque dur)
Mmoire
volatile
(RAM)
Mmoire
cache
(niveau 2)
Cache
donnes
(niveau 1)
Registres
CPU
(niveau 0)