Vous êtes sur la page 1sur 8

��������������������

������������
���
�����������

© Groupe Eyrolles, 2005,


ISBN : 2-212-11635-7
3864_ Page V Jeudi, 2. juin 2005 12:15 12 > Apogee FrameMaker Noir

Table des matières

Avant-propos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XIII
À qui s’adresse cet ouvrage ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XIV
Quel est l’objectif de cet ouvrage ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XIV
Comment est structuré cet ouvrage ? . . . . . . . . . . . . . . . . . . . . . . . . . . . XIV
Introduction
Du boulier à l’ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XIX
Les Anciens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XIX
De la Renaissance aux Lumières . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XX
John Napier ou Neper, 1550-1617 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXI
Wilhelm Schickard, 1592-1635 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXIII
Blaise Pascal, 1623-1662 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXIII
Gottfried Leibniz, 1646-1716. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXIV
Des Modernes aux Contemporains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXV
Charles Babbage, 1791-1871 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXV
Alan Turing, 1912-1954 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXVI
John von Neumann, 1903-1957 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXVIII
Claude Elwood Shannon, 1916-2001. . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXIX
John Bardeen, William Shockley et Walter Brattain . . . . . . . . . . . . . . . . . XXX
La loi de Moore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXXIII
Doug Engelbart, 1925. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXXIII
Abramson, Metcalfe, Ethernet et Internet . . . . . . . . . . . . . . . . . . . . . . . . . XXXIV
Et aujourd’hui… . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXXVII
L’ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXXVII
Architecture d’un ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XL
3864_ Page VI Jeudi, 2. juin 2005 12:15 12 > Apogee FrameMaker Noir

Architecture des ordinateurs


VI

CHAPITRE 1

Information et codages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Information et quantité d’information . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Unité de mesure de l’information : le bit . . . . . . . . . . . . . . . . . . . . . . . . 3
Les nombres et leur codage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Représentation des entiers naturels, les bases. . . . . . . . . . . . . . . . . . . . . . . 7
Représentation des entiers naturels N. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Représentation des entiers relatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Représentation des nombres réels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Les caractères et leur codage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Le code ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Unicode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Quelques codes particuliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Code Gray ou code binaire réfléchi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Le code DCB : décimal codé binaire (ou BCD) . . . . . . . . . . . . . . . . . . . . . 25
Autres codes particuliers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Codes pour la détection et la correction des erreurs . . . . . . . . . . . . . . . 26
Les codes de protection contre les erreurs . . . . . . . . . . . . . . . . . . . . . . . . . 27
Quelques définitions : code, poids et distance de Hamming . . . . . . . . . . . 29
Le contrôle de parité (bit de parité) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Les codes linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Les codes polynomiaux et cycliques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Conclusion et cas particuliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Introduction à la compression de données . . . . . . . . . . . . . . . . . . . . . . . 47
Compression et compactage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
La compression de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

CHAPITRE 2

Fonctions logiques et circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55


Algèbre de Boole et logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Logique combinatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Les circuits combinatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Synthèse d’un circuit combinatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Diagramme de Karnaugh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Fonctions utiles et unité arithmétique et logique . . . . . . . . . . . . . . . . . . . . 70
3864_ Page VII Jeudi, 2. juin 2005 12:15 12 > Apogee FrameMaker Noir

Table des matières


VII

Logique séquentielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Bistable et automate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Synthèse d’un automate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Mémoires et automates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
RAM, SRAM et DRAM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
ROM, PROM, EEPROM et mémoire flash . . . . . . . . . . . . . . . . . . . . . . . . 90
Le contrôleur de mémoire et organisation de la mémoire . . . . . . . . . . . . . 92
Les mémoires RAM magnétiques : MRAM . . . . . . . . . . . . . . . . . . . . . . . 95
Le processeur : architecture simplifiée de base . . . . . . . . . . . . . . . . . . . 96
Notion de séquenceur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Ébauche de processeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Carte unité centrale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

CHAPITRE 3

Communication et protocoles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105


