ARCHITECTURE DES ORDINATEURS
Notes de cours (30 h cours +TD)
MIAGE –
Formation Continue
Université de Paris-Sud, 1994-1995
Michel CRUCIANU
1.
2.
1.3.
1.3.3.1. L’addition (cid:190)
1.3.3.2. La soustraction (A – B) (cid:190)
1.3.1.1. L’addition (cid:190)
1.3.1.2. La soustraction (A – B) (cid:190)
1.3.1.3. La multiplication (cid:190)
1.3.1.4. La division (cid:190)
Table des matières
Introduction……………………………………………………………………………………………………………………………………. 5
Structure générale d’un ordinateur…………………………………………………………………………………………. 5
Représentation de l’information. Arithmétique en binaire…………………………………………………………. 5
Information …………………………………………………………………………………………………………… 5
1.1.
Représentation des nombres…………………………………………………………………………………….. 5
1.2.
1.2.1. Système de numération en base 2…………………………………………………………………. 5
1.2.2. Représentations en “virgule fixe”…………………………………………………………………. 7
1.2.2.1. Nombres sans signe :…………………………………………………………………… 7
1.2.2.2. Nombres avec signe : ………………………………………………………………….. 7
1.2.3. Représentations en “virgule flottante”…………………………………………………………… 8
Arithmétique en binaire…………………………………………………………………………………………… 9
1.3.1. Nombres en binaire, sans signe ……………………………………………………………………. 9
exemples………………………………………………………………… 9
exemples ……………………………………………… 9
exemple……………………………………………………….. 10
exemple ……………………………………………………………….. 10
1.3.2. Nombres en complément à 2……………………………………………………………………….. 10
1.3.2.1. Obtenir le complément à 2 …………………………………………………………… 10
1.3.2.2. L’addition (cid:190)
exemples………………………………………………………………… 11
1.3.3. Nombres en DCBN compacte……………………………………………………………………… 11
exemples………………………………………………………………… 11
exemples ……………………………………………… 11
1.4.
Représentation des caractères ………………………………………………………………………………….. 12
Circuits combinatoires ………………………………………………………………………………………………………… 12
Algèbre de Boole et opérateurs combinatoires …………………………………………………………… 12
2.1.
Synthèse combinatoire ……………………………………………………………………………………………. 14
2.2.
2.2.1. Formes canoniques…………………………………………………………………………………….. 14
2.2.2. Simplification de l’écriture d’une fonction logique………………………………………….. 15
2.2.2.1. Méthode algébrique…………………………………………………………………….. 15
2.2.2.2. Méthode de Karnaugh …………………………………………………………………. 15
2.2.3. Synthèse avec circuits élémentaires (portes) ………………………………………………….. 15
2.2.4. Synthèse avec mémoires mortes (Read Only Memory, ROM) ………………………….. 17
2.2.5. Synthèse avec réseaux programmables (Programmable Logic Array, PLA) ………. 18
2.3.
Bus et circuits “à trois états” (Tri-State Logic) …………………………………………………………… 18
Circuits séquentiels …………………………………………………………………………………………………………….. 18
Bascules ……………………………………………………………………………………………………………….. 19
3.1.
3.1.1. Bascules RS ……………………………………………………………………………………………… 19
3.1.2. Bascules JK………………………………………………………………………………………………. 19
3.1.3. Bascules D ……………………………………………………………………………………………….. 20
Registres……………………………………………………………………………………………………………….. 21
3.2.1. Registres parallèles ……………………………………………………………………………………. 21
3.2.2. Registres de déplacement……………………………………………………………………………. 21
Compteurs …………………………………………………………………………………………………………….. 21
3.3.
3.4.
Synthèse d’automates synchrones……………………………………………………………………………… 22
Circuits complexes ……………………………………………………………………………………………………………… 24
Unité Arithmétique et Logique (UAL, ALU) ……………………………………………………………… 24
4.1.
4.1.1. Additionneurs……………………………………………………………………………………………. 24
4.1.2. Additionneur/soustracteur …………………………………………………………………………… 25
4.1.2. Unité Arithmétique et Logique ……………………………………………………………………. 26
4.2. Mémoire vive (Random Access Memory, RAM) …………………………………………………………. 27
4.2.1. Mémoires RAM statiques (SRAM)……………………………………………………………….. 27
4.2.2. Mémoires RAM dynamiques (DRAM)………………………………………………………….. 29
4.2.2. Augmentation de la capacité : utilisation de plusieurs circuits………………………….. 30
Structure et fonctionnement global d’un ordinateur………………………………………………………………….. 31
Structure et fonctionnement …………………………………………………………………………………….. 31
5.1.
5.1.1. Structure simplifiée ……………………………………………………………………………………. 31
3.2.
3.
4.
5.
5.2.
5.1.2. Fonctionnement…………………………………………………………………………………………. 31
5.1.2.1. Exécution d’une instruction ………………………………………………………….. 31
5.1.2.2. Exécution des programmes ………………………………………………………….. 32
Architecture et performances …………………………………………………………………………………… 32
5.2.1. Temps d’exécution …………………………………………………………………………………….. 32
5.2.2. Amélioration des accès mémoire …………………………………………………………………. 32
5.2.3. Modèles d’exécution et réduction du temps d’exécution ………………………………….. 33
Structure et fonctionnement de l’unité centrale ……………………………………………………………………….. 35
Structure et fonctionnement d’une unité centrale simple ………………………………………………. 35
6.1.
Structure et fonctionnement de l’unité centrale SPARC……………………………………………….. 36
6.2.
6.2.1. Registres internes ………………………………………………………………………………………. 36
6.2.2. Bus, pipeline, contrôle ……………………………………………………………………………….. 37
Les instructions du SPARC………………………………………………………………………………………………….. 39
Registres et types de données…………………………………………………………………………………… 39
7.1.
Types et formats d’instructions. Modes d’adressage…………………………………………………….. 41
7.2.
Instructions de transfert registres UC «
7.3.
mémoire………………………………………………………. 42
Instructions arithmétiques, logiques et de translation (shift) …………………………………………. 43
7.4.
Instructions de transfert de contrôle ………………………………………………………………………….. 44
7.5.
Appel d’une procédure : ………………………………………………………………………………………….. 45
Retour d’une procédure : …………………………………………………………………………………………. 46
Exemples d’utilisation : …………………………………………………………………………………………… 47
Autres instructions …………………………………………………………………………………………………. 49
7.7.
Organisation et gestion de la mémoire …………………………………………………………………………………… 50
8.1.
Hiérarchie de mémoires ………………………………………………………………………………………….. 50
8.2.1. La mémoire cache et sa gestion………………………………………………………………………………… 50
8.2.2. Mémoire principale et mémoire virtuelle …………………………………………………………………… 52
Les entrées/sorties (E/S, I/O) et leur gestion …………………………………………………………………………… 53
Types de dispositifs d’E/S ……………………………………………………………………………………….. 53
9.1.
L’interface avec l’UC………………………………………………………………………………………………. 54
9.2.
Dialogue avec les périphériques, interruptions …………………………………………………………… 54
9.3.
Accès direct à la mémoire (Direct Memory Access, DMA)…………………………………………… 54
9.4.
L’interface avec la mémoire …………………………………………………………………………………….. 55
9.5.
6.
7.
8.
9.
Introduction
Structure générale d’un ordinateur
Unité
centrale
Mémoire
interne
Entrées
sorties
bus
Applications utilisateur
Système d’exploitation
Machine
micro-programmée
Machine
physique
Langage d’application
(eventuellement assembleur)
Langage machine
Lang. micro-programmes
Commandes physiques
1.
Représentation de l’information. Arithmétique en binaire.
1.1.
Information
Unité d’information : le bit (cid:190)
Groupe ordonné de 8 bits : octet (byte)
permet de lever une ambiguïté élémentaire (oui/non)
Groupe ordonné de 4 bits : quartet
Unités employées couramment :
1 Koctet = 1024 octets (= 210 octets)
1 Moctet = 210 Koctets = 220 octets
1.2. Représentation des nombres
1.2.1.
Système de numération en base 2
Si b est un nombre entier plus grand que 1, tout nombre N peut se mettre sous la forme
MSB
0
7
1
0
0
0
0
0
1
0
LSB
Michel Crucianu
Architecture des ordinataurs
5
n
n
n
1
1
n
1
0
0
1
1
2
2
1
2
.
.
b
a
b
a
b
a
b
b
a
b
+
+
+
+
;
(cid:23)
+
(cid:23)
2 1 0
++
(cid:23)