Architecture des
ordinateurs
-
Fenohery Tiana ANDRIAMANAMPISOA
fandriam@gmail.com
Architecture des ordinateurs
› C’est quoi ???
› On parle de quoi ???
› …
2
Ordinateur
3
Objectifs du cours
Objectif principal : démystifier l’ordinateur et ses
composants
› Analyser les principaux composants d'un ordinateur et leur rôle
– Processeur, mémoire, périphériques ...
› Décrire l'organisation et le fonctionnement de ces entités
Fonctionnement d'un processeur, de la mémoire ...
› Comprendre l'exécution d'un programme
Comment le processeur comprend et exécute-t-il un programme ?
4
Plan du cours
› Introduction
› Circuit logique
› Arithmétique des processeurs
› Processeur
› Mémoire
› Entrées/Sorties
› Langages de programmation
5
Composants matériels
6
1 Introduction
Aspect logiciel
7
1 Introduction
Définition
L'architecture des ordinateurs est la discipline qui
correspond à la façon dont on conçoit les composants
d'un système informatique
Architecture désigne l'organisation des éléments d'un
système et les relations entre ces éléments
8
1 Introduction
Architecture
› Architecture matérielle concerne l’organisation des différents
dispositifs physiques que l'on trouve dans un ordinateur :
fonctionnement logique de chaque composant et le dialogue
entre les composants
› Architecture logicielle concerne l'organisation de différents
programmes entre eux : codage de l'information et jeu
d’instruction de la machine c-à-d l'ensemble des opérations
que la machine peut exécuter
9
1 Introduction
Génération Année Caractéristiques
1ere
1945-55 : Les ordinateurs
mécaniques
▪ Technologie à lampes, relais, tubes à vider,
résistances
▪ Premiers calculateurs électroniques
2e
1955-65 : Les ordinateurs
à transistors
▪ Technologie à transistors
▪ Apparition des langages de programmation
évolués
3e
1965-71 : Les ordinateurs
à circuits intégrés
▪ Technologie des Circuits Intégrés (puces)
SSI/MSI
▪ Avènement du système d'exploitation complexe
4e
1971-77 : La
microinformatique
▪ Technologie LSI (Large SI)
▪ Avènement de réseaux de machines
5e
1977 et plus : des
ordinateurs partout
▪ Technologies VLSI / ULSI (Very Large / Ultra
large SI) l'intégration de milliers à des milliards
de transistors sur une même puce
…
Et depuis 1990 :
Nouveaux outils
▪ Miniaturisation des composants matériels, on
parle de la nanotechnologie 10
1 Introduction
Architectures de base
› Architecture de Von Neumann : les programmes et les données
sont stockés dans la même mémoire et gérés par le même
sous-système de traitement de l'information
› Architecture de Harvard : les programmes et les données sont
stockés et gérés par différents sous-systèmes
Deux architectures informatiques de base :
11
1 Introduction
Architectures de base
Architecture de Von Neumann Architecture de Harvard
12
1 Introduction
Quelques notions
13
2 Circuit logique
Algèbre de Boole
14
2 Circuit logique
Portes logiques
15
2 Circuit logique
Exemple
16
2 Circuit logique
Circuits combinatoires
17
2 Circuit logique
Circuits combinatoires
18
Additionneur à 1 bit
2 Circuit logique
Circuits combinatoires
19
Additionneur à 1 bit
2 Circuit logique
Circuits combinatoires
20
Additionneur à 1 bit
2 Circuit logique
Circuits combinatoires
21
Additionneur à n bits
2 Circuit logique
Circuits séquentiels
22
2 Circuit logique
Circuits séquentiels
23
Bistable
2 Circuit logique
Les deux états 1 et 3
sont stables, l'état de
transition 2 est instable.
Circuits séquentiels
24
Bascule RS
2 Circuit logique
Brique élémentaire des circuits séquentiels : la bascule RS
La bascule "RS" (Reset/Set Flip-Flop) est l'un des circuits de base pour stocker en
sortie une valeur binaire élémentaire, c'est-à-dire soit un "0", soit un "1" .
Circuits séquentiels
25
Bascule RS
2 Circuit logique
La bascule RS est une
bascule sans entrée
d’horloge.
Historiquement, c’est la
première bascule créée
en électronique. La
bascule RS peut être
réalisée avec des
portes logiques de type
« OU-NON » ou de
type « ET-NON ». Il
existe cependant des
circuits intégrés
spécialisés.
Circuits séquentiels
26
Bascule RS
2 Circuit logique
Entrées R: entrée de mise à zéro ( reset) de la sortie Q. Cette entrée est
active à un niveau logique « HAUT».
Entrées S: entrée de mise à un (set) de la sortie Q. Cette entrée est
active à un niveau logique « HAUT».
Remarques:
si R = 0 et S = 0, la sortie Q ne change pas d'état logique: c'est la
fonction
« MEMORISATION ».
La combinaison R = S = « 1 » est « INTERDITE » car on ne peut avoir
en même temps la sortie « Q » = 0 et « Q = 1 ».
si R = 1 et S = 0, la sortie « Q » est forcée à un niveau logique « BAS
»
(mise à « 0 »)
si R = 0 et S = 1, la sortie « Q » est forcée à un niveau logique « HAUT
»
(mise à « 1 »)
Circuits séquentiels
27
Bascule RS - Application
2 Circuit logique
commande d’un ascenseur
-----------------------------------
on appuie sur le bouton, l’appel est enregistré et le voyant s’allume.
si on relâche le bouton, le voyant reste allumé, il y a donc mémorisation.
calculatrice avec un bouton ON et un bouton OFF :
---------------------------------------------------------
le bouton ON met la calculatrice en marche.
le bouton OFF arrête la calculatrice.
si on appuie sur ON alors que la calculatrice est déjà en marche, elle reste
en marche.
si on appuie sur OFF alors qu’elle est arrêtée, elle reste arrêtée.
Circuits séquentiels
28
Bascule RS synchrone
2 Circuit logique
Circuits séquentiels
29
Bascule D
2 Circuit logique
Circuits séquentiels
30
Registre
2 Circuit logique
Circuits séquentiels
31
Logique à trois états
2 Circuit logique
Circuits séquentiels
32
Logique à trois états
Entrées
Sortie
commande donnée
B A C
L
L
Z
H
H L L
H H H
2 Circuit logique
Unité arithmétique et logique
33
3 Arithmétique des processeurs
› Circuit combinatoire
› E1 et E2 : entrées sur n bits
› f : function à réaliser : opérations arithmétiques,
opérations logiques ou décalages et rotations
› S : sortie / résultat à n bit
› p : indicateurs d'états ou drapeaux ou flags en
fonction du résultat de l’opération effectuée
Processeur
34
3 Arithmétique des processeurs
Entier relatif : bit de signe
35
3 Arithmétique des processeurs
Entier relatif : complément à 1
36
3 Arithmétique des processeurs
Entier relatif : complément à 2
37
3 Arithmétique des processeurs
Entier relatif : précision finie
38
3 Arithmétique des processeurs
Nombres en virgule fixe
39
3 Arithmétique des processeurs
Nombres en virgule flottante
40
3 Arithmétique des processeurs
Nombres en virgule flottante (IEEE 754 "binary32")
41
3 Arithmétique des processeurs
Codage de caractères
42
3 Arithmétique des processeurs
Codage de caractères
43
3 Arithmétique des processeurs
› ASCII (American Standard Code for Information Interchange) : codage sur 7 bits
› ISO 8859-1 (ou Latin-1) : codet : 8 bits
› UTF-8 : codage à longueur variable (jusqu’à 4 octets)
› Windows-1252 ou CP1252 : codage sur 8 bits
› …
Unicode - Implémentation
44
3 Arithmétique des processeurs
Architecture
45
4 Processeur
Micro-architecture
46
4 Processeur
Chemin de données
47
4 Processeur
Mémoire
48
4 Processeur
Instructions
49
4 Processeur
Instructions
50
4 Processeur
Langage
51
4 Processeur
Exécution
52
4 Processeur
Exécution
53
4 Processeur
Mode d’adressage
54
4 Processeur
MiniArm
55
4 Processeur
Processeur MiniArm
56
4 Processeur
Processeur MiniArm - RAM
57
4 Processeur
Processeur MiniArm - UAL
58
4 Processeur
Processeur MiniArm – Control Unit
59
4 Processeur
Processeur MiniArm – Register File
60
4 Processeur
MiniArm - Instructions de branchement
61
4 Processeur
Mode d’adressage - MiniArm
62
4 Processeur
Format des instructions - MiniArm
63
4 Processeur
Instructions - MiniArm
64
4 Processeur
Instructions - MiniArm
65
4 Processeur
Instructions - MiniArm
66
4 Processeur
Instructions - MiniArm
67
4 Processeur
Instructions - MiniArm
68
4 Processeur
Instructions - MiniArm
69
4 Processeur
Instructions - MiniArm
70
4 Processeur
Instructions - MiniArm
71
4 Processeur
Instructions - MiniArm
72
4 Processeur
Instructions - MiniArm
73
4 Processeur
Exemple programme- MiniArm
74
4 Processeur
CISC vs RISC
75
4 Processeur
CISC vs RISC
76
4 Processeur
CISC vs RISC
77
4 Processeur
RISC
78
4 Processeur
RISC - Pipeline
79
4 Processeur
RISC - Pipeline
80
4 Processeur
RISC - Pipeline
81
4 Processeur
Machine monoprocesseur
82
4 Processeur
Machine monoprocesseur
83
4 Processeur
Machine monoprocesseur
84
4 Processeur
Machine multiprocesseur
85
4 Processeur
Processeur multi-coeur
86
4 Processeur
Processeur Intel Core i5-4278U (Haswell)
87
4 Processeur
Processeur Intel Core i5-4278U (Haswell)
88
4 Processeur
Processeur Intel Core i5-4278U (Haswell)
89
4 Processeur
Processeur Intel Core i5-4278U (Haswell)
90
4 Processeur
Processeur Intel Core i5-4278U (Haswell)
91
4 Processeur
Hiérarchie
92
5 Mémoire
Mémoire centrale
93
5 Mémoire
DRAM – Cellule de mémoire (1ere génération)
94
5 Mémoire
DRAM – Puce de mémoire (1ere génération)
95
5 Mémoire
DRAM – Puce de mémoire (1ere génération)
96
5 Mémoire
DRAM – Puce de mémoire (1ere génération)
97
5 Mémoire
DRAM – Puce de mémoire (2e génération)
98
5 Mémoire
DRAM – Puce de mémoire (2e génération)
99
5 Mémoire
DRAM – Puce de mémoire (2e génération)
100
5 Mémoire
SDRAM – Puce de mémoire (3e génération)
101
5 Mémoire
SDRAM – Puce de mémoire (3e génération)
102
5 Mémoire
SDRAM – Puce de mémoire (3e génération)
103
5 Mémoire
SDRAM – Puce de mémoire (3e génération)
104
5 Mémoire
Technologie DRAM – Module « 1-Rank »
105
5 Mémoire
Technologie DRAM – Module « 2-Rank »
106
5 Mémoire
Mémoire secondaire
107
5 Mémoire
Mémoire secondaire
108
5 Mémoire
Disques magnétiques
Mémoire secondaire
109
5 Mémoire
Disques magnétiques
Mémoire secondaire
110
5 Mémoire
Solid-State Drive (SSD)
Mémoire secondaire
111
5 Mémoire
Solid-State Drive (SSD)
Comparatif
112
5 Mémoire
Accélération : mémoire cache
113
5 Mémoire
Mémoire cache : principe
114
5 Mémoire
Mémoire cache : organisation
115
5 Mémoire
Mémoire cache : organisation
116
5 Mémoire
Mémoire cache : organisation
117
5 Mémoire
Mémoire cache : organisation
118
5 Mémoire
Mémoire cache : principe
119
5 Mémoire
Mémoire cache : décomposition d’une adresse (ex.)
120
5 Mémoire
Mémoire cache : décomposition d’une adresse (ex.)
121
5 Mémoire
Mémoire cache : décomposition d’une adresse
122
5 Mémoire
Mémoire cache : rechercher de mot
123
5 Mémoire
Directement adressé
Mémoire cache : rechercher de mot
124
5 Mémoire
Purement associatif
Mémoire cache : recherche de mot
125
5 Mémoire
Associatif par sous-ensemble
Mémoire cache : algorithme de remplacement
126
5 Mémoire
Mémoire cache : stratégie d’écriture
127
5 Mémoire
Mémoire cache : avec des niveaux
128
5 Mémoire
Mémoire cache : avec des niveaux
129
5 Mémoire
Introduction
130
6
Entrées /
Sorties
Structure d’un bus
131
6
Entrées /
Sorties
Bus synchrone
132
6
Entrées /
Sorties
Bus asynchrone
133
6
Entrées /
Sorties
Bus synchrone vs asynchrone
134
6
Entrées /
Sorties
Standard de bus
135
6
Entrées /
Sorties
Bus partagé et point à point
136
6
Entrées /
Sorties
Quelques types de bus …
137
6
Entrées /
Sorties
Quelques types de bus …
138
6
Entrées /
Sorties
Quelques types de bus …
139
6
Entrées /
Sorties
Quelques types de bus …
140
6
Entrées /
Sorties
Bus série
Quelques types de bus …
141
6
Entrées /
Sorties
PCI Express
Quelques types de bus …
142
6
Entrées /
Sorties
PCI Express
Ordinateur ancien
143
6
Entrées /
Sorties
Ordinateur moderne
144
6
Entrées /
Sorties
Ordinateur moderne
145
6
Entrées /
Sorties
Exemple - clavier
146
6
Entrées /
Sorties
Interaction : processeur - périphérique
147
6
Entrées /
Sorties
Interruptions
148
6
Entrées /
Sorties
Interruptions
149
6
Entrées /
Sorties
Timers
150
6
Entrées /
Sorties
Langage machine : trop compliqué
151
7 Langages
Langage d’assemblage
152
7 Langages
Langage de haut niveau
153
7 Langages
Du bas niveau à haut niveau
154
7 Langages
Fossé sémantique
155
7 Langages
Langages compilés
156
7 Langages
Langages compilés
157
7 Langages
Compilateur
158
7 Langages
Bootstrapping
159
7 Langages
Amorce
Langages interprétés
160
7 Langages
Langages interprétés
161
7 Langages
Langages interprétés
162
7 Langages
Langages de haut niveau - Concept
163
7 Langages
Structures de contrôle
164
7 Langages
Conditions
165
7 Langages
Conditions
166
7 Langages
Conditions
167
7 Langages
Conditions
168
7 Langages
Conditions
169
7 Langages
Boucles
170
7 Langages
Appel de fonction
171
7 Langages
Appel de fonction
172
7 Langages
Appel de fonction
173
7 Langages
Appel de fonction
174
7 Langages
Pile
175
7 Langages
Pile
176
7 Langages
Pile
177
7 Langages
Pile
178
7 Langages
Pile
179
7 Langages
Pile
180
7 Langages
Pile
181
7 Langages
Appel de fonction avec une pile
182
7 Langages
Fonction récursive
183
7 Langages
Fonction récursive
184
7 Langages
Fonction récursive
185
7 Langages
Bibliographies
› Adam J.M., 2015, La gestion de la mémoire, Université de Lausanne
› Beltrame G., 2018, INF1600 : Architecture des micro-ordinateurs (Mémoires – Mémoire cache),
Polytechnique Montréal
› Cazes A., Delacroix J., 2011, Architecture des machines et des systèmes informatiques 4ème édition,
Collection : Informatique, Dunod
› Ghalouci L., 2015, Architecture de l’ordinateur-Voyage au centre de votre unité centrale, Université
d’Oran des Sciences et de la Technologie - Mohamed Boudiaf
› Lazard E., 2011, Architecture de l’ordinateur, Université Paris-Dauphine
› Zanella P., Ligier Y., Lazard E., 2013, Architecture et technologie des ordinateurs : Cours et exercices
5ème édition - Collection : Sciences Sup, Dunod
186

Cours - Architecture des ordinateurs - L2