Cours Architecture des ordinateurs en PDF (Intermédiaire)
Architecture des ordinateurs : Ce qu'il faut savoir. Discipline qui étudie l'organisation matérielle et logicielle d'un ordinateur, incluant représentation binaire des données, unité centrale, hiérarchie mémoire, bus et périphériques. Cette discipline permet d'expliquer comment le CPU exécute un programme, comment la mémoire et les contrôleurs d'E/S coopèrent, et pourquoi certaines optimisations (cache, modes d'adressage) impactent fortement les performances. Fiche basée sur le PDF gratuit d'Emmanuel Viennet, téléchargeable pour consultation et révision.
🎯 Ce que vous allez apprendre
- Représentation des données et codages — maîtrise des systèmes de numération (bases 2, 8, 10, 16), codage des entiers et des flottants selon la norme IEEE. Vous comprendrez les limites des codages sur 8/16/32/64 bits et sa conséquence pratique sur l'overflow, la précision et les conversions entre bases.
- Architecture de base et bus — connaissance des composants: mémoire principale (MP), processeur, et liaisons Processeur‑Mémoire via bus (local, PCI). Vous saurez analyser les goulots d'étranglement liés au bus et justifier des choix d'interfaçage pour des périphériques.
- Langage machine et jeu d'instruction — étude du codage des instructions, des types d'instructions et des modes d'adressage; lecture du temps d'exécution et correspondances avec le C. À l'issue, vous serez capable d'interpréter des opcodes simples et d'anticiper l'impact d'un mode d'adressage sur la performance.
- Assembleur 80x86, segmentation et pile — écriture et structure d'un programme assembleur, gestion de la segmentation mémoire, utilisation de la pile et des instructions
PUSH/POP, et conventions d'appel (CALL/RET). Vous pourrez écrire et déboguer de courts routines en assembleur et intégrer des bouts d'assembleur dans du code C. - Système d'exploitation, BIOS et interruptions — rôle du BIOS, vecteurs d'interruption, instruction
INT net installation de traitants d'interruptions; gestion matérielle des interruptions sur PC et contrôleur d'interruptions. Vous serez en mesure d'écrire un traitant d'interruption simple en C et d'expliquer la mécanique d'une interruption externe masquable. - Entrées/Sorties et périphériques — principes des transferts (modes, DMA vs interruptions), bus SCSI/PCMCIA, interface série 8250 et normes RS‑232. Après étude vous pourrez programmer des échanges UART basiques et comprendre la topologie d'un bus d'extension sur PC.
📑 Sommaire du document
- Introduction à l'architecture
- Introduction au langage machine
- L'assembleur 80x86
- Notions de compilation
- Le système d'exploitation
- Les interruptions
- Les entrées/sorties
- Les périphériques
💡 Pourquoi choisir ce cours ?
Document pédagogique d'Emmanuel Viennet (IUT de Villetaneuse, Département GTR) alliant théorie et nombreux exemples pratiques centrés sur l'architecture du PC. L'approche est progressive : de la représentation binaire aux mécanismes d'interruption, en passant par l'assembleur 80x86 et la programmation d'E/S en C, avec exemples, usage du programme debug et extraits de code. Ce PDF se distingue par son équilibre entre concepts fondamentaux (hiérarchie mémoire, principe de localité) et modes opératoires concrets adaptés à des travaux pratiques.
👤 À qui s'adresse ce cours ?
- Public cible : étudiants et techniciens en DUT/BUT GTR, BTS ou licence informatique, développeurs bas‑niveau et administrateurs souhaitant comprendre l'interaction CPU/mémoire/périphériques dans un environnement PC.
- Prérequis : compréhension de l'arithmétique binaire et des systèmes de numération, connaissances élémentaires en programmation (notamment en langage C), et familiarité avec l'utilisation d'une ligne de commande ou d'un environnement DOS/terminal.
❓ Foire Aux Questions (FAQ)
Quelle est la différence technique entre RISC et CISC ? Réponse : le document compare architectures RISC et CISC en termes de complexité d'opcodes, longueur d'instructions et pipeline ; RISC privilégie des instructions simples et un pipeline efficace tandis que CISC offre des instructions plus riches pouvant réduire la densité du code mais complexifier le décodage et l'exécution.
Comment fonctionne une mémoire cache et quel est le principe de localité ? Réponse : la fiche détaille la hiérarchie mémoire et les caches associatives, en expliquant que la localité temporelle et spatiale augmente le taux de hit d'un cache ; vous apprendrez à estimer l'efficacité d'un cache via la stratégie d'association et les politiques de remplacement.