Passer aux informations sur le produit
architecture informatique
architecture informatique
Description
Introduction au livre
Le passé, le présent et l'avenir de l'architecture : les leçons de l'histoire de l'informatique

La croissance fulgurante des masters en droit (LLM) et l'émergence de nouvelles cultures de développement comme Vibe Coding bouleversent l'écosystème informatique. Cependant, la connaissance de l'architecture informatique, fondement et essence même de l'informatique moderne, demeure un guide précieux pour les développeurs face à cette transformation rapide.

Alliant histoire, théorie, pratique et exemples concrets, cet ouvrage offre une exploration perspicace du monde informatique en constante évolution.
Au-delà de la simple lecture et de la compréhension de textes sur l'architecture informatique, elle offre également la possibilité de manipuler, de construire et de programmer directement des architectures.
Explorez la structure de base du processeur en programmant la machine analytique de Charles Babbage, conçue à l'époque victorienne.
Élargissez vos connaissances en composants électroniques pour inclure la programmation des ordinateurs de jeux rétro Commodore 64 et Amiga, 8 et 16 bits.
Nous analysons en profondeur les architectures courantes, x86 et RISC-V, et explorons des idées pour les technologies futures, notamment le cloud et les supercalculateurs.


Que vous soyez étudiant, professionnel ou simplement passionné de technologie, ce livre vous aidera à comprendre les étapes clés de l'histoire de l'architecture informatique et à vous connecter directement aux technologies qui définissent le monde d'aujourd'hui.
Découvrez le monde numérique de l'intérieur grâce à ce livre passionnant et instructif.
  • Vous pouvez consulter un aperçu du contenu du livre.
    Aperçu

indice
À propos de l'auteur, de l'éditeur et du traducteur xiv
Préface du traducteur xvi
Revue du lecteur bêta xviii
Pour commencer xx
Remerciements xxxviii

PARTIE I CONCEPTS DE BASE
CHAPITRE 1 Architectures historiques 3
1.1 Qu'est-ce qu'un ordinateur ? 4
1.2 Avant la révolution industrielle 7
1.2.1 Âge de pierre 7 / 1.2.2 Âge du bronze 9 / 1.2.3 Âge du fer 11
1.2.4 L'âge d'or islamique 13 / 1.2.5 La Renaissance et le Siècle des Lumières 15
1.3 L'ère de la vapeur 17
1.3.1 Métier à tisser Jacquard 17 / 1.3.2 Orgue de Barbarie et boîte à musique victoriens 18
1.3.3 Machine à différences de Babbage 18 / 1.3.4 Machine analytique de Babbage 20
1.3.5 Analyseur différentiel mécanique 24
1.4 Diesel Era 25
1.4.1 Calculatrice de table Hollerith et IBM 26 / 1.4.2 Analyseur différentiel électromécanique 28
1.4.3 Machines électromécaniques de la Seconde Guerre mondiale 28 / 1.4.4 Z3 31
1.5 Électrique Âge 31
1.5.1 Cryptographie purement électronique de la Seconde Guerre mondiale 32 / 1.5.2 ENIAC 33
1.5.3 VM ENIAC 35 / 1.5.4 Manchester Baby 35
1.5.5 Les années 1950 et l'informatique commerciale 37
1.6 Ère des transistors 38
1.6.1 Les années 1960 et les transistors de grande taille 38 / 1.6.2 Les années 1970 et les circuits intégrés 40
1.6.3 L'âge d'or des années 1980 41 / 1.6.4 Les années 1990 ennuyeuses 42
1.6.5 Les années 2000 et la restructuration communautaire 44
1.6.6 Les années 2010 et la fin de la loi de Moore 45
1.6.7 Le cloud et l'Internet des objets (IoT) dans les années 2020 48
1.7 Quel fut donc le premier ordinateur ? 50
Résumé du chapitre 51
Exercice pratique 51
Lecture complémentaire 52

