Architecture matérielle
Processeur, mémoire, circuits logiques, modèle de Von Neumann et systèmes embarqués.
Cours complet
I. Le modèle de Von Neumann
L'architecture de Von Neumann (1945) est le fondement de tous les ordinateurs modernes. Elle repose sur quatre composants connectés par des bus :
- • L'Unité Arithmétique et Logique (UAL) : effectue les calculs (addition, soustraction, opérations logiques AND, OR, NOT).
- • L'Unité de Commande (UC) : lit et décode les instructions, coordonne les composants. UAL + UC = le processeur (CPU).
- • La mémoire : stocke les données ET les programmes (principe fondamental — une seule mémoire pour les deux).
- • Les entrées/sorties (E/S) : clavier, souris, écran, réseau — interface avec l'extérieur.
Point clé : dans le modèle de Von Neumann, données et instructions sont stockées dans la même mémoire. C'est ce qui distingue ce modèle de l'architecture Harvard (mémoires séparées, utilisée dans certains microcontrôleurs).
II. Le processeur (CPU)
Le processeur exécute les instructions une par une selon un cycle Fetch-Decode-Execute :
- Fetch : le compteur ordinal (PC) indique l'adresse de la prochaine instruction en mémoire. L'UC la charge dans le registre d'instruction (IR).
- Decode : l'UC décode l'instruction pour identifier l'opération à effectuer et les opérandes.
- Execute : l'UAL réalise le calcul ou l'opération. Le résultat est stocké dans un registre ou en mémoire.
La fréquence d'horloge (en GHz) rythme ce cycle. Un processeur à 3 GHz effectue 3 milliards de cycles par seconde. Mais la performance dépend aussi du nombre de cœurs, de la taille du cache et de l'architecture du pipeline.
Registres importants : PC (Program Counter) = adresse instruction suivante, IR (Instruction Register) = instruction en cours, ACC (Accumulator) = résultat du dernier calcul.
III. La mémoire
Hiérarchie des mémoires (du plus rapide au plus lent) :
| Type | Vitesse | Capacité | Volatilité |
|---|---|---|---|
| Registres | ~1 ns | ~quelques Ko | Volatile |
| Cache (L1, L2, L3) | ~1-10 ns | Ko à Mo | Volatile |
| RAM | ~10-100 ns | Go | Volatile |
| Stockage (SSD/HDD) | ~µs-ms | To | Non-volatile |
RAM (Random Access Memory) : mémoire vive, rapide, volatile (perdue à l'extinction). Chaque octet a une adresse unique. ROM (Read Only Memory) : mémoire morte, contient le BIOS/firmware. Mémoire flash (SSD, clé USB) : non-volatile, rapide, mais nombre d'écritures limité.
IV. Les circuits logiques
Le processeur est construit à partir de portes logiques qui manipulent des bits (0 et 1). Les trois portes de base :
AND
1 AND 1 = 1
Sinon = 0
OR
0 OR 0 = 0
Sinon = 1
NOT
NOT 0 = 1
NOT 1 = 0
En combinant ces portes, on construit des circuits plus complexes : additionneur (addition binaire), multiplexeur (sélection de signal), bascule (mémoire 1 bit). La porte NAND est universelle : on peut construire n'importe quel circuit logique uniquement avec des NAND.
En Python, les opérateurs logiques sur les bits : & (AND), | (OR), ~ (NOT), ^ (XOR). Exemple : 0b1010 & 0b1100 = 0b1000.
V. Systèmes embarqués
Un système embarqué est un ordinateur spécialisé intégré dans un appareil : smartphone, voiture, lave-linge, carte Arduino, Raspberry Pi. Caractéristiques :
- • Spécialisés : conçus pour une tâche précise (contrairement à un PC généraliste).
- • Contraints : mémoire limitée, faible consommation, temps réel (réponse immédiate).
- • Omniprésents : plus de 98% des processeurs produits sont pour des systèmes embarqués.
- • Capteurs et actionneurs : capteur de température → microcontrôleur → actionneur (ventilateur).
L'Internet des objets (IoT) connecte ces systèmes embarqués en réseau : montres connectées, domotique, véhicules autonomes. Enjeux : sécurité, consommation énergétique, protection des données.
Vocabulaire essentiel
Méthode
Combinez théorie et pratique : implémentez les circuits logiques en Python (opérateurs &, |, ^, ~), simulez le cycle Fetch-Decode-Execute avec un programme pas à pas, et expérimentez avec un Arduino ou Raspberry Pi pour comprendre les systèmes embarqués. Pour les exercices écrits, dessinez toujours le schéma de Von Neumann et tracez le parcours des données.
Exercices
Q1 : Quels sont les 4 composants du modèle de Von Neumann ?
Réponse : L'UAL (calculs), l'Unité de Commande (décodage des instructions), la Mémoire (stocke programmes et données), les Entrées/Sorties (interface avec l'extérieur). UAL + UC = processeur (CPU). Ils communiquent par des bus.
Q2 : Décrivez le cycle Fetch-Decode-Execute.
Réponse : Fetch : le PC pointe vers l'adresse de la prochaine instruction en mémoire, qui est chargée dans le registre IR. Decode : l'UC décode l'instruction pour identifier l'opération et les opérandes. Execute : l'UAL exécute l'opération et stocke le résultat. Le PC est incrémenté et le cycle recommence.
Q3 : Pourquoi la RAM est-elle dite "volatile" ?
Réponse : La RAM perd son contenu quand l'ordinateur est éteint (pas d'alimentation électrique = les données disparaissent). C'est pourquoi on sauvegarde sur un support non-volatile (SSD, disque dur) pour conserver les données.
Q4 : Complétez la table de vérité : A=1, B=0. Calculez A AND B, A OR B, NOT A, A XOR B.
Réponse : A AND B = 0 (les deux doivent être 1). A OR B = 1 (au moins un est 1). NOT A = 0 (inversé). A XOR B = 1 (un seul est 1, pas les deux). XOR = "ou exclusif", vrai quand les entrées sont différentes.
Q5 : Citez 3 exemples de systèmes embarqués et expliquez leurs contraintes.
Réponse : 1) ABS d'une voiture : temps réel (freinage en millisecondes), fiabilité vitale. 2) Thermostat intelligent : faible consommation (batterie), connectivité WiFi, capteur de température. 3) Pacemaker : ultra-fiable (vie du patient), ultra-basse consommation (batterie 10+ ans), miniaturisé. Contraintes communes : taille, énergie, temps de réponse, fiabilité.
Q6 : Expliquez pourquoi la porte NAND est dite "universelle".
Réponse : Avec uniquement des portes NAND, on peut construire toutes les autres portes logiques : NOT A = A NAND A. A AND B = NOT(A NAND B). A OR B = (NOT A) NAND (NOT B). Cela simplifie la fabrication des circuits intégrés.
