Ce cours couvre les fondamentaux de l'architecture des ordinateurs, incluant les composants matériels, les systèmes d'exploitation, les processeurs, la mémoire et les bus de données, pour maîtriser le fonctionnement interne des machines. Ce PDF offre un support de formation complet de 86 pages, téléchargeable gratuitement, détaillant les concepts clés tels que les architectures Von Neumann et Harvard, la gestion des entrées-sorties et les performances des systèmes. Il sert de ressource essentielle pour les étudiants et professionnels souhaitant approfondir leurs connaissances en informatique matérielle. Le document combine théorie et exemples pratiques pour une compréhension optimale.
Ce cours s'adresse aux étudiants en informatique (niveau licence ou master), aux ingénieurs en formation, ainsi qu'aux professionnels souhaitant approfondir leur compréhension des architectures matérielles. Les prérequis incluent des bases en programmation (langage C ou assembleur recommandé) et une connaissance élémentaire des systèmes numériques. Le contenu est également adapté aux autodidactes passionnés par le hardware.
Retracez l'évolution des ordinateurs, des machines mécaniques aux architectures modernes, en passant par les révolutions des transistors et des circuits intégrés. Découvrez comment des innovations comme la machine de Von Neumann ont façonné l'informatique contemporaine.
Explorez le cycle fetch-decode-execute, le rôle de l'horloge système, et les interactions entre l'unité centrale, la mémoire et les périphériques. Des schémas explicatifs illustreront le flux de données et de contrôle.
Apprenez à calculer le CPI (Cycles Par Instruction), le MIPS (Millions d'Instructions Par Seconde) et l'impact des goulots d'étranglement. Études de cas sur des benchmarks réels.
Comparez les architectures RISC (ARM) et CISC (x86), analysez les formats d'instructions et les modes d'adressage. Travaux pratiques sur un simulateur d'assemblage.
Détail des représentations binaire, hexadécimale, complément à deux pour les entiers, et norme IEEE 754 pour les flottants. Exercices de conversion et détection d'erreurs.
Anatomie d'un processeur : ALU, registres, contrôleur. Analyse des bus (adresse, données, contrôle) et des technologies de fabrication (nanométrie).
Optimisation du pipeline, gestion des aléas (data hazards), et techniques de prédiction statique/dynamique. Benchmarks comparatifs.
Pyramide de mémoire : registres → caches L1/L2/L3 → RAM → disque. Politiques de remplacement (LRU) et cohérence cache dans les systèmes multicœurs.
Protocoles (PCIe, USB), interruptions, DMA, et gestion des pilotes. Exemples de cartes graphiques et de stockage NVMe.
Classification de Flynn (SIMD, MIMD), architectures multithread, GPU (CUDA), et défis de la synchronisation. Lab sur OpenMP.
Évolution d'Intel/AMD, modes de fonctionnement (réel, protégé, long), et analyse d'un BIOS moderne. Démontage virtuel d'un PC.
Le cours combine théorie (cours magistraux) et pratique (TP sur simulateurs comme MARS ou QEMU). Des projets incluront l'analyse de traces d'exécution et l'optimisation de code assembleur. Évaluation via un examen final (50%) et un mini-projet (50%) sur l'émulation d'un composant matériel.
Partner sites PDF Tutorials (English) | PDF Manuales (Spanish) | Cours PDF (French)