CHAPITRE 2 REPRÉSENTATION DES DONNÉES 53
2.1 Bref historique de la représentation des données 54
2.1.1 Bâton de pointage et jeton d'échange 54 / 2.1.2 Chiffre romain 56
2.1.3 Décompte fractionné 56 / 2.1.4 Chiffres arabes et autres nombres 57
2.2 Système numérique moderne 59
2.2.1 Base et exposant 59 / 2.2.2 Base 10 : décimal 60
2.2.3 Base 2 : Binaire 61 / 2.2.4 Base 10 000 62
2.2.5 Base 60 : Sexagésimal 63 / 2.2.6 Base 16 : Hexadécimal 63
2.2.7 Base 256 : Octet 66 / 2.2.8 Comment convertir en base 66
2.3 Représentation des données 67
2.3.1 Nombres naturels 67 / 2.3.2 Entiers 70 / 2.3.3 Nombres rationnels 71
2.3.4 Virgule fixe 72 / 2.3.5 Virgule flottante 72 / 2.3.6 Tableau 73
2.3.7 Texte 75 / 2.3.8 Représentation des données multimédias 80 / 2.3.9 Structures de données 83
2.4 Mesure des données 84
Résumé du chapitre 86
Exercice pratique 86
Lecture complémentaire 87

CHAPITRE 3 : ARCHITECTURES DE BASE À BASE DE PROCESSEUR 88
3.1 Unité de traitement musical 88
3.1.1 De la musique au calcul numérique 91 / 3.1.2 Du calcul numérique au calcul 92
3.2 Processeur 93 de Babbage
3.2.1 Architecture de haut niveau 94 / 3.2.2 Interface programmeur 95
3.2.3 Sous-composants internes 100 / 3.2.4 Fonctionnement interne 103
Résumé de ce chapitre 106
Exercice pratique 107
Lectures complémentaires 107

PARTIE II HIÉRARCHIE DES CIRCUITS ÉLECTRONIQUES 109
CHAPITRE 4 Interrupteur 111
4.1 Système directionnel 112
4.1.1 Clapet anti-retour 113 / 4.1.2 Diode thermique 114 / 4.1.3 Diode à jonction PN 115
4.2 Interrupteur 121
4.2.1 Pressostat hydraulique 121 / 4.2.2 Interrupteur à tube à vide électrique 122
4.2.3 Transistor PNP 123 / 4.2.4 Interrupteur à effet hydraulique 125
4.2.5 Transistor à effet de champ 126 / 4.2.6 Horloge 127
4.3 Fabrication de transistors 128
4.4 Loi de Moore 130
Résumé de ce chapitre 131
Exercice pratique 132
Lectures complémentaires 132

CHAPITRE 5 LOGIQUE NUMÉRIQUE 133
5.1 Claude Shannon et les portes logiques 134
5.2 Portes logiques 135
5.2.1 Identification des portes universelles 138 / 5.2.2 Construction de portes logiques avec des transistors 138
5.2.3 Placement des portes logiques sur une puce 140
5.3 Logique booléenne 143
5.3.1 La logique comme arithmétique 144 / 5.3.2 Vérification de modèles vs. démonstration 145
5.4 Simplification des circuits logiques à l'aide de la logique booléenne 148
5.5 Implémentation de la logique numérique 150
5.5.1 Utilisation des puces de la série 7400 150 / 5.5.2 Traitement photographique 151
5.5.3 PLA 151 / 5.5.4 FPGA 152
Résumé de ce chapitre 154
Exercice pratique 154
Lecture complémentaire 155

