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 | modifier le wikicode]
Les circuits électroniques[modifier | modifier le wikicode]
Les circuits combinatoires[modifier | modifier le wikicode]
- 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 | modifier le wikicode]
- 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 | modifier le wikicode]
- 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 | modifier le wikicode]
- Les circuits de correction d'erreur
- Les circuits de génération d'aléatoire
- Les circuits de conversion analogique-numérique
L'architecture d'un ordinateur[modifier | modifier le wikicode]
- L'architecture de base d'un ordinateur
- La hiérarchie mémoire
- La performance d'un ordinateur
- La consommation d'énergie d'un ordinateur
Les bus et liaisons point à point[modifier | modifier le wikicode]
- Les bus et liaisons point à point (généralités)
- Les liaisons point à point
- Les bus électroniques
- Quelques exemples de bus et de liaisons point à point
Les mémoires RAM/ROM[modifier | modifier le wikicode]
La micro-architecture d'une mémoire adressable[modifier | modifier le wikicode]
Les mémoires primaires[modifier | modifier le wikicode]
- 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 | modifier le wikicode]
Le processeur[modifier | modifier le wikicode]
L'architecture externe[modifier | modifier le wikicode]
- 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 | modifier le wikicode]
- 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 | modifier le wikicode]
- 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 | modifier le wikicode]
Les entrées-sorties et périphériques[modifier | modifier le wikicode]
La communication avec les entrées-sorties[modifier | modifier le wikicode]
- 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 | modifier le wikicode]
Les mémoires de stockage[modifier | modifier le wikicode]
- Les mémoires de masse : généralités
- Les disques durs
- Les solid-state drives
- Les disques optiques
- Les mémoires historiques
- Les technologies RAID
La ou les mémoires caches[modifier | modifier le wikicode]
Le parallélisme d’instructions[modifier | modifier le wikicode]
La gestion des dépendances par le pipeline[modifier | modifier le wikicode]
- 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 | modifier le wikicode]
- 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 | modifier le wikicode]
Les architectures parallèles[modifier | modifier le wikicode]
Le parallélisme de tâches[modifier | modifier le wikicode]
- Les architectures multiprocesseurs et multicœurs
- Les architectures multithreadées et Hyperthreading
- Les architectures distribuées, NUMA et COMA
Le parallélisme de données[modifier | modifier le wikicode]
Les architectures parallèles exotiques[modifier | modifier le wikicode]
Annexes[modifier | modifier le wikicode]
- Le matériel réseau
- Les architectures découplées
- Les architectures tolérantes aux pannes
- Les architectures neuromorphiques
- Les circuits réversibles