Fonctionnement d'un ordinateur
Dans ce cours, vous allez apprendre quels sont les composants d'un ordinateur et comment ceux-ci fonctionnent. Ce cours commencera par des choses simples, comme le binaire, pour arriver progressivement jusqu'au fonctionnement des derniers processeurs, en passant par plein de choses passionnantes comme l'assembleur, les mémoires caches, etc. Ce cours est accessible à n'importe qui, sans prérequis, mais se veut cependant assez complet et riche en informations.
- L'auteur du livre tient à remercier vivement Dominus Carnufex et Vayel, qui se sont chargés de la relecture et de la correction orthographique d'une ancienne version de ce cours. Merci à eux pour le travail titanesque qui a été fourni.
Le codage des informations
modifierLes circuits électroniques
modifierLes circuits combinatoires
modifier- Les circuits combinatoires
- Les circuits de masquage
- Les circuits de sélection
- Les circuits de calcul logique et bit à bit
Les circuits séquentiels
modifier- Les bascules : des mémoires de 1 bit
- Les circuits synchrones et asynchrones
- Les registres et mémoires adressables
- Les circuits compteurs et décompteurs
- Les timers et diviseurs de fréquence
Les circuits de calcul et de comparaison
modifier- Les circuits de décalage et de rotation
- Les circuits pour l'addition et la soustraction
- Les unités arithmétiques et logiques entières (simples)
- Les circuits pour l'addition multiopérande
- Les circuits pour la multiplication et la division
- Les circuits de calcul flottant
- Les circuits de comparaison
Les circuits intégrés à semi-conducteurs
modifierL'architecture d'un ordinateur
modifierLes bus et liaisons point à point
modifierLes mémoires RAM/ROM
modifierLa micro-architecture d'une mémoire adressable
modifierLes mémoires primaires
modifier- Les mémoires ROM : Mask ROM, PROM, EPROM, EEPROM, Flash
- Les mémoires SRAM synchrones
- Les mémoires RAM dynamiques (DRAM)
- Le contrôleur mémoire externe
Les mémoires exotiques
modifierLe processeur
modifierL'architecture externe
modifier- Langage machine et assembleur
- La pile d'appel et les fonctions
- Les interruptions et exceptions
- Les registres du processeur
- L'encodage des instructions
- Les jeux d'instructions
- Le modèle mémoire : alignement et boutisme
- Un exemple de jeu d'instruction : l'extension x87
La micro-architecture
modifier- Les composants d'un processeur
- Le chemin de données
- L'unité de chargement et le program counter
- L'unité de contrôle
Les jeux d'instruction spécialisés ou exotiques
modifierLa mémoire virtuelle et la protection mémoire
modifierLes entrées-sorties et périphériques
modifierLes mémoires de stockage
modifierLa ou les mémoires caches
modifierLe parallélisme d’instructions
modifierLes branchements et le front-end
modifier- Les exceptions précises et branchements
- La prédiction de branchement
- Les optimisations du chargement des instructions
L’exécution dans le désordre
modifier- L'émission dans l'ordre des instructions
- Les dépendances de données et l'exécution dans le désordre
- Le renommage de registres
- Annexe : Le scoreboarding et l'algorithme de Tomasulo
Les accès mémoire avec un pipeline
modifier- Les unités mémoires à exécution dans l'ordre
- Les unités mémoires à exécution dans le désordre
- Le parallélisme mémoire au niveau du cache
L'émission multiple
modifierLes architectures parallèles
modifierAnnexes
modifierLiens vers ressources externes
modifierSur wikilivres
modifier- Les cartes graphiques, un livre du même auteur qui aborde spécifiquement l'architecture des cartes vidéo.
- Monter un PC, pour une approche bien plus pratique et utile.
- Les systèmes d'exploitation, un cours qui explique l'interaction entre systèmes d'exploitation et matériel. Le sujet (les systèmes d'exploitation) est si lié au matériel informatique qu'il peut être vu comme un prolongement du présent cours, ou tout du moins comme un très bon complément.
- Électronique numérique : logique, un cours d'électronique numérique, disponible sur Wikilivre. Un excellent complément pour les premiers chapitres du cours.
Liens divers
modifier- Stack Computers: the new wave : un livre sur les architectures à pile.
- Capability-Based Computer Systems : un livre sur les architectures à capacités.
- Museum of analog computing. Ce site en anglais parle d'un sujet qui n'a pas été abordé dans ce livre : les calculateurs analogiques.