Communication : principes généraux . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Le signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Caractérisation d’un signal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Caractérisation formelle d’un signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Caractérisation du support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Les techniques de modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Notion de rapidité de modulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Canal bruité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Des principes de communication aux normes . . . . . . . . . . . . . . . . . . . . 117
Synchronisation des horloges. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Transmissions synchrones et asynchrones . . . . . . . . . . . . . . . . . . . . . . . . . 119
Voies et modes de transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Structuration d’un message, encapsulation, notion de trame . . . . . . . . . . . 121
Sens de transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Partage de support, multiplexage et démultiplexage . . . . . . . . . . . . . . . . . 122
Le codage binaire à signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Modulation large bande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Modulation en bande de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Notions de protocole de communication . . . . . . . . . . . . . . . . . . . . . . . . . 128
Un protocole, ensemble de règles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Les échanges mémoire par l’exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
3864_ Page VIII Jeudi, 2. juin 2005 12:15 12 > Apogee FrameMaker Noir

Architecture des ordinateurs


VIII

Exemple asynchrone : le 68020 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130


Exemple synchrone : cycle de lecture du Z80 . . . . . . . . . . . . . . . . . . . . . . 132

CHAPITRE 4

Processeurs et jeux d’instructions . . . . . . . . . . . . . . . . . . . . . . . . . . 135


Le modèle de programmation d’un processeur . . . . . . . . . . . . . . . . . . . 136
Le fonctionnement du Z80 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Les registres du processeur Z80 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Déroulement de l’exécution d’une instruction . . . . . . . . . . . . . . . . . . . . . . 139
Structuration, organisation générale des instructions . . . . . . . . . . . . . . . . . 144
La procédure : un élément de structuration . . . . . . . . . . . . . . . . . . . . . . 146
Appel de procédure (Z80), instructions CALL et RET . . . . . . . . . . . . . . . . . . 147
Organisation des données (Endianess - Boutisme) . . . . . . . . . . . . . . . . 149
Convention Little Endian ou petit boutiste. . . . . . . . . . . . . . . . . . . . . . . . . 149
Convention Big Endian ou grand boutiste . . . . . . . . . . . . . . . . . . . . . . . . . 149
Gestion de pile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Les techniques d’adressage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Description succincte du 68000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Les modes d’adressage du 68000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Introduction au langage assembleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Modèle RISC « Load and Store ». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Procédures et passage de paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

CHAPITRE 5

Les interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185


Les interruptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Cycle de reconnaissance d’interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
La routine d’interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
L’arbitrage des demandes d’interruptions . . . . . . . . . . . . . . . . . . . . . . . . . 193
Le paramétrage de la gestion d’une interruption . . . . . . . . . . . . . . . . . . . . 196
Interruptions et exceptions, interruptions logicielles . . . . . . . . . . . . . . . . . 198
Masquage/démasquage d’interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Interruption, exception et système d’exploitation . . . . . . . . . . . . . . . . . 200
Les modes User et Supervisor du 680x0 . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Interruptions et sections critiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
3864_ Page IX Jeudi, 2. juin 2005 12:15 12 > Apogee FrameMaker Noir

Table des matières


IX

Introduction aux processus parallèles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206


Exemple de programmation avec l’API win32 de Windows . . . . . . . . . . . 212
Système d’exploitation et ordonnancement . . . . . . . . . . . . . . . . . . . . . . 212
Le noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Programmes et processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Les entrées-sorties et le système de gestion de fichiers . . . . . . . . . . . . . . . 216
L’interface homme-machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

CHAPITRE 6

Les entrées-sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221