CHAPITRE 6 MACHINES SIMPLES 156
6.1 Logique combinatoire 157
6.1.1 Opérations logiques bit à bit 157 / 6.1.2 Opérations logiques à entrées multiples 158
6.1.3 Décodeur de position 158 / 6.1.4 Décodeurs et encodeurs 159
6.1.5 Multiplexeurs et démultiplexeurs 160 / 6.1.6 Additionneurs 161
6.1.7 Éléments négatifs et soustracteurs 165
6.2 De la logique combinatoire à la logique séquentielle 166
6.3 Logique d'horloge 169
6.3.1 Bascule d'horloge 170 / 6.3.2 Compteur 171
6.3.3 Séquenceur 172 / 6.3.4 RAM (mémoire vive) 173
Résumé de ce chapitre 176
Exercice pratique 176
Lecture complémentaire 178

CHAPITRE 7 CONCEPTION DE PROCESSEURS NUMÉRIQUES 179
7.1 Interface de programmation pour bébé 180
7.1.1 Arrêt 181 / 7.1.2 Constante 181 / 7.1.3 Chargement et stockage 182
7.1.4 Arithmétique 183 / 7.1.5 Sauts 183 / 7.1.6 Branches 184
7.2 Assembleur 184
7.3 Structure interne du bébé de Manchester 189
7.3.1 Registres 190 / 7.3.2 Unité arithmétique et logique (UAL) 192 / 7.3.3 Unité de contrôle (UC) 193
7.4 Assemblage complet 196
7.4.1 Retrait 197 / 7.4.2 Déchiffrement 198 / 7.4.3 Exécution 199 / 7.4.4 Implémentation complète 204
Résumé de ce chapitre 206
Exercice pratique 207
Lectures complémentaires 209

CHAPITRE 8 CONCEPTION AVANCÉE DES PROCESSEURS 210
8.1 Nombre d'utilisateurs inscrits : 210
8.2 Nombre d'instructions : 212
8.3 Durée de la commande 213
8.4 Différents modes d'adressage 214
8.5 Sous-programme 217
8.5.1 Architecture sans pile 218 / 8.5.2 Architecture à taquet 218
8.6 Unité de calcul en virgule flottante (FPU) 220
8.7 Pipeline 221
8.7.1 Dangers 223 / 8.7.2 Résolution des dangers 225
8.8 Exécution hors séquence 229
8.9 Hyper-Threading 231
Résumé de ce chapitre 232
Exercice pratique 232
Lectures complémentaires 233

CHAPITRE 9 Entrées/Sorties (E/S) 234
9.1 Concepts de base des E/S 234
9.2 Bus 236
9.2.1 Lignes de bus 237 / 9.2.2 Interface CPU-Bus 238
Module d'E/S 9.3 240
9.3.1 Commande et synchronisation 241 / 9.3.2 Détection d'erreurs 243
9.4 Techniques des modules d'E/S 243
9.4.1 Interrogation 244 / 9.4.2 Interruptions 244 / 9.4.3 Accès direct à la mémoire (DMA) 246
9,5 E/S sans modules 247
9.5.1 Broches dédiées aux E/S du processeur 247 / 9.5.2 Mappage mémoire 247 / 9.5.3 Hiérarchie des bus 247
Résumé de ce chapitre 248
Exercice pratique 249
Lecture complémentaire 249

CHAPITRE 10 Mémoire 250
10.1 Hiérarchie de la mémoire 250
10.2 Mémoire principale 252
10.2.1 Octets et endianness 253 / 10.2.2 Module mémoire 255
10.2.3 RAM (mémoire vive) 256 / 10.2.4 ROM (mémoire morte) 261
10.3 Cache 263
10.3.1 Concepts clés du cache 265 / 10.3.2 Différentes politiques de lecture du cache 267
10.3.3 Différentes politiques d'écriture dans le cache 269 / 10.3.4 Architecture de cache avancée 270
10.4 Mémoire auxiliaire et mémoire hors ligne 272
10.4.1 Bande 273 / 10.4.2 Disque 276 / 10.4.3 Disque SSD 280
10.5 3ème Mémoire 281
10.6 Centre de données 281
Résumé de ce chapitre 282
Exercice pratique 282
Lectures complémentaires 283

