Fonctionnement d'un ordinateur
(Redirigé depuis Architecture des ordinateurs)
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 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 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 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 mémoire virtuelle et la protection mémoire modifier
- L'espace d'adressage du processeur
- Le partage de l'espace d'adressage : avec et sans multiprogrammation
- L'abstraction mémoire et la mémoire virtuelle
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 modifier
Les entrées-sorties et périphériques 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
- La mémoire virtuelle des périphériques
Les périphériques et la carte mère modifier
Les mémoires de stockage modifier
La ou les mémoires caches 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