Upload
lamkhanh
View
213
Download
0
Embed Size (px)
Citation preview
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXIWilhelm Schickard, 1592-1635 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXIIIBlaise Pascal, 1623-1662 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXIIIGottfried Leibniz, 1646-1716. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXIV
Des Modernes aux Contemporains
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXV
Charles Babbage, 1791-1871 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXVAlan Turing, 1912-1954 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXVIJohn von Neumann, 1903-1957 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXVIIIClaude Elwood Shannon, 1916-2001. . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXIXJohn Bardeen, William Shockley et Walter Brattain . . . . . . . . . . . . . . . . . XXXLa loi de Moore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXXIIIDoug Engelbart, 1925. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXXIIIAbramson, Metcalfe, Ethernet et Internet . . . . . . . . . . . . . . . . . . . . . . . . . XXXIV
Et aujourd’hui…
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXXVII
L’ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXXVIIArchitecture d’un ordinateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XL
3864_ Page V Jeudi, 2. juin 2005 12:15 12 > Apogee FrameMaker Noir
Architecture des ordinateurs
VI
C
HAPITRE
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. . . . . . . . . . . . . . . . . . . . . . . 7Représentation des entiers naturels N. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Représentation des entiers relatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Représentation des nombres réels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Les caractères et leur codage
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Le code ASCII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Unicode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Quelques codes particuliers
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Code Gray ou code binaire réfléchi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23Le code DCB : décimal codé binaire (ou BCD) . . . . . . . . . . . . . . . . . . . . . 25Autres codes particuliers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Codes pour la détection et la correction des erreurs
. . . . . . . . . . . . . . . 26
Les codes de protection contre les erreurs . . . . . . . . . . . . . . . . . . . . . . . . . 27Quelques définitions : code, poids et distance de Hamming . . . . . . . . . . . 29Le contrôle de parité (bit de parité) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Les codes linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Les codes polynomiaux et cycliques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Conclusion et cas particuliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Introduction à la compression de données
. . . . . . . . . . . . . . . . . . . . . . . 47
Compression et compactage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48La compression de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
C
HAPITRE
2
Fonctions logiques et circuits
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Algèbre de Boole et logique
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Logique combinatoire
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Les circuits combinatoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Synthèse d’un circuit combinatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Diagramme de Karnaugh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Fonctions utiles et unité arithmétique et logique . . . . . . . . . . . . . . . . . . . . 70
3864_ Page VI Jeudi, 2. juin 2005 12:15 12 > Apogee FrameMaker Noir
Table des matières
VII
Logique séquentielle
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Bistable et automate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76Synthèse d’un automate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Mémoires et automates
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
RAM, SRAM et DRAM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89ROM, PROM, EEPROM et mémoire flash . . . . . . . . . . . . . . . . . . . . . . . . 90Le contrôleur de mémoire et organisation de la mémoire . . . . . . . . . . . . . 92Les mémoires RAM magnétiques : MRAM . . . . . . . . . . . . . . . . . . . . . . . 95
Le processeur : architecture simplifiée de base
. . . . . . . . . . . . . . . . . . . 96
Notion de séquenceur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97Ébauche de processeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98Carte unité centrale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
C
HAPITRE
3
Communication et protocoles
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Communication : principes généraux
. . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Le signal
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Caractérisation d’un signal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108Caractérisation formelle d’un signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109Caractérisation du support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Les techniques de modulation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Notion de rapidité de modulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114Canal bruité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Des principes de communication aux normes
. . . . . . . . . . . . . . . . . . . . 117
Synchronisation des horloges. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118Transmissions synchrones et asynchrones . . . . . . . . . . . . . . . . . . . . . . . . . 119Voies et modes de transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120Structuration d’un message, encapsulation, notion de trame . . . . . . . . . . . 121Sens de transmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122Partage de support, multiplexage et démultiplexage . . . . . . . . . . . . . . . . . 122
Le codage binaire à signal
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Modulation large bande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124Modulation en bande de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Notions de protocole de communication
. . . . . . . . . . . . . . . . . . . . . . . . . 128
Un protocole, ensemble de règles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128Les échanges mémoire par l’exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
3864_ Page VII Jeudi, 2. juin 2005 12:15 12 > Apogee FrameMaker Noir
Architecture des ordinateurs
VIII
Exemple asynchrone : le 68020 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130Exemple synchrone : cycle de lecture du Z80 . . . . . . . . . . . . . . . . . . . . . . 132
C
HAPITRE
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138Déroulement de l’exécution d’une instruction . . . . . . . . . . . . . . . . . . . . . . 139Structuration, 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. . . . . . . . . . . . . . . . . . . . . . . . . 149Convention Big Endian ou grand boutiste . . . . . . . . . . . . . . . . . . . . . . . . . 149
Gestion de pile
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Les techniques d’adressage
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Description succincte du 68000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152Les modes d’adressage du 68000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Introduction au langage assembleur
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Modèle RISC « Load and Store ». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162Procédures et passage de paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
C
HAPITRE
5
Les interruptions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Les interruptions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Cycle de reconnaissance d’interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . 191La routine d’interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192L’arbitrage des demandes d’interruptions . . . . . . . . . . . . . . . . . . . . . . . . . 193Le paramétrage de la gestion d’une interruption . . . . . . . . . . . . . . . . . . . . 196Interruptions et exceptions, interruptions logicielles . . . . . . . . . . . . . . . . . 198Masquage/démasquage d’interruption . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Interruption, exception et système d’exploitation
. . . . . . . . . . . . . . . . . 200
Les modes User et Supervisor du 680x0 . . . . . . . . . . . . . . . . . . . . . . . . . . 201Interruptions et sections critiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
3864_ Page VIII Jeudi, 2. juin 2005 12:15 12 > Apogee FrameMaker Noir
Table des matières
IX
Introduction aux processus parallèles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206Exemple de programmation avec l’API win32 de Windows . . . . . . . . . . . 212
Système d’exploitation et ordonnancement
. . . . . . . . . . . . . . . . . . . . . . 212
Le noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213Programmes et processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Les entrées-sorties et le système de gestion de fichiers . . . . . . . . . . . . . . . 216L’interface homme-machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
C
HAPITRE
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. . . . . . . . . . . . . . . . 222Communication, ports et espace d’adressage. . . . . . . . . . . . . . . . . . . . . . . 224Mémoire partagée, Dual Port Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . 229Le DMA : Direct Memory Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Les coupleurs d’entrées-sorties de base
. . . . . . . . . . . . . . . . . . . . . . . . . . 237
Le timer (temporisateur), Intel 8254 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237Quelques modes de fonctionnement du timer 8254 . . . . . . . . . . . . . . . . . . 239Un contrôleur de liaison série, Motorola ACIA 6850 . . . . . . . . . . . . . . . . 240Un contrôleur de liaison parallèle, Zilog PIO . . . . . . . . . . . . . . . . . . . . . . 244Un circuit horloge temps réel (Real-Time Clock) . . . . . . . . . . . . . . . . . . . 246
Les entrées-sorties analogiques
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
La conversion analogique/numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248La conversion numérique analogique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252Les cartes d’acquisition de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253Les microcontrôleurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Les bus
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258Bus internes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259Bus externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
C
HAPITRE
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 . . . . . . . . . . . . . . . . . . . . . 289De l’organisation physique vers une organisation logique . . . . . . . . . . . . 290
3864_ Page IX Jeudi, 2. juin 2005 12:15 12 > Apogee FrameMaker Noir
Architecture des ordinateurs
X
FAT, File Allocation Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295Unix : le système de fichiers UFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299Les systèmes multiboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306Les clés USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Mémoire centrale et mémoire virtuelle
. . . . . . . . . . . . . . . . . . . . . . . . . . 309
L’overlay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311La segmentation – Pentium (architecture x86 ou IA32). . . . . . . . . . . . . . . 313La pagination – Pentium (architecture x86 ou IA 32) . . . . . . . . . . . . . . . . 319
Les mémoires cache
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Mémoire cache associative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329Mémoire cache à accès direct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330Mémoire cache à associativité par ensemble . . . . . . . . . . . . . . . . . . . . . . . 332Gestion d’un cache – Politique de remplacement. . . . . . . . . . . . . . . . . . . . 333Vue d’ensemble d’une architecture mémoire . . . . . . . . . . . . . . . . . . . . . . . 336
C
HAPITRE
8
Les performances
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Les critères de performances
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Bases de mesure et métriques de performances . . . . . . . . . . . . . . . . . . . . . 340La base « processeur », MIPS et MFLOPS . . . . . . . . . . . . . . . . . . . . . . . . 341La base « machine », benchmark et SPEC . . . . . . . . . . . . . . . . . . . . . . . . . 342Les étalons SPEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343La base « système » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Les techniques d’amélioration de performances
. . . . . . . . . . . . . . . . . . 344
Le niveau processeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344Le niveau mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355Le niveau logiciel : les compilateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Machines parallèles et processeurs spécialisés
. . . . . . . . . . . . . . . . . . . . 358
Principes généraux des machines parallèles . . . . . . . . . . . . . . . . . . . . . . . . 359Les processeurs DSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362Exemple 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 . . . . . . . . . . . . . . . . . . . 367Les registres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367Les instructions, les paquets et l’assembleur . . . . . . . . . . . . . . . . . . . . . . . 369Les instructions à prédicat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371La spéculation sur le code et les données . . . . . . . . . . . . . . . . . . . . . . . . . . 371
3864_ Page X Jeudi, 2. juin 2005 12:15 12 > Apogee FrameMaker Noir
Table des matières
XI
Le renommage de registre (rotation de registres). . . . . . . . . . . . . . . . . . . . 374Les procédures : passage de paramètres et pile de registres. . . . . . . . . . . . 378Les instructions du multimédia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378Les unités fonctionnelles de l’Itanium 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Les supercalculateurs
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
La course à la puissance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379Machine vectorielle, l’exemple du VPP5000 de Fujitsu . . . . . . . . . . . . . . 381
Conclusion
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
A
NNEXE
1
Unités de mesure
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Les unités de mesure
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
Les unités de stockage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391Les unités de débit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
A
NNEXE
2
Glossaire
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
A
NNEXE
3
Bibliographie
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
3864_ Page XI Jeudi, 2. juin 2005 12:15 12 > Apogee FrameMaker Noir