PARTIE III Exemple d'architecture 285
CHAPITRE 11 Architecture rétro 287
11.1 L'âge d'or de la programmation dans les années 1980 288
11.1.1 ère 8 bits 290 / 11.1.2 ère 16 bits 291
11.2 Gestion du processeur MOS 6502 8 bits 292
11.2.1 Composants internes 292 / 11.2.2 Interface du programmeur 298
11.3 Conception d'ordinateurs 8 bits avec le Commodore 64 303
11.3.1 Comprendre l'architecture 303 / 11.3.2 Programmation C64 306
11.4 Conception d'ordinateurs 16 bits avec le Motorola 68000 309
11.4.1 Composants internes 309 / 11.4.2 Interface du programmeur 310
11.5 Conception d'ordinateurs 16 bits avec le Commodore Amiga 313
11.5.1 Comprendre l'architecture 314 / 11.5.2 Programmation Amiga 316
11.6 Rétro Périphériques 320
11.6.1 Écran CRT (tube cathodique) 320 / 11.6.2 Entrée utilisateur 321
11.6.3 Port série 322 / 11.6.4 Interface MIDI 322
Résumé du chapitre 324
Exercice pratique 324
Lecture complémentaire 326

CHAPITRE 12 : Architecture embarquée 328
12.1 Principes de conception 329
12.1.1 Usage unique 329 / 2.1.2 Fiabilité 329 / 12.1.3 Mobilité et alimentation électrique 329
12.1.4 Encapsulation 330 / 12.1.5 Débogage minutieux 330
12.2 Microcontrôleur 330
12.2.1 Processeur 331 / 12.2.2 Mémoire 331 / 12.2.3 Minuteurs et compteurs 331
12.3 E/S embarquées 332
12.3.1 Conversion analogique-numérique 332 / 12.3.2 Port série intégré 333
12.3.3 Bus CI-à-CI 334 / 12.3.4 Bus CAN 335
12.4 Arduino 336
12.4.1 Microcontrôleur ATmega328 337 / 12.4.2 Le reste de la carte Arduino 339
12.4.3 Programmation Arduino 340
12.5 Autres systèmes embarqués à processeur 342
12.5.1 Microcontrôleur Atmel AVR 342 sans Arduino / 12.5.2 Microcontrôleur PIC 342
12.5.3 Unité de traitement numérique du signal (DSP) 343
12.6 Systèmes embarqués sans processeur 344
12.6.1 Automates programmables (PLC) 345 / 12.6.2 FPGA embarqués 347
Résumé du chapitre 348
Exercice pratique 349
Lecture complémentaire 349

CHAPITRE 13 : ARCHITECTURE DES POSTES DE BUREAU 351
13.1 Philosophie de conception CISC 352
13.2 Microprogrammation 353
13.3 Historique du x86 355
13.3.1 Préhistorique 355 / 13.3.2 Classique 16 bits 356
13.3.3 32 bits Guerre des Clones Ère 357 / 13.3.4 64 bits Ère de la Marque 358
Programmation 13.4 x86 360
13.4.1 Registres 360 / 13.4.2 Grammaire NASM 363
13.4.3 Segmentation 372 / 13.4.4 Mode de compatibilité descendante 372
13.5 Conception d'ordinateurs PC 373
13.5.1 Hiérarchie des bus 374 / 13.5.2 Bus commun 377 / 13.5.3 Dispositifs standard 380
Résumé de ce chapitre 388
Exercice pratique 388
Lecture complémentaire 394

CHAPITRE 14 Architecture intelligente 396
14.1 Appareils intelligents 397
14.2 RISC Philosophie 398
14.3 RISC-V 400
14.3.1 Comprendre l'architecture 401 / 14.3.2 Programmation RISC-V de base 403
14.3.3 Extensions RISC-V 405
14.4 Diverses implémentations RISC-V 407
14.5 Chaîne d'outils et communauté RISC-V 408
14.6 Conception d'ordinateur intelligent 409
14.6.1 Mémoire DRAM basse consommation (LP-DRAM) 410 / 14.6.2 Caméra 410 / 14.6.3 Écran tactile 411
Résumé du chapitre 412
Exercice pratique 413
Lecture complémentaire 415

