Historique

publicité
Architecture des ordinateurs
module I303
B. Miramond
[email protected]
www-etis.ensea.fr/Members/bmiramond/Cours/Enseignement.html
3 niveaux de travail
Comprendre plus loin
Un métier
Pour savoir faire
Un diplôme
Pour comprendre
Pour la note
26/11/07
Vous êtes ici
2
Objectif du module
Théoriquement
• Comprendre les mécanismes matériels essentiels
de l’informatique.
• Comprendre l’organisation de l’ordinateur autour
de l’élément central, le processeur.
• Pour cela, étudier les différentes couches qui
structurent la machine et la philosophie de son
utilisation.
• En bref, du circuit numérique à l’architecture
processeur
Pratiquement
26/11/07
3
• Réaliser un simulateur de processeur 4 bits
Programme du module
26/11/07
4
Architecture des ordinateurs
Introduction & Historique
3h
Cours
4h
TDs
Représentation des nombres
Couche physique, circuits logiq.
Circuits séquentiels
Le chemin de donnée
CC
Couche micro-architecture
Cycle d’exécution
26/11/07
Conclusion sur l’exécution
5
Parcours ‘architecture’
Architectures multimédia
M2
Architecture avancée
M1-S2
Informatique embarquée
M1-S1
La programmation en assembleur
L’exécution des programmes
26/11/07
L3
L2
6
Règles du jeu
•
•
•
•
8 séances de cours
8 séances de TDs
1 Note de Contrôle continu + 1 Projet
1 examen
• Note finales N = (CC + 2P)/3
26/11/07
7
Evaluation du cours
• Première année du cursus LMD
• Evaluation des séances d’une semaine à l’autre
• Quatre critères avec des notes de 1 à 3
–
–
–
–
Organisation
Rapidité
Difficulté
Intérêt
•26/11/07
Quelle façon de le mettre en place?
8
Note
• Cette semaine CM également le
Vendredi !
26/11/07
9
Pourquoi l’architecture?
• Support de l’informatique
– Comprendre le mécanisme d’exécution des
programmes
• Programmes = Ordres (injonctions) =
langage
– Qu’est ce qu’un langage du point de vue
matériel?
• Couple (langage, machine)
– La machine traduit le langage du programme,
– un langage = une machine
26/11/07
• Ordinateur = machine multi-couches
10
Couche des langages d’application
Niveau 5
Traduction (compilateur)
Couche du langage d’assemblage
Niveau 4
Traduction (assembleur)
Couche du système d’exploitation
Niveau 3
Interprétation partielle (OS)
Niveau 2
Couche architecture du jeu d’instruction
(ISA)
Interprétation (microprogramme)
ou exécution directe (cablé)
Niveau 1
Couche microarchitecture
Matériel
26/11/07
Niveau 0
Couche logique numérique
11
26/11/07
12
Chapitre 1 :
L’histoire de l’ordinateur
26/11/07
13
Définition : L’ordinateur
• Le terme 'ordinateur' est d’origine biblique
– « celui qui met en ordre » (divin)
– ordonnateur
– « entrer dans les ordres », « ordination »
• Il a été proposé par le professeur de
philologie Jacques Perret dans une lettre
datée du 16 avril 1955 en réponse à une
demande d’IBM France
26/11/07
14
I. Génération zéro:
les calculateurs mécaniques
(1642-1945)
26/11/07
15
1. Le premier calculateur
• a) Blaise Pascal (1623-1662)
– 1642 Première calculatrice mécanique (à 19
ans)
• Addition, soustraction en base 10
• b) Leibnitz (1646-1716)
– 1670 Ajout de l’opération de multiplication, et
division
26/11/07
16
La pascaline
26/11/07
17
• c) Charles Babbage (1792-1871)
– « Machine à différence » :
• un seul algorithme (méthode des différences finies)
• pour les tables numériques pour la navigation en mer
• Résultats gravés sur un plateau de cuivre
– Machine analytique (1840)
• Lecture sur des cartes perforées
• Différents algorithmes exécutables !!!
• 4 parties
– Le magasin(la mémoire) = 1000 mots de 50 chiffres =
1,25Mo
– Le moulin (l’unité de calcul)
– L’entrée (lecteur de cartes perforées)
– La sortie (perforation ou impression)
– 1843 Premier programme informatique
26/11/07
• Ada Lovelace (langage d’assemblage)
18
Charles Babbage
Première machine analytique
26/11/07
19
Ada Lovelace (Byron)
• `Is thy face like thy mother's, my fair child!
Ada! sole daughter of my house and of my
heart? When last I saw thy young blue
eyes they smiled'
And then we parted,-not as now we part,
but with a hope.'
• From Childe Harold's Pilgrimage, Byron,
(1816), Canto III.
26/11/07
20
II. La première génération
les tubes à vides
(1945-1955)
26/11/07
21
• Innovation
– 1904 John Flemming invente le
tube à vide :
• Interrupteur électronique (pannes
fréquentes, encombrant)
• Alan Turing
– 1943 Premier calculateur
numérique
– Resté sous silence pendant 30ans
26/11/07
22
1. Machine de Harvard
• « the beginning of the era of the modern
computer»
• Ordinateur à relais
Addition
• 1944 Howard Aiken
Multiplicatio
– Mark 1 à Harvard
n
– Entièrement automatique
Division
– 16m x 2,5m – 4500 Kg
– Démarré par un moteur 4 chevaux
Logarithme
– 72 mots de 23 chiffres
trigo
– Temps de cycle : 6 secondes
– Soit 0.16 Hz
26/11/07
1s
6s
15,3s
1min
1min
23
Mark I
26/11/07
24
2. ENIAC
•
•
•
•
Mauchly et Eckert
Projet de l’US Army
Premier ordinateur électronique
Capable d’être reprogrammée par
branchements
• Vendue à 500 000$ à 1 unité
• 1 cycle = 200ms soit 5 cycles/sec
• Une multiplication de 2 opérandes à 10
chiffres prenait 14 cycles, soit 2800 us
26/11/07
25
• ENIAC (1946)
– 30m de long
– 2.5m de haut
– 18 000 tubes à vide
– 1500 relais
– 30 Tonnes
– 140 KW
– 20 registres de 10
chiffres décimaux
– 6000 commutateurs
pour la programmation
– Participant :
Von Neumann
3. La machine de Von Neumann
• A) Von Neumann (1903,1957)
– Il se greffe au projet ENIAC après 1946
• Idées
– On peut représenter le programme sous une
forme numérique et le ranger en mémoire
comme les données (plus de programmation
des commutateurs)
– Introduction de l’arithmétique binaire!
– Ancêtre à la base des architectures actuelles
• Résultat : l’IAS (1952)
26/11/07
27
b) Schéma de la machine de Von
Neumann
5 parties
• La mémoire
• L’UAL
• L’unité de commande
• Les entrées
• Les sorties
Mémoire (4096 mots de 40 bits)
Unité
arithmétique
et logique
Unité de
commande
Accumulateur
Entrées
26/11/07
Sorties
28
c) L’apport de Von Neumann
• Le premier ordinateur à programme
enregistré
• Le programme est traduit de manière
numérique et écrit en mémoire.
• Pour cela, création d’un jeu d’instructions
machine, et transformation des calculs en
séries d’instructions
• La machine devient plus flexible parce que
programmable
26/11/07
29
d) Von Neumann’s Bottleneck
• La séparation entre le CPU et la mémoire a amené à la
notion de Von Neumann’s Bottleneck
• (goulot d’étranglement qu’est la communication entre
processeur et mémoire).
• ‘’ Surely there must be a less primitive way of making big
changes in the store than by pushing vast numbers of
words back and forth through the von Neumann
bottleneck. Not only is this tube a literal bottleneck for
the data traffic of a problem, but, more importantly, it is
an intellectual bottleneck that has kept us tied to wordat-a-time thinking instead of encouraging us to think in
terms of the larger conceptual units of the task at hand.
Thus programming is basically planning and detailing the
enormous traffic of words through the von Neumann
bottleneck, and much of that traffic concerns not
significant data itself, but where to find it."
26/11/07
30
• John Backus in his 1977 ACM Turing award lecture
e) Machine de Von Neumann
• Structure des mots mémoire mots de 40 bits :
– Soit 2 instructions de 20 bits
– Soit 1 entier signé de 40 bits
• Instructions composées de 2 champs
– 8 bits codent le type d’instruction
– 12 bits pour spécifier (adresser) un des 4096 mots
Code d’instruction
adressage
• Ex :
– PUSH
– ACC
26/11/07
$1024
$0015
31
26/11/07
Von Neumann et sa machine
32
III. 2ème génération
les transistors
(1955-1965)
26/11/07
33
1) Innovations
• A) Innovations technologiques
– 1948 : Invention du transistor aux Bell Labs
(Bardeen, Shockley)
• Interrupteur commandé électroniquement
• Beaucoup moins encombrant que le tube
• B) Concepts architecturaux
– Programmation en langage machine
– Microprogrammation
– Représentation des nombres en virgule
flottante
• C) Logiciel
– Apparition des systèmes d’exploitation
26/11/07
34
– Programmation en assembleur et FORTRAN
d) Le début des grandes firmes
• IBM
– (7090, 7094, 7030…)
• Bull
– (PDP-1, PDP-8…)
• DEC
– (TX-0, TX-2…)
• CDC
– (6600, 6700, Cray-1…)
26/11/07
35
IBM 7094
26/11/07
(uniquement les consoles…)
PDP-8
36
IV. 3ème génération
les circuits intégrés
(1965-1980)
26/11/07
37
1) Innovations
• A) 1961 Premiers circuits intégrés (R.
Noyce)
– Innovations technologiques
• Moindre encombrement
• Moindre consommation
• Gain en performances
• Domination : IBM
26/11/07
38
• B) Innovations architecturales
– Compatibilité des machines d’une même gamme
(IBM: System/360)
– Introduction du parallélisme (multiprogrammation)
– Systèmes à multi-processeurs
• C) Logiciels
– Langages de programmation
• Basic, Pascal, C, …
• D) Exemples d’architectures
– IBM 360, CDC 6000, PDP 11, …
26/11/07
39
1) L’offre d’IBM: System/360
Caractéristiqu
es des
System/3…
Performance
relative
Temps de
cycle (ns)
Mémoire max.
(Ko)
26/11/07
30
40
50
60
1
1 KHz
10
2 KHz
21
4 KHz
1000
3,5
1,6
KHz
625
500
250
64
256
256
512
40
IBM 360
26/11/07
41
PDP-11
2) Naissance d’Intel
• 1968 R. Noyce, G. Moore et A. Rock
fondent Intel Corporation
• 1970 première UC composée de 2300
transistors (LSI) : le 4004 processeur 4bits
• 1973 le 8008 processeur 8bits
• 1978 le 8086 processeurs 16 bits
26/11/07
42
26/11/07
1971 : Premier microprocesseur
Intel 4004
Microprocesseur 4 bits
108 KHz
60000 Instructions par seconde
2300 transistors
43
V. 4ème génération
Les VLSI
(1980, maintenant)
26/11/07
44
1. Innovations
• Densité d’intégration augmente : VLSI
– Dizaine de milliers -> millions de transistors
sur une puce
• Passage du centre de calcul à l’ordinateur
personnel
• Innovations architecturales
– réseaux d’ordinateurs
– Concepts de parallélisme développés
• Logiciels
26/11/07
45
MSI
(100 – 100K)
LSI
(10-100)
VLSI
2. Evolution des
Circuits intégrés
Matériaux de
base
• Silicium
Motif de base
• transistor
26/11/07
Gravés sur des
galettes de
silicium (wafer)
46
3. Les nouveautés
• 1977 Apple puis Apple II (Steve Jobs)
– Plusieurs millions d’exemplaires
• 1981 l’IBM PC (personnal computer)
– Intel 8088
– MS-DOS (microsoft)
– Plans diffusés gratuitement => clonage
• 1980 Architecture RISC dominante
• 1990 UC Superscalaires (cours de M1)
26/11/07
47
IBM PC
Apple II
26/11/07
48
4. Evolution chez Intel
• 8086
(1978)
– 16bits, 1Mo,
• 80286
(1982)
– 16 bits, mémoire étentue
• 80386
(1985)
– 32 bits
• 80486
(1989)
– 32 bits, cache de 8K
• Pentium
(1993)
– Double pipeline
• Pentium pro
(1995)
– Cache mémoire à 2 niveaux 8Ko + 256Ko
• Pentium II + Celeron + Xeon
– MMX
• Pentium III
26/11/07
• Pentium IV
(1997)
Compatibilité
(1999) ascendante
49
(2000)
Evolution des processeurs Intel:
densité, fréquence d’horloge
8000
7000
6000
5000
Année
MHz
Transistors
4000
3000
2000
1000
80
48
6
Pe
nt
iu
m
Pe
nt
iu
m
II
80
38
6
80
86
80
80
80
28
6
26/11/07
80
08
40
04
0
50
Evolution des processeurs Intel:
mémoire
10000000
1000000
100000
10000
1000
mémoire Ko
100
10
II
Pe
nt
iu
m
iu
m
6
Pe
nt
48
80
6
38
80
6
28
80
86
80
80
80
0,1
80
26/11/07
08
1
51
Intérieur du Pentium IV (Intel)
• année 2000
• 125 millions de
transistors
• 2-4 GHz
26/11/07
52
VI. Résumé
26/11/07
53
Mécanisme
de l’arithmétique
1. L’héritage
Automates
Falcon
Pascal
Leibnitz
Jacquard
Logique
mathématique
Technologie
Leibnitz
Mécanique
Babbage
Boole
Turing
ENIAC
Electromécanique
Electronique
Von Neumann
Wilkes
26/11/07
Industrie Informatique
54
2. Evolution historique
1980’s
Suppression de la microprogrammation => cablé
1970’s
« Ajouter du matériel par logiciel » : explosion des
jeux d’instructions
1960’s
5 Niveaux : OS
1957’s
4 Niveaux : J. Bachus premier compilateur FORTRAN
1951
3 Niveaux : M. Wilkes, niveau microprogrammation
26/11/07
1940
2 Niveaux : ISA + physique
55
Couche des langages d’application
Niveau 5
Traduction (compilateur)
Couche du langage d’assemblage
Niveau 4
Traduction (assembleur)
Couche du système d’exploitation
Niveau 3
Interprétation partielle (OS)
Niveau 2
Couche architecture du jeu d’instruction
(ISA)
Interprétation (microprogramme)
ou exécution directe (cablé)
Niveau 1
Couche microarchitecture
Matériel
26/11/07
Niveau 0
Couche logique numérique
56
VII. L’ordinateur actuel
26/11/07
57
Type
1. Spectre des ordinateurs
actuels
Ordinateur jetable
Ordinateur enfoui
Ordinateur de jeux
Ordinateur
personnel
Serveur
Station de travail
Mainframe
26/11/07
superordinateur
Prix
(euros
1)
10
100
1K
10K
100K
1M
Exemple d’application
Carte de vœux
téléphone, voitures
Jeux vidéo
Ordinateur portable
Serveur de réseau
Mini superordinateur
Traitement par lot :
banque
58
10M Prévision météo
2. Quelques marques de
processeurs
• Intel, AMD, Via
– Ordinateur personnel
• Sun
– Stations de travail (ultrasparc)
– Systèmes enfouis (microjava 701)
• Nvidia
– Carte graphique
• Transmeta, altera, Xilinx, ARM, MIPS
– Systèmes enfouis (crusoe, nios, virtex, arm9,
mipsRx000)
• …
26/11/07
59
3. Leurs propriétés courantes
• 3 composants
– Processeur
– Mémoires
– Entrées/sorties
• Organisation multi-niveaux
• Architecture de Von Neumann (processeur)
– Commande, chemin de données, mémoire,
entrées/sorties
• Architecture de Harvard (Mark1)
– Mémoire et mécanismes d’accès séparées entre
26/11/07 données et instructions
60
Le bus central
UC
Mémoire
Console
E/S
à ruban
Autres
E/S
Architecture du PDP-8 (1965) structurée autour d’un bus central :
• L’omnibus
Le bus et la mémoire peuvent disposer de signaux séparées entre
26/11/07 et instructions (Harvard)
61
données
4. Architecture actuelle de
l’ordinateur
UC / CPU
Unité de Contrôle
Disque
(HDD)
Unités d’entrée/sortie
Registres
UAL
Mémoire principale
Bus interne
26/11/07
Bus externe
• Données
• Adresses
62
• Commandes
VIII. Prochaines générations ?
Facteurs d’évolution
• Loi de Moore
• Première loi de Nathan
26/11/07
63
Evolution technologique
• 1965 Modélisation par la Loi de Moore
(Gordon Moore dirigeant d’Intel)
– La densité d’intégration (le nombre de
transistors sur une puce) double tous les 18
mois (60% l’an)
– Prédiction empirique devenu incroyablement
exacte et même un objectif à tenir
– Cercle vertueux
26/11/07
64
Evolution technologique
• Loi de Moore
– Le nombre de transistors à l’intérieur d’un circuit
double tous les 18 mois
26/11/07
65
(suite)
The Continuing Evolution of Intel Microprocessors
CIS105
December 2002
1600
1,400
1400
Speed (MHZ)
1200
1000
800
550
600
400
200
0
26/11/07
400
400
1998
1999
333
200
200
233
1993
1995
1997
100
0.74
2
8
12
33
1971
1974
1979
1982
1985
1989
Year
1998
1999
2000
66
Première loi de Nathan
• Nathan Myhrvold
– « Le logiciel se comporte comme un gaz : son
expansion est telle qu’il remplit tout contenant
»
Le logiciel crée une pression d’évolution sur les
– Processeurs
– Mémoires
– e/s
26/11/07
67
Can machine think?
A. M. Turing 1950
26/11/07
68
Objectifs du cours
d’architecture du L2 au M2
26/11/07
69
Couche des langages d’application
Niveau 5
Traduction (compilateur)
Couche du langage d’assemblage
Niveau 4
Traduction (assembleur)
Couche du système d’exploitation
Niveau 3
Interprétation partielle (OS)
Niveau 2
Couche architecture du jeu d’instruction
(ISA)
Interprétation (microprogramme)
ou exécution directe (cablé)
Niveau 1
Couche microarchitecture
Matériel
26/11/07
Niveau 0
Couche logique numérique
70
Parcours ‘architecture’
Architectures multimédia
M2 • Circuits reconfigurables
Architecture avancée
M1-S2 • Les classes d’architecture
Informatique embarquée
La programmation en assembleur
L’exécution des programmes
26/11/07
• Conception des SoC
• Les DSP
M1-S1
L3
• Architectures embarquée
• Couche OS - RTOS
• Couche ISA
• Couche assemblage
• Como – Systèmes E/S
L2 • Couche physique
• Couche micro-architecture
71
• Couche ISA
Architecture des ordinateurs
Introduction & Historique
3h
Cours
4h
TDs
Représentation des nombres
Couche physique, circuits logiq.
Circuits séquentiels
Le chemin de donnée
CC
Couche micro-architecture
Cycle d’exécution
26/11/07
Conclusion sur l’exécution
CC72
Quelques questions à se
poser…
• Pourquoi la logique binaire a-t-elle été choisie
comme base de calcul des ordinateurs?
• Quelle différence y a-t-il entre interprétation et
traduction?
• Comment réalise-t-on le doublement de la
densité d’intégration d’un circuit?
• Quel est le lien entre l’augmentation de la
densité et l’augmentation des fréquences?
• Comment mémorise-t-on de l’électricité? Une
ampoule est elle une mémoire?
26/11/07
• Un processeur est-il intelligent ?
73
26/11/07
74
Plus…
26/11/07
75
100
90
80
70
60
50
40
30
20
10
Taille de mots (bits)
Temps de cycle (micros)
Fréquence (KHz)
taille (Kg)
Nombre de mots (K)
Coût (kdollars)
Exemplaires vendus (k)
année
génération
PD
P8
PD
P1
70
1
70
90
IB
M
on
N
V
26/11/07
IB
M
eu
m
an
n
C
A
EN
IA
C
NI
V
U
A
na
ly
tiq
ue
0
76
Téléchargement