Fonctionnement d'un ordinateur
Aller à la navigation
Aller à la recherche
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, de la correction orthographique du cours, et de bien d'autres choses encore. Merci à eux pour le travail titanesque qui a été fourni sur le cours.
Les bases d'électronique numérique[modifier | modifier le wikicode]
Le codage des informations[modifier | modifier le wikicode]
Les circuits électroniques (généralités)[modifier | modifier le wikicode]
- Les portes logiques
- Les transistors et portes logiques
- Les circuits combinatoires
- Les circuits séquentiels
- Les circuits synchrones
Les circuits électroniques courants[modifier | modifier le wikicode]
- Les circuits de sélection
- Les circuits de calcul logique et bit à bit
- Les circuits de décalage et de rotation
- Les circuits de comparaison
- Les circuits de calcul entier
- Les circuits de calcul flottant
- Les circuits de correction d'erreur
- Les circuits de génération d'aléatoire
- Les circuits de conversion analogique-numérique
L'architecture minimale d'un ordinateur[modifier | modifier le wikicode]
- L'architecture de base d'un ordinateur
- La performance d'un ordinateur
- La consommation d'énergie d'un ordinateur
La mémoire principale[modifier | modifier le wikicode]
La micro-architecture d'une mémoire[modifier | modifier le wikicode]
- Les cellules mémoires
- Le plan mémoire
- L'interface avec le bus mémoire
- Le contrôleur mémoire interne
- Les mémoires évoluées
Les mémoires adressables (ROM et RAM)[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
- Les barrettes de mémoire
- Le contrôleur mémoire externe
Les mémoires non-adressables[modifier | modifier le wikicode]
Les mémoires de masse[modifier | modifier le wikicode]
Les mémoires de masse magnétiques[modifier | modifier le wikicode]
Les mémoires de masse électroniques, optiques et mécaniques[modifier | modifier le wikicode]
Le processeur[modifier | modifier le wikicode]
L'architecture externe[modifier | modifier le wikicode]
- Langage machine et assembleur
- L'encodage des instructions
- Les jeux d'instructions
- Le modèle mémoire : alignement et boutisme
- Les registres du processeur
- Un exemple de jeu d'instruction : l'extension x87
La micro-architecture[modifier | modifier le wikicode]
Les entrées-sorties[modifier | modifier le wikicode]
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 périphériques et composants communs des PCs[modifier | modifier le wikicode]
La hiérarchie mémoire[modifier | modifier le wikicode]
La mémoire virtuelle[modifier | modifier le wikicode]
La mémoire cache[modifier | modifier le wikicode]
Le parallélisme d’instructions[modifier | modifier le wikicode]
Dépendances et pipeline[modifier | modifier le wikicode]
- Interruptions et pipeline
- Les dépendances de contrôle
- Les dépendances de données
- Les dépendances structurelles
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
Émission multiple[modifier | modifier le wikicode]
Les jeux d’instructions spécialisés pour la performance / une application[modifier | modifier le wikicode]
Les architectures spécialisées pour le parallélisme[modifier | modifier le wikicode]
- Les architectures découplées
- Les architectures actionnées par déplacement
- Les architectures dataflow
Les architectures dédiées (à un type d’application/de langage de programmation)[modifier | modifier le wikicode]
- Les processeurs de traitement du signal
- Les architectures pour langages fonctionnels
- Les architectures à capacités
Les architectures tolérantes aux pannes[modifier | modifier le wikicode]
Les inclassables[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]
Annexes[modifier | modifier le wikicode]
Voir aussi[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.