CHAPITRE 15 : ARCHITECTURES PARALLÈLES 416
15.1 Pensée sérielle vs. pensée parallèle 417
15.2 SIMD 420 sur le processeur
15.2.1 Introduction à SIMD 420 / 15.2.2 SIMD sur x86 421
15.3 SIMD sur GPU 428
15.3.1 Architecture GPU 429 / 15.3.2 Programmation assembleur GPU Nvidia 430
15.3.3 Dialectes SASS 438 / 15.3.4 Programmation GPU de haut niveau 442
15.4 MIMD (Instructions multiples, données multiples) 445
15.4.1 MIMD 445 à processeur unique / 15.4.2 MIMD 445 à mémoire partagée
15.4.3 Informatique distribuée MIMD 451
15.5 Parallélisme sans commande 456
15.5.1 Architecture de flux de données 456 / 15.5.2 Compilateur de flux de données 458
15.5.3 Réseaux neuronaux matériels 459
Résumé de ce chapitre 460
Exercice pratique 462
Lecture complémentaire 465

CHAPITRE 16 : L'ARCHITECTURE DU FUTUR 467
16.1 Un nouvel âge d'or 467
16.1.1 Architecture open source 468 / 16.1.2 Transistors à l'échelle atomique 470
16.1.3 Architecture silicium 3D 471 / 16.1.4 Mémoire à 10 000 ans 472
16.2 Architecture optique 473
16.2.1 Phototransistor 473 / 16.2.2 Corrélateur optique 474 / 16.2.3 Réseau neuronal optique 476
16.3 Architecture de l'ADN 477
16.3.1 Biologie synthétique 478 / 16.3.2 Informatique ADN 479
16.4 Architecture neuronale 480
16.4.1 Transistors vs. Canaux ioniques 481 / 16.4.2 Portes logiques vs. Neurones 481
16.4.3 Fils de cuivre vs. Signaux chimiques 483 / 16.4.4 Machines simples vs. Colonnes corticales 484
16.4.5 Puce vs. Cortex cérébral 485 / 16.4.6 Calcul parallèle vs. Calcul séquentiel 486
16.5 Architecture quantique 487
16.5.1 Une version humoristique de la mécanique quantique 488 / 16.5.2 Une version mathématique de la mécanique quantique 489
16.5.3 Registres quantiques avec qubits 490 / 16.5.4 Calcul interdimensionnel 493
16.5.5 Architectures pratiques des ordinateurs quantiques 494
16.6 Architectures physiques futures 494
Résumé de ce chapitre 497
Exercice pratique 498
Lecture complémentaire 499

ANNEXE 501
ANNEXE A Support du système d'exploitation 503
Concurrence 504
Mode noyau et mode utilisateur 505
Mémoire virtuelle 505
Pilote de périphérique 506
Chargeur 507
Linker 508
Étapes de démarrage supplémentaires 510
Mode hyperviseur, virtualisation et conteneurs 512
Système d'exploitation temps réel 512
Vulnérabilité d'exécution spéculative 513
Exercice pratique 517
Lecture complémentaire 518

Source de l'image 519
Recherche 527

Image détaillée
Image détaillée 1

