NOUVELLES ARCHITECTURES
D'ORDINATEURS
PROCESSEURS ET SYSTEMES
D'EXPLOITATION
PIERRE VINCENT
RESUME
Ce livre est particulièrement destiné aux étudiants en informatique se
préparant à des activités de conception de systèmes. Les informaticiens
professionnels (ingénieurs de conception de matériel, architectes de
systèmes, responsables de plan informatique) trouveront dans cet ouvrage
une ouverture vers les nouvelles perspectives de développement des
ordinateurs.
La première partie de l'ouvrage aborde les architectures monoprocesseur
avec leur support matériel (bus, mémoire) et la manière de les gérer.
L'accent est mis sur les avantages de techniques centes telles que les
processeurs RISC, sur des exemples de gestion mémoire performante et
sur des machines orientées intelligence artificielle comme la Symbolics.
Dans une deuxième partie, l'auteur s'intéresse aux architectures
parallèles. Le Cray fournit l'exemple d'un super-ordinateur à base de
multiprocesseurs. Une présentation approfondie du Transputer et du
langage Occam donnent ensuite un aperçu précis de systèmes
s'appuyant sur des interconnexions entre processeurs.
TABLE DES MATIERES
Introduction 19
Architectures monoprocesseurs 19
- Modèle de Von Neumann 19
- Extensions du modèle de Von Neumann 21
- Evolutions 21
- Différents types de composants 22
- Processeur 24
- Bus 24
-moires 24
- Gestionmoire 24
-canismes divers 25
- Décomposition en couches d'un ordinateur 25
Architectures parallèles 27
- Architectures à mémoire partagée 27
- Support matériel du parallélisme 28
- Exploitation du parallélisme 29
- Environnements à mémoire distribuée 29
PREMIERE PARTIE
ENVIRONNEMENT MONOPROCESSEUR
Chapitre 1 PROCESSEUR 33
Architecture des microprocesseurs 33
- Bases matérielles de conception 33
- Stratégie d'accélération des performances 34
- Améliorations de conception 34
- Amélioration de l'utilisation 34
- Amélioration de l'utilisation 34
- Possibilités techniques 35
- Référence sur composant - Référence hors composant 35
- Problèmes introduits par la vitesse d'horloge 35
- Mesures de performances 36
- Mécanismes d'accélération des performances 36
- Caches 39
- Pipe-fine instructions 39
- Vectorisation 39
- Registres 39
- Modes d'adressage 41
- Mécanismes évolués implémentés 42
- Gestionmoire 43
- Jeu d'instructions 45
- Machines à pile 45
- Machines à registres 45
- Gestion d'objets de type évolué 48
- Optimisation à la compilation 51
- Utilisation des constantes 52
- Optimisation au niveau instructions 52
- Optimisation au niveau boucle 53
- Fusion de boucles 54
- Coprocesseurs 54
- Sécurité d'un système 55
- Interférence entre les différents mécanismes 56
- Environnement multiprocesseur 57
- Possibilités de recherche d'erreurs 57
- Tendances architecturales 58
- Emergence de standards 59
- Architectures dédes 59
- Architecture générale 60
Processeur à jeu d'instructions duit 60
- Instructions implantées sur un processeur 60
- Jeu d'instructions réduit 62
- Conception du jeu d'instructions 62
- Avantages d'un jeu d'instructions simple 62
- Jeu d'instructions et compilateur 64
- Efficaci d'un pipe-line 65
- Utilisation d'un cache 65
- Cache dones 65
- Cache instructions 65
- Saut différé 66
- Chargement différé 67
- Fenêtre de registres 68
- Jeu d'instructions duit et mémoire virtuelle 69
- Jeu d'instructions duit et temps el 70
- Processeur à jeu d'instructions duit et technologie 70
Architecture et système Unix sur 68020 70
- Présentation d'Unix et du 68020 70
- Vue d'ensemble de l'architecture du 68020 71
- Vue d'ensemble de l'architecture Unix 74
- Fonctions d'Unix 77
- Initialisation du système 77
- Gestion des processus 77
- Appels sysmes 77
- Sections critiques 78
- Changement de contexte 78
- Niveaux d'interruptions 78
- Langage C 79
- Extension automatique de pile 80
- Appels systèmes et librairies 80
Chapitre 2 BUS 81
Principe des bus 81
- Rôle d'un bus 81
- Protocole 82
- Protocole synchrone 83
- Protocole asynchrone 83
- Différents niveaux de couplage 85
- Système fortement coup 85
Bus partagés 86
Bus partagés 86
- Méthodes d'arbitrage centralisées 86
- Méthodes d'arbitrage décentralisées 89
- Avantages-inconvénients des différentes méthodes 90
- Conclusion 91
Standards de bus 92
- Caractéristiques matérielles d'un bus 92
- Norme Multibus 2 92
- Aspect matériel 92
- Caractéristiques principales 92
- Bus global 93
- Bus local 93
- Différents cycles de bus 93
- Echanges de messages dans l'architecture Multibus 2 96
- Interruptions sur Multibus 2 97
- Nuro des modules 97
- Centralisation sur Multibus 2 97
- Liaison série dans Multibus 2 97
- Norme VME 98
- Aspect matériel 98
- Caractéristiques principales 98
- Cycles bus 98
- Centralisation dans VME 100
- Bus série 100
- Comparaison VME-Multibus 2 101
- Points communs . 101
- Multiplexage ou non 102
- Espace d'adressage 102
- Echanges synchrones ou asynchrones 102
- Acs au bus et arbitrage 103
- Logique d'arbitrage 103
- Autres standards 103
Chapitre 3 MEMOIRE PHYSIQUE ET CACHES 105
Difrents types de mémoires 105
-moires dynamiques 105
- Temps d'accès et temps de cycle 106
- Différents cycles d'accès mémoire 107
- Evolution de la capacité 110
-moires statiques 110
- Organisation des bancs mémoire 110
-moires associatives 112
- Mémoire associative et système 112
- Principe de fonctionnement des mémoires associatives 112
Caches 114
- Caches physiques 114
- Raison d'être des caches 114
- Algorithme de placement 114
- Algorithme de remplacement 118
- Invalidation du cache 118
- Gestion des écritures dans le cache 119
- Cohérence du cache en environnement multiprocesseur 119
- Cohérence en cas d'écriture différée 120
- Bloc 122
- Eclatement de caches 123
- Programmation du cache 123
- Cache interne ou externe 125
- Cache interne du 68020 125
- Mécanisme de gestion matériel du cache du NS32532 128
- Cache logique 128
- Cache logique du sysme Unix 128
- Conclusion 131
Chapitre 4 UTILISATION DE LA MEMOIRE 133
Gestion mémoire 133
- Mécanisme de traduction d'adresse 133
- Traduction par table 134
- Traduction par registres 135
- Niveaux de traduction 135
- Différents mécanismes de traduction d'adresse 135
- Adressage direct 136
- Adressage direct 136
- Adressage associatif 137
- Adressage mixte 137
- Support matériel du mécanisme de mémoire virtuelle 137
- Reconnaissance du défaut de page ou segment 137
- "Swapping" et pagination . 138
- Informations relatives au placement et au remplacement 138
- Reprise d'instruction en cas de défaut de page 139
- Techniques de protection et sécurité 140
- Pagination 141
- Principe de la pagination 141
- Choix de la taille d'une page 143
- Problèmes de cohérence 144
- Algorithmes de remplacement: stratégies de changement de page 144
- Problèmes liés à l'utilisation de la pagination 145
- Segmentation 145
- Principe de la segmentation 145
- Mise en oeuvre de la segmentation 147
- Mécanisme mixte employant la pagination et la segmentation 148
- Mécanisme de base et algorithme de gestion mémoire 149
- Partage de zones mémoires entre utilisateurs différents 150
- Mémoire virtuelle et cache 150
- Cache adressé physiquement 150
- Cache adressé logiquement 152
- Entrées-sorties et gestion mémoire 152
Exemples de gestion mémoire 154
Gestion mémoire au niveau matériel 154
- Gestion mémoire du Vax 780 154
- Table des pages inverses du PC/RT 156
- Gestion mémoire au niveau système 157
- Gestion mémoire sous le système "Unix" 157
- Ejection d'un processus 158
- Allocation de l'espace de "swap" 158
- Régions 158
- Zones mémoires partagées 159
- Structure de données employées pour gérer la demande de page 161
- Entrées-sorties directes 166
- Processus de détection des pages inutilisées 166
-rant de validité 167
- Gestion mémoire de 4.2 BSD 168
- Demande de page 168
- Ejection de page 169
- Création d'un processus fils 169
- Librairies partagées 170
- Code en zone de débordement 170
- Environnement MACH : processus et tâches 170
- Gestion mémoire sous VMS 171
- Pagination 171
- Swapping 172
- Le 80386 172
- Principes généraux de fonctionnement 172
- Segmentation 174
- Pagination 175
- Segmentation et pagination combinés 175
- Priviges 175
- Guichets 177
- Multiche 177
- Entrées-sorties 178
Hiérarchie mémoire 179
- Raison d'être d'une hiérarchie mémoire 179
- Gestion de la hiérarchie mémoire 180
-thode de lecture 181
- Dimensionnement 181
- Coût et temps d'accès 182
- Localité des informations 182
- Espace d'adressage unifié 184
- Analogie entre les fichiers et les processus 185
- Différents espaces d'adressage du PC/RT 187
- Adressage d'un fichier dans l'environnement 4.2 188
Chapitre 5 MACHINES DE NOUVELLE GENERATION 189
- Environnement symbolique 189
-moire typée 189
- Principe du typage en mémoire 189
- Avantage du typage en mémoire 190
- Désavantages d'une architecture typée 190
-thode interdiaire 190
- Récupérationmoire 191
- Algorithmes classiques 191
- Marquage et balayage 191
- Comptage de références 191
- Problèmes des algorithmes classiques 192
- Algorithmes modernes 193
- Algorithme de Baker 193
- Récupération par génération 193
Architectures orientées intelligence artificielle: l'exemple de la Symbolics 194
- Référence des objets et des données 194
- Stockage en mémoire de la représentation d'un objet 195
- Motivations de l'architecture de données 195
- Instructions 196
- Architecture du processeur de la Symbolics 196
- Buffer de pile 196
- Avantages du buffer de pile 197
- Pipe-line 197
- Exemple : exécution d'une addition 197
- Gestionmoire 197
- Récupération mémoire sur Symbolics 198
- Localité des données 199
- Localité des références 199
- Interruption adressage de l'ancien espace 199
- Différentes classes de stockage d'un objet 199
- Tables des pages 200
- Collaboration entre le récupérateur et le gérant de mémoire 201
- Processeur LISP 201
DEUXIEME PARTIE
ENVIRONNEMENT MULTIPROCESSEUR
Chapitre 6 PARALLELISME ET ARCHITECTURE 205
Architectures parallèles 205
- Raison d'être du parallélisme 205
- Classifications 205
- Classification de Flynn 205
- Caractéristiques particulières du modèle SIMD et du modèle MIMD 206
- Classification selon le pilotage des traitements 206
- Différentes formes d'algorithmes et types de données échangées 207
- Axes de développement du parallélisme 208
- Parallélisation explicite ou implicite 208
- Granularité du parallélisme 209
- Interconnexion des processeurs 210
- Support d'échange 212
- Echange de données: mémoire partagée ou messages ? 213
-moire partagée 213
- Messages 214
- Echanges synchrones ou asynchrones 214
- Architecture hybride 214
- Différents types de machines 214
- Super-ordinateurs 214
- Multiprocesseurs 214
- Multi-ordinateurs 216
- Mise en oeuvre logicielle du parallélisme 218
- Fonctions de mise en oeuvre du parallélisme 218
- Synchronisation . 218
- Compilateurs assurant une vectorisation automatique 219
- Algorithmes parallèles ou distribués 219
- Parallélisme et système 219
- Répartition des processus 221
- Unix et répartition 221
- Analyse des performances 221
- Degré d'accélération des performances 221
- Loi de Minsky . 222
- Loi d'Amdhal 222
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !