# Fonctionnement d'un ordinateur/Sommaire
## Le codage des informations

* L'encodage des données
* Le codage des nombres
* Les codes de détection/correction d'erreur

## Les circuits électroniques

* Les portes logiques

### Les circuits combinatoires

* Les circuits combinatoires
* Les circuits de masquage
* Les circuits de sélection

### Les circuits séquentiels

* 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

* 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 de calcul logique et bit à bit
* Les circuits pour l'addition multiopérande
* Les circuits pour la multiplication et la division
* Les circuits de calcul flottant
* Les circuits de calcul trigonométriques
* Les circuits de comparaison
* Les circuits de génération d'aléatoire
* Les circuits de conversion analogique-numérique

### Les circuits intégrés à semi-conducteurs

* 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

* 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 électroniques et la carte mère

* La carte mère, chipset et BIOS
* 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

* Les différents types de mémoires
* L'interface d'une mémoire électronique
* Le bus mémoire

### La micro-architecture d'une mémoire adressable

* Les cellules mémoires
* Le plan mémoire
* Le contrôleur mémoire interne
* Les mémoires évoluées

### Les mémoires primaires

* 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

* Les mémoires associatives
* Les mémoires FIFO et LIFO

## Le processeur
### L'architecture externe

* Langage machine et assembleur
* Les registres du processeur
* Le modèle mémoire : alignement et boutisme
* Les modes d'adressage
* L'encodage des instructions
* Les jeux d'instructions
* La pile d'appel et les fonctions
* Les interruptions et exceptions

### La micro-architecture

* 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

* Les architectures canoniques
* Les processeurs de traitement du signal
* Les architectures actionnées par déplacement

### La mémoire virtuelle et la protection mémoire

* 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

* 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
* Les périphériques et les cartes d'extension

## Les mémoires de stockage

* 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

* Les mémoires cache
* Le préchargement
* Le Translation Lookaside Buffer

## Le parallélisme d’instructions

* Le pipeline
* Les pipelines de longueur fixe et dynamiques

### Les branchements et le front-end

* Les exceptions précises et branchements
* La prédiction de branchement
* Les optimisations du chargement des instructions

### L’exécution dans le désordre

* 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

* 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

* Les processeurs superscalaires
* Les processeurs VLIW et EPIC
* Les architectures dataflow

## Les architectures parallèles

* Les architectures parallèles
* Les architectures multiprocesseurs et multicœurs
* Les architectures multithreadées et Hyperthreading
* Les architectures à parallélisme de données
* La cohérence des caches
* Les sections critiques et le modèle mémoire

## Annexes

* Les mémoires historiques
* Le matériel réseau
* La tolérance aux pannes
* Les architectures systoliques
* Les réseaux de neurones matériels
* Les ordinateurs à encodages non-binaires
* Les circuits réversibles