Dans le livre
L'architecture informatique est souvent un cours obligatoire pour l'obtention d'un diplôme ou pour répondre aux exigences d'un emploi.
Et il y a beaucoup de gens qui n'aiment pas l'architecture mais qui ont quand même besoin de l'apprendre.
Je le sais très bien car je suis moi aussi ce genre de personne.
Pour rendre ce livre plus facile à digérer pour des lecteurs comme moi, j'y ai ajouté une cuillère de sucre.
Il établit des liens entre des sujets susceptibles d'intéresser les lecteurs et l'étude de l'architecture.
Si vous n'êtes pas un grand passionné de matériel informatique, mais que vous aimez la musique, la robotique, l'IA ou l'histoire, vous apprécierez probablement ce livre.
Il en va de même pour les lecteurs qui apprécient les constructions Lego complexes.
Grâce à ce lien, vous pourriez commencer à apprécier un peu l'architecture.
Si vous passez un examen d'architecture informatique à l'école, ce livre rendra vos études un peu plus amusantes.

--- p.xxiv

Depuis l'Antiquité, on fait la distinction entre architecture informatique et organisation informatique.
Le premier terme fait référence à la conception des interfaces matériel/logiciel perceptibles par les programmeurs, tandis que le second fait référence à l'implémentation interne (invisible pour les programmeurs) de ces interfaces.
Dans ce contexte, on considérait que les programmeurs écrivaient du code au niveau du langage assembleur (qui servait d'interface entre le programmeur et le matériel).
Mais de nos jours, les programmeurs travaillent presque toujours au moins dans un langage compilé, et il est très rare de trouver un programmeur travaillant au niveau du langage assembleur.
Grâce aux compilateurs et aux systèmes d'exploitation, les programmeurs modernes travaillent à un niveau d'abstraction beaucoup plus élevé qu'avec les anciennes interfaces d'assemblage.
De plus, les composants de niveau supérieur tels que les bibliothèques et les moteurs de jeu augmentent également le niveau d'abstraction.
De ce fait, la distinction entre architecture informatique conventionnelle et structure informatique n'est pas très importante à ce stade.

--- p.xxxv

Pour retracer l'histoire des ordinateurs, il faut d'abord définir ce qu'est un ordinateur et en quoi il diffère d'une simple calculatrice ou d'une machine à calculer numérique.
Il s'agit d'une question étonnamment difficile qui fait encore l'objet de débats.
J'ai ma propre règle empirique pour déterminer si un objet donné est un ordinateur ou non.
C'est exact, « Pouvez-vous programmer Space Invaders ? »
Une simple calculatrice ne peut pas faire ça.
Par conséquent, une simple calculatrice n'est pas un ordinateur.
En revanche, une calculatrice dotée de capacités de programmation est un ordinateur, puisqu'il est possible de programmer le jeu Space Invaders.

--- p.4

Ne pourrait-on pas exploiter l'existence apparemment parallèle de multiples réalités interagissantes en mécanique quantique comme une forme de calcul parallèle ? De même que les tâches de calcul dans une réalité unique sont réparties sur plusieurs processeurs, si nous pouvions répartir les tâches de calcul sur plusieurs réalités parallèles, effectuer chaque calcul individuellement, puis rassembler les résultats dans la réalité unique que nous habitons, nous pourrions tirer parti des vastes ressources de calcul présentes dans d'innombrables réalités parallèles.
Au lieu de créer d'innombrables processeurs dans une seule réalité, les calculs peuvent être effectués simultanément dans plusieurs réalités parallèles, chacune dotée d'un seul processeur.
Cette idée a été proposée pour la première fois par Richard Feynman en 1988.
C'est le début de l'informatique quantique.
--- p.490

Avis de l'éditeur
■ Comment représenter des données selon différentes méthodes d'encodage et comment construire des portes logiques numériques
■ Principes fondamentaux de la programmation en langage machine et en assembleur
■ Principes de fonctionnement et exemples concrets de pipeline, d'exécution hors séquence et de traitement parallèle
■ Impact et perspectives des réseaux neuronaux, de l'ADN, de l'optique et de l'informatique quantique
SPÉCIFICATIONS DES PRODUITS
- Date d'émission : 6 novembre 2025
- Nombre de pages, poids, dimensions : 588 pages | 188 × 245 × 28 mm
- ISBN13 : 9791194587439

Vous aimerez peut-être aussi

카테고리