Le but du cours est de comprendre la structure d'un processeur puis d'un système matériel complet, les contraintes qui ont abouti aux architectures actuelles, la programmation de ces architectures. Les étapes du cours sont: circuits combinatoires et séquentiels, architecture d'un microprocesseur RISC, programmation d'un microprocesseur en assembleur, système matériel (périphériques, interruptions, mémoire physique et virtuelle), processeurs superscalaires et à venir, programmation et performance.
Les principaux chapitres du cours:
- Représentation des nombres
- Circuits logiques
- Unité Arithmétique et Logique
- Notions de temps et de mémorisation
- Contrôle et jonction des composants
- Evolution des ordinateurs – Historique
- Un microprocesseur simple (LC2)
- Programmation d’un microprocesseur
- Système complet
- Les microprocesseurs actuels:
-- Pipeline
-- Prédiction de branchement
-- Caches
-- Exécution superscalaire
-- Multi-Coeurs
Niveau requis : La programmation d'un langage tel que Java ou C ou C++.
Modalités d'évaluation : - Examen écrit (3 heures)
- Projets optionnels
Dernière mise à jour : vendredi 14 octobre 2011