Architecture d’un coupleur d’entrées-sorties. . . . . . . . . . . . . . . . . . . . . 222
Architecture générale d’un coupleur d’entrées-sorties. . . . . . . . . . . . . . . . 222
Communication, ports et espace d’adressage. . . . . . . . . . . . . . . . . . . . . . . 224
Mémoire partagée, Dual Port Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Le DMA : Direct Memory Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Les coupleurs d’entrées-sorties de base . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Le timer (temporisateur), Intel 8254 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
Quelques modes de fonctionnement du timer 8254 . . . . . . . . . . . . . . . . . . 239
Un contrôleur de liaison série, Motorola ACIA 6850 . . . . . . . . . . . . . . . . 240
Un contrôleur de liaison parallèle, Zilog PIO . . . . . . . . . . . . . . . . . . . . . . 244
Un circuit horloge temps réel (Real-Time Clock) . . . . . . . . . . . . . . . . . . . 246
Les entrées-sorties analogiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
La conversion analogique/numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
La conversion numérique analogique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Les cartes d’acquisition de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Les microcontrôleurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Les bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Bus internes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Bus externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

CHAPITRE 7

Stockage et mémoire virtuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283


La hiérarchie des mémoires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Les disques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Accès au disque et ordonnancement des tâches . . . . . . . . . . . . . . . . . . . . . 289
De l’organisation physique vers une organisation logique . . . . . . . . . . . . 290
3864_ Page X Jeudi, 2. juin 2005 12:15 12 > Apogee FrameMaker Noir

Architecture des ordinateurs


X

FAT, File Allocation Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295


Unix : le système de fichiers UFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Les systèmes multiboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Les clés USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Mémoire centrale et mémoire virtuelle . . . . . . . . . . . . . . . . . . . . . . . . . . 309
L’overlay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
La segmentation – Pentium (architecture x86 ou IA32). . . . . . . . . . . . . . . 313
La pagination – Pentium (architecture x86 ou IA 32) . . . . . . . . . . . . . . . . 319
Les mémoires cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Mémoire cache associative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Mémoire cache à accès direct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Mémoire cache à associativité par ensemble . . . . . . . . . . . . . . . . . . . . . . . 332
Gestion d’un cache – Politique de remplacement. . . . . . . . . . . . . . . . . . . . 333
Vue d’ensemble d’une architecture mémoire . . . . . . . . . . . . . . . . . . . . . . . 336

CHAPITRE 8

Les performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339


Les critères de performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Bases de mesure et métriques de performances . . . . . . . . . . . . . . . . . . . . . 340
La base « processeur », MIPS et MFLOPS . . . . . . . . . . . . . . . . . . . . . . . . 341
La base « machine », benchmark et SPEC . . . . . . . . . . . . . . . . . . . . . . . . . 342
Les étalons SPEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
La base « système » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Les techniques d’amélioration de performances . . . . . . . . . . . . . . . . . . 344
Le niveau processeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Le niveau mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Le niveau logiciel : les compilateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Machines parallèles et processeurs spécialisés . . . . . . . . . . . . . . . . . . . . 358
Principes généraux des machines parallèles . . . . . . . . . . . . . . . . . . . . . . . . 359
Les processeurs DSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Exemple d’une architecture 64 bits : le PowerPC G5, 970 . . . . . . . . . . . . 363
Le processeur Itanium et l’architecture IA 64 . . . . . . . . . . . . . . . . . . . . 366
Le modèle de données et l’organisation mémoire . . . . . . . . . . . . . . . . . . . 367
Les registres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Les instructions, les paquets et l’assembleur . . . . . . . . . . . . . . . . . . . . . . . 369
Les instructions à prédicat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
La spéculation sur le code et les données . . . . . . . . . . . . . . . . . . . . . . . . . . 371
3864_ Page XI Jeudi, 2. juin 2005 12:15 12 > Apogee FrameMaker Noir

Table des matières


XI

Le renommage de registre (rotation de registres). . . . . . . . . . . . . . . . . . . . 374


Les procédures : passage de paramètres et pile de registres. . . . . . . . . . . . 378
Les instructions du multimédia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Les unités fonctionnelles de l’Itanium 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Les supercalculateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
La course à la puissance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Machine vectorielle, l’exemple du VPP5000 de Fujitsu . . . . . . . . . . . . . . 381
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387

ANNEXE 1

Unités de mesure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391


Les unités de mesure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Les unités de stockage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Les unités de débit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392

ANNEXE 2

Glossaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395

ANNEXE 3

Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407

Vous aimerez peut-être aussi