Fonctionnement d'un ordinateur
Apparence
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 circuits intégrés à semi-conducteurs
[modifier | modifier le wikicode]- Les transistors et portes logiques
- Les circuits intégrés
- L'interface électrique entre circuits intégrés et bus
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 loi de Moore et les tendances technologiques
- Les techniques de réduction de la consommation électrique d'un processeur
Les bus et liaisons point à point
[modifier | modifier le wikicode]- Les bus et liaisons point à point (généralités)
- Les encodages spécifiques aux bus
- 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 SRAM synchrones
- Les mémoires RAM dynamiques (DRAM)
- Le contrôleur mémoire externe
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 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]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
Les entrées-sorties et périphériques
[modifier | modifier le wikicode]- Les méthodes de synchronisation entre processeur et périphériques
- L'adressage des périphériques
- La mémoire virtuelle des périphériques
- La carte mère, chipset et BIOS
- Les périphériques et les cartes d'extension
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 technologies RAID
La ou les mémoires caches
[modifier | modifier le wikicode]Le parallélisme d’instructions
[modifier | modifier le wikicode]Les branchements et le front-end
[modifier | modifier le wikicode]- 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 | modifier le wikicode]- 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 | modifier le wikicode]- 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
[modifier | modifier le wikicode]Les architectures parallèles
[modifier | modifier le wikicode]- Les architectures parallèles
- Les architectures multiprocesseurs et multicœurs
- Les architectures multithreadées et Hyperthreading
- Les architectures à parallélisme de données
- Les architectures parallèles exotiques
- La cohérence des caches
- Les sections critiques et le modèle mémoire
Annexes
[modifier | modifier le wikicode]- Les mémoires historiques
- Le matériel réseau
- Les architectures neuromorphiques
- La tolérance aux pannes
- Les circuits réversibles
Liens vers ressources externes
[modifier | modifier le wikicode]Sur wikilivres
[modifier | modifier le wikicode]- 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 | modifier le wikicode]- 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.