Architecture et technologie des ordinateurs II Gianluca Tempesti EPFL-DI-LSL, INN 235 Tel: 693 2676 E-Mail: gianluca.tempesti@epfl.ch Web: lsltempesti/CoursUNIL.htm.
Post on 04-Apr-2015
103 Views
Preview:
Transcript
Architecture et technologiedes ordinateurs II
Gianluca TempestiEPFL-DI-LSL, INN 235
Tel: 693 2676E-Mail: gianluca.tempesti@epfl.ch
Web: lslwww.epfl.ch/~tempesti/CoursUNIL.htm
BibliographieJohn 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.
Programme 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 d’instructions Décodage Séquencement Modes d’adressage
Semaine 6: Processeurs Microprogrammation Types de processeur
Programme 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
Historique 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 d’instructions
1834 - Analytical engine - toute opération Contrôle de séquence (programme), ALU et mémoire
Historique II - Calcul Calcul : Z=f(X)
Turing machine - 1936
Instructions: read, write, move, halt Machine “universelle”
HH
Processor P
Read/Write Head
Memory Tape T
Historique 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)
Historique 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
????
Historique 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
Performance Temps d’exécution et bande passante
Coups d’horloge et instructions
Performance = 1
Temps d’exécution
Temps d’exécution (CPU) =Fréquence d’horloge
# coups d’horloge pour le programme
# coups d’horloge pour le programme =
# instructions # coups d’horloge moyen par
instruction
Améliorations et accélération
La loi d’Amdahl
Performance - Loi d’Amdahl
Accélération (speedup) =Temps d’exécution après amélioration
Temps d’exécution avant amélioration
Temps d’exécution après amélioration =
Amélioration
Temps d’exécution concerné+ Temps d’exécution non concerné
Performance - Mesures
MIPS et FLOPS
Fréquence d’horloge
Performance de pointe (peak)
Benchmarks Répartition des instructions Taille Localité des références (spatiale et/ou temporelle) SPEC
Coûts
Coût du circuit intégré =
Rendement après le test final
Coût de la puce + Coût du test + Coût de la mise en boîtier
Coût d’une puce =Puces par tranche x Rendement des puces
Coût de la tranche (wafer)
Coût de fabrication
Coût des composants = 25-30% du prix de vente
Codage binaire
TRANSITORS
C
C=0
C=1BA
BA
BA
C
C=0
C=1BA
BA
BA IN OUT 0 1 1 0
IN=1 OUT=0
Vcc
GND
INVERSEUR
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
Logique combinatoire I
AB
2-INPUTAND GATE
O
A B O 0 0 0 0 1 0 1 0 0 1 1 1
2-INPUTOR GATE
I O
INVERTER
I O
0 1 1 0
4-INPUTMULTIPLEXER
Portes logiques
Algèbre booléenne
Minimisation (tables de Karnaugh)
AB 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
AB OCDS0S1
Logique combinatoire III
A B
MS
2F
M S1 S0 F0 0 0 A0 0 1 A•B0 1 0 A0 1 1 A+B1 0 0 A-11 0 1 A+B1 1 0 A-B1 1 1 A+1
logique
arithmétique
Unité arithmétique et logique (ALU)
Verrou (latch)
Bascule (flip-flop)
Logique séquentielle I
D
LD
Q0
1Q
D
LD
Q
Q
D: entrée d’excitationLD: entrée de contrôleQ: sortie ou état du latch
D
CKQ
Q
LD LD
DD
Q Q
QQmaître esclave
D
CK
Q
Q
Logique séquentielle II
X1X2/Z
10/1
10/1
00/000/0
00/1
00/1
01/1
01/1
11/1
11/1
10/0
10/0
11/011/0
01/0
01/0
étatprésentétat
futur
ƒ bascules
CK
n
Machine d’état
a0001
b0010
c0100
d1000
Logique séquentielle III
push pop
sommet
L
CK
D3 D2 D1 D0
Q3 Q2 Q1 Q0
Registre Registre à décalage
CK
Pile (stack)
DIR
CK Q3 Q2 Q1 Q0
Compteur
S0CK
D3 D2 D1 D0
Q3 Q2 Q1 Q0
D3 D0S1
Niveau registre
Unité d’information: 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.
L’algèbre booléenne peut être adaptée, mais ne suffit pas (opérations numériques).
Niveau processeur (CPU) Unités d’information: blocs d’instructions, blocs de
données.
Composants de base: mémoire cache, datapath, décodeur, bancs de registres, unité flottante.
RegistresRegistres
Unité deTraitement
Unité deTraitement
UnitéFlottante
Unité deContrôle
Unité deContrôle
Décodeur
PC
ALU
CPU CacheDonnées
CacheInstructions
Unités d’information: 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 d’un ordinateur.
Niveau système
MÉMOIREMÉMOIRE CPUCPUIOIO
• • • • •IOIO IOIO
BUS SYSTÈME
Von Neumann
Harvard
Von Neumann vs. Harvard
MÉMOIREMÉMOIRE CPUCPUIOIO
• • • • •IOIO IOIO
BUS SYSTÈME
MÉMOIREDONNÉES
MÉMOIREDONNÉES CPUCPU IOIO • • • • •IOIO IOIO
BUS DONNÉES
BUS INSTRUCTIONS
MÉMOIREINSTR
MÉMOIREINSTR
Architecture Von Neumann
Architecture Harvard
Architecture Harvard “réelle”
Hiérarchie des mémoires
Mémoirecache
(niveau 1)
Mémoirenon-volatile(disque dur)
Mémoirevolatile(RAM)
Mémoirecache
(niveau 2)
RegistresCPU
(niveau 0)
Mémoirevolatile
instructions
Cache instructions(niveau 1)Mémoire
non-volatile(disque dur)
Cacheinstructions(niveau 2)
Cachedonnées
(niveau 1)
Mémoirevolatiledonnées
Cachedonnées
(niveau 2)
RegistresCPU
(niveau 0)
Cacheinstructions(niveau 1)Mémoire
non-volatile(disque dur)
Mémoirevolatile(RAM)
Mémoirecache
(niveau 2) Cachedonnées
(niveau 1)
RegistresCPU
(niveau 0)
top related