Fonctionnement d'un ordinateur/Sommaire
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