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 modifier
Les circuits électroniques modifier
Les circuits combinatoires modifier
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 circuits pour la multiplication et la division
- Les circuits de calcul flottant
- Les circuits de comparaison
Les autres circuits modifier
L'architecture d'un ordinateur modifier
Les bus et liaisons point à point modifier
Les mémoires RAM/ROM modifier
La micro-architecture d'une mémoire adressable modifier
Les mémoires primaires modifier
- Les mémoires ROM : Mask ROM, PROM, EPROM, EEPROM, Flash
- Les mémoires DRAM asynchrones : FPM et EDO-RAM
- Les mémoires DRAM synchrones : SDRAM et DDR
- Le contrôleur mémoire externe
- Les barrettes de mémoire
Les mémoires exotiques modifier
Le processeur modifier
L'architecture externe modifier
- Langage machine et assembleur
- La pile d'appel et les fonctions
- Les registres du processeur
- L'encodage des instructions
- Les jeux d'instructions
- Le modèle mémoire : alignement et boutisme
- L'espace d'adressage du processeur
- Un exemple de jeu d'instruction : l'extension x87
La micro-architecture modifier
Les jeux d'instruction spécialisés ou exotiques modifier
Les entrées-sorties modifier
La communication avec les entrées-sorties modifier
- Le contrôleur de périphériques
- L'adressage des périphériques
- Les méthodes de synchronisation entre processeur et périphériques
Les périphériques et composants communs des PCs modifier
Les mémoires de stockage modifier
Les différentes mémoires de masse modifier
Les optimisations des mémoires de masse modifier
La hiérarchie mémoire modifier
La mémoire virtuelle modifier
La mémoire cache modifier
Les caches spécialisés modifier
Le parallélisme d’instructions modifier
La gestion des dépendances par le pipeline modifier
- Interruptions et pipeline
- Les dépendances de contrôle
- Les dépendances de données
- Les dépendances structurelles
L’exécution dans le désordre modifier
- L'exécution dans le désordre
- Fenêtres d’instruction et stations de réservation
- Le renommage de registres
- La désambigüisation de la mémoire
- Les processeurs superscalaires
Le parallélisme d'instruction exposé au niveau du jeu d'instruction modifier
Les architectures parallèles modifier
Le parallélisme de tâches modifier
- Les architectures multiprocesseurs et multicœurs
- Les architectures multithreadées et Hyperthreading
- Les architectures distribuées, NUMA et COMA