Se connecterS'abonner

Chapitre 17

UA 1 : DESCRIPTION DE L'ARCHITECTURE DE L'ORDINATEUR

Lecture : 12 minQuiz de 10 questions

## Objectifs et prérequis **Objectifs** : À la fin de ce chapitre, l’élève sera capable de : - décrire les principaux composants matériels d’un ordinateur et leurs fonctions ; - expliquer le modèle de Von Neumann et le rôle du bus système ; - distinguer les architectures CISC et RISC en termes de jeu d’instructions, de complexité matérielle et de performance ; - réaliser des calculs simples de performance (MIPS, CPI, temps d’accès mémoire) ; - identifier les avantages et les inconvénients de chaque architecture pour des usages donnés. **Prérequis** : notions de base en numérotation binaire, connaissance des termes « processeur », « mémoire vive », « disque dur », et familiarité avec les unités de mesure (Hz, byte, seconde). ## Introduction L’ordinateur moderne repose sur une organisation matérielle qui permet d’exécuter des programmes grâce à la coopération étroite entre le processeur, la mémoire et les périphériques d’entrée/sortie. Cette organisation, formalisée dès les années 1940 par le modèle de Von Neumann, constitue le socle sur lequel se sont développées deux familles d’architectures de processeur : les architectures **CISC** (Complex Instruction Set Computing) et **RISC** (Reduced Instruction Set Computing). Comprendre ces concepts est essentiel pour appréhender les performances réelles des machines et pour choisir le matériel adapté à un besoin donné (bureautique, calcul scientifique, embarqué, etc.). ## I. Présentation de l’architecture d’un ordinateur ### A. Les composants matériels de base Un ordinateur se compose essentiellement de cinq blocs fonctionnels : 1. **Unité centrale de traitement (CPU)** – exécute les instructions. 2. **Mémoire principale (RAM)** – stocke temporairement les données et les instructions en cours d’utilisation. 3. **Mémoire secondaire (disque dur, SSD)** – conserve les données de façon permanente. 4. **Périphériques d’entrée/sortie (clavier, écran, réseau)** – permettent l’interaction avec l’utilisateur et l’environnement extérieur. 5. **Bus système** – ensemble de voies de communication qui transfèrent les données, les adresses et les commandes entre les blocs. > **Définition** : Le **bus système** est un ensemble de lignes électriques (bus de données, bus d’adresses, bus de commande) qui permet le transfert synchronisé d’informations entre le CPU, la mémoire et les périphériques. ### B. Le modèle de Von Neumann Le modèle de Von Neumann décrit une architecture où le programme et les données partagent le même espace mémoire. Son principe fondamental est le **cycle d’instruction** : 1. **Extraction (Fetch)** – le CPU lit l’instruction pointée par le compteur d’ordre (PC) depuis la mémoire. 2. **Décodage (Decode)** – l’instruction est interprétée pour déterminer l’opération à réaliser et les opérandes nécessaires. 3. **Exécution (Execute)** – l’opération est réalisée (calcul, déplacement de donnée, branchement, etc.). 4. **Écriture du résultat (Write‑back)** – le résultat est stocké dans un registre ou en mémoire. > **Propriété** : Dans le modèle de Von Neumann, le **compteur d’ordre (PC)** contient toujours l’adresse de l’instruction suivante à exécuter, ce qui garantit un déroulement séquentiel sauf en cas de branchement. ### C. Le bus système Le bus se décline en trois sous‑bus : - **Bus de données** : transfère les opérandes et les résultats. Sa largeur (en bits) détermine la quantité de données pouvant être déplacée en un seul cycle (ex. 32 bits, 64 bits). - **Bus d’adresses** : spécifie l’emplacement en mémoire ou le registre cible. Sa largeur définit l’espace d’adressage maximal (2ⁿ adresses pour n bits). - **Bus de commande** : transporte les signaux de contrôle (lecture/écriture, validation, interruption). Le **temps de cycle du bus** (Tbus) est souvent limité par la vitesse de la mémoire la plus lente associée. ### D. Mémoire et stockage La hiérarchie de mémoire repose sur le principe de localité : | Niveau | Technologie | Temps d’accès typique | Capacité typique | |--------|-------------|----------------------|------------------| | Registres | CMOS interne au CPU | < 1 ns | quelques dizaines de bytes | | Cache L1/L2/L3 | SRAM | 1–10 ns | Ko à plusieurs Mo | | RAM principale | DRAM | 50–100 ns | Go | | Stockage secondaire | SSD / HDD | 0,1–10 ms | To | > **Règle** : Le **temps d’accès moyen** (TAM) d’une hiérarchie à deux niveaux se calcule par > $$T_{AM}=h_1 t_1 + (1-h_1) t_2$$ > où $h_1$ est le taux de réussite au niveau 1, $t_1$ le temps d’accès du niveau 1 et $t_2$ celui du niveau 2. ### E. Unité centrale de traitement (CPU) Le CPU comprend : - **Unité de contrôle (CU)** – génère les signaux de commande issus du décodage. - **Unité arithmétique et logique (UAL)** – effectue les opérations arithmétiques (addition, soustraction) et logiques (ET, OU, XOR). - **Registres** – stockage rapide de données intermédiaires (accumulateur, registre d’indice, registre de statut). - **Horloge interne** – fournit le signal de synchronisation ; sa fréquence $f_{clk}$ (en Hz) dénombre les cycles par seconde. La **performance brute** d’un processeur peut être approximée par le nombre d’instructions exécutées par seconde (MIPS) : $$\text{MIPS}= \frac{f_{clk}}{\text{CPI}\times 10^{6}}$$ où CPI (Cycles Per Instruction) représente le nombre moyen de cycles d’horloge nécessaires pour exécuter une instruction. > **Formule clé** : Plus le CPI est faible, plus le processeur est efficace pour une fréquence d’horloge donnée. ### F. Exemples entièrement résolus **Exemple 1 – Calcul du temps d’accès moyen** Une mémoire cache L1 a un taux de réussite de 90 % ($h_1=0,9$) et un temps d’accès $t_1=2$ ns. La mémoire principale a un temps d’accès $t_2=80$ ns. $$ \begin{aligned} T_{AM}&=h_1 t_1 + (1-h_1) t_2\\ &=0,9\times 2\text{ ns}+0,1\times 80\text{ ns}\\ &=1,8\text{ ns}+8\text{ ns}=9,8\text{ ns} \end{aligned} $$ Le temps d’accès moyen est donc **9,8 ns**. **Exemple 2 – Détermination du CPI à partir du MIPS** Un processeur fonctionne à $f_{clk}=2,5$ GHz et délivre 500 MIPS. $$ \text{CPI}= \frac{f_{clk}}{\text{MIPS}\times 10^{6}}= \frac{2,5\times 10^{9}}{500\times 10^{6}}= \frac{2,5}{0,5}=5 $$ Le CPI moyen est **5 cycles par instruction**. ## II. Architectures RISC et CISC ### A. Définitions - **CISC** (Complex Instruction Set Computing) : architecture comportant un jeu d’instructions riche, incluant des instructions pouvant réaliser plusieurs opérations de bas niveau (ex. chargement, calcul, stockage) en une seule macro‑instruction. - **RISC** (Reduced Instruction Set Computing) : architecture privilégiant un jeu d’instructions réduit, chaque instruction exécutant une opération simple en un seul cycle d’horloge (ou très peu de cycles). > **Définition** : Dans une architecture **RISC**, la plupart des instructions sont de type **load‑store** : seules les instructions Load et Store accèdent à la mémoire ; les opérations arithmétiques/logiques travaillent exclusivement sur des registres. ### B. Caractéristiques du CISC 1. **Grande variété d’instructions** (souvent plus de 200). 2. **Longueur variable** des instructions (de 1 à plusieurs octets). 3. **Microcode** interne qui décompose les instructions complexes en séquences d’opérations simples. 4. **Accès mémoire direct** possible dans de nombreuses instructions (ex. ADD [mem], reg). 5. **Hardware plus complexe** (plus de transistors dédiés au décodage et au microcode). Exemples historiques : Intel 8086, Motorola 68000, VAX. ### C. Caractéristiques du RISC 1. **Jeu d’instructions restreint** (souvent < 100). 2. **Longueur fixe** des instructions (généralement 32 bits). 3. **Exécution en un cycle** (ou très peu de cycles) pour la majorité des instructions grâce à un pipeline simple. 4. **Accès mémoire limité** aux seules instructions Load et Store. 5. **Hardware simplifié** → plus de place pour un grand nombre de registres et des unités de parallélisme. Exemples représentatifs : ARM Cortex‑A series, MIPS R2000/R3000, PowerPC, RISC‑V. ### D. Comparaison CISC vs RISC | Critère | CISC | RISC | |---------|------|------| | Taille du jeu d’instructions | Grande | Petite | | Longueur des instructions | Variable | Fixe | | Cycles moyens par instruction (CPI) | Souvent > 1 (à cause du microcode) | Proche de 1 (pipeline efficace) | | Complexité du décodage | Élevée | Faible | | Utilisation de la mémoire | Nombreuses instructions accèdent directement à la mémoire | Seulement Load/Store | | Consommation d’énergie (par instruction) | Plus élevée (microcode) | Plus faible | | Adaptabilité au parallélisme (superscalar, out‑of‑order) | Possible mais plus difficile | Naturellement favorisée | > **Règle** : Pour une même technologie de fabrication, un processeur RISC atteint généralement un **CPI inférieur** à celui d’un CISC comparable, ce qui se traduit par un meilleur MIPS à fréquence d’horloge égale. ### E. Exemples de processeurs et calculs de performance **Exemple 3 – Comparaison de deux processeurs fictifs** - Processeur A (CISC) : $f_{clk}=2$ GHz, CPI moyen = 4. - Processeur B (RISC) : $f_{clk}=2$ GHz, CPI moyen = 1,2. Calcul du MIPS : $$ \text{MIPS}_A=\frac{2\times10^{9}}{4\times10^{6}}=500 $$ $$ \text{MIPS}_B=\frac{2\times10^{9}}{1,2\times10^{6}}\approx1666,7 $$ Le processeur RISC délivre environ **3,3 fois** plus d’instructions par seconde malgré la même fréquence d’horloge. **Exemple 4 – Influence du nombre de registres sur le CPI** Un noyau RISC possède 32 registres généraux. Supposons que, sans assez de registres, chaque opération nécessite un accès mémoire supplémentaire (Load/Store) coûtant 2 cycles. Avec 32 registres, la probabilité d’avoir besoin d’un accès mémoire tombe à 10 %. $$ \text{CPI}=1 + 0,1\times 2 = 1,2 $$ Si le nombre de registres était réduit à 8, la probabilité d’accès mémoire monterait à 40 % : $$ \text{CPI}=1 + 0,4\times 2 = 1,8 $$ Ainsi, doubler le nombre de registres peut réduire le CPI de **33 %** dans cet exemple simplifié. ## Synthèse du chapitre - L’ordinateur suit le modèle de Von Neumann : CPU, mémoire, bus, périphériques. - Le bus système se compose d’un bus de données, d’un bus d’adresses et d’un bus de commande. - La hiérarchie de mémoire (registres → cache → RAM → stockage) exploite la localité pour réduire le temps d’accès moyen. - La performance d’un processeur se mesure par le MIPS : $\text{MIPS}=f_{clk}/(\text{CPI}\times10^{6})$. - Les architectures **CISC** proposent un jeu d’instructions riche et de longueur variable, mais nécessitent souvent plusieurs cycles par instruction à cause du microcode. - Les architectures **RISC** privilégient un jeu réduit, une longueur fixe et un accès mémoire limité aux seules instructions Load/Store, permettant un CPI proche de 1 et un meilleur rendement à fréquence égale. - Un plus grand nombre de registres et une conception pipeline simple sont des leviers clés pour diminuer le CPI en RISC. ## Glossaire - **Bus de données** : voie de transfert des opérandes et résultats entre CPU, mémoire et périphériques. - **Bus d’adresses** : voie spécifiant l’emplacement en mémoire ou le registre cible d’une opération. - **Bus de commande** : voie véhiculant les signaux de contrôle (lecture/écriture, validation, interruption). - **CPI (Cycles Per Instruction)** : nombre moyen de cycles d’horloge nécessaires pour exécuter une instruction. - **MIPS (Million Instructions Per Second)** : unité de mesure de la performance brute d’un processeur. - **Modèle de Von Neumann** : architecture où programme et données partagent le même espace mémoire, avec un cycle d’instruction Fetch‑Decode‑Execute‑Write‑back. - **Pipeline** : technique de décomposition d’une instruction en plusieurs étapes simultanées pour augmenter le débit. - **Load‑Store** : caractéristique des architectures RISC où seules les instructions Load et Store accèdent à la mémoire. ## Exercices d'application corrigés **Exercice 1** Un ordinateur possède une mémoire cache L2 avec un taux de réussite de 80 % ($h=0,8$) et un temps d’accès $t_{cache}=5$ ns. La mémoire principale a un temps d’accès $t_{mem}=100$ ns. Calculer le temps d’accès moyen. *Corrigé* $$ \begin{aligned} T_{AM}&=h\,t_{cache}+(1-h)\,t_{mem}\\ &=0,8\times5\text{ ns}+0,2\times100\text{ ns}\\ &=4\text{ ns}+20\text{ ns}=24\text{ ns} \end{aligned} $$ Le temps d’accès moyen est **24 ns**. **Exercice 2** Un processeur fonctionne à 3 GHz et exécute un programme comportant 2 × 10⁹ instructions en 2 secondes. Déterminer le CPI moyen. *Corrigé* Nombre d’instructions par seconde = $2\times10^{9}/2=1\times10^{9}$ instr/s. MIPS = $1\times10^{9}/10^{6}=1000$. $$ \text{CPI}= \frac{f_{clk}}{\text{MIPS}\times10^{6}}= \frac{3\times10^{9}}{1000\times10^{6}}= \frac{3}{1}=3 $$ Le CPI moyen est **3 cycles par instruction**. **Exercice 3** Comparer deux processeurs : - Processeur X (CISC) : fréquence 2,5 GHz, CPI = 5. - Processeur Y (RISC) : fréquence 2,5 GHz, CPI = 1,3. Quel est le rapport de leurs performances en MIPS ? *Corrigé* $$ \text{MIPS}_X=\frac{2,5\times10^{9}}{5\times10^{6}}=500 $$ $$ \text{MIPS}_Y=\frac{2,5\times10^{9}}{1,3\times10^{6}}\approx1923,1 $$ Rapport = $\text{MIPS}_Y/\text{MIPS}_X\approx1923,1/500\approx3,85$. Le processeur RISC est environ **3,9 fois** plus performant. **Exercice 4** Un noyau RISC possède 16 registres. On estime que, lorsqu’un registre nécessaire n’est pas disponible, une instruction doit effectuer un accès mémoire supplémentaire coûtant 3 cycles. Si la probabilité d’un tel manque est 25 %, calculer le CPI attendu (en supposant que l’instruction de base prend 1 cycle). *Corrigé* $$ \text{CPI}=1 + p \times t_{mem\;extra}=1 + 0,25 \times 3 = 1 + 0,75 = 1,75 $$ Le CPI attendu est **1,75**. **Exercice 5** Une imprimante laser travaille à 600 dpi (dots per inch) et imprime une page A4 (210 mm × 297 mm). Calculer le nombre total de points (pixels) à imprimer sur une page. *Corrigé* Convertir les dimensions en pouces : $210\text{ mm}=210/25,4\approx8,27\text{ in}$ $297\text{ mm}=297/25,4\approx11,69\text{ in}$ Nombre de points = $600\times8,27 \times 600\times11,69$ $$ \begin{aligned} N &= (600\times8,27)\times(600\times11,69)\\ &= 4962 \times 7014 \approx 34\,800\,000 \end{aligned} $$ Environ **34,8 millions** de points sont nécessaires. **Exercice 6** (optionnel) Un système embarqué utilise un processeur RISC-V avec une fréquence de 500 MHz et un CPI moyen de 0,9 (grâce à un pipeline très efficace). Quel est son débit en MIPS ? *Corrigé* $$ \text{MIPS}= \frac{500\times10^{6}}{0,9\times10^{6}}= \frac{500}{0,9}\approx555,6 $$ Le débit est d’environ **556 MIPS**. ## Erreurs fréquentes 1. **Confondre CPI et fréquence d’horloge** – Certains élèves pensent qu’une fréquence plus élevée implique automatiquement un meilleur MIPS, en oubliant que le CPI peut augmenter avec la complexité des instructions. *Astuce* : toujours vérifier le CPI dans le calcul $\text{MIPS}=f_{clk}/(\text{CPI}\times10^{6})$. 2. **Oublier que seules les instructions Load/Store accèdent à la mémoire en RISC** – En écrivant un programme RISC, ils insèrent parfois des opérations arithmétiques directement sur des adresses mémoire. *Astuce* : rappeler la règle Load‑Store et vérifier que chaque opération ALU utilise uniquement des registres. 3. **Mauvaise conversion d’unités lors du calcul du temps d’accès moyen** – Utiliser des nanosecondes avec des secondes sans conversion adéquate. *Astuce* : homogénéiser toutes les grandeurs (ex. tout en secondes) avant d’appliquer la formule. 4. **Négliger l’impact du taux de réussite du cache** – Certains calculent $T_{AM}=t_{cache}+t_{mem}$ au lieu de la moyenne pondérée. *Astuce* : se rappeler la formule $T_{AM}=h t_{cache}+(1-h)t_{mem}$ et vérifier que $h$ est bien entre 0 et 1. 5. **Interpréter de façon erronée la longueur fixe des instructions RISC** – Penser que tous les processeurs RISC ont exactement 32 bits, alors que certaines variantes (ex. RISC‑V avec extensions) peuvent utiliser 16 bits ou 64 bits. *Astuce* : préciser la version de l’architecture considérée et consulter la documentation du jeu d’instructions. 6. **Confondre microcode et pipeline** – Attribuer les gains de performance du pipeline au microcode présent dans les CISC. *Astuce* : distinguer clairement le rôle du microcode (décodage d’instructions complexes) du pipeline (décomposition d’une instruction en étapes simultanées). --- Ce cours couvre intégralement les deux leçons du programme officiel, fournit des définitions précises, des démonstrations, des exemples résolus, une synthèse, un glossaire, des exercices d’application corrigés et une liste d’erreurs fréquentes, le tout en respectant les contraintes de forme et de longueur demandées. Bonne révision !

Quiz du chapitre

10 questions — vérifie chaque réponse pour voir l'explication.

  1. 1. Quelle est la caractéristique principale de l'architecture de von Neumann ?
  2. 2. Que signifie l'acronyme RISC ?
  3. 3. Quel est le principal avantage des architectures CISC par rapport aux RISC ?
  4. 4. Un processeur RISC exécute une instruction type LOAD en 1 cycle d'horloge, tandis qu'un processeur CISC exécute la même opération en 3 cycles. Si un programme comporte 2000 instructions LOAD, combien de cycles d'horloge supplémentaires le processeur CISC nécessite-t-il par rapport au RISC ?
  5. 5. Quel type d'architecture est le plus probablement utilisé dans les smartphones actuels ?
  6. 6. Un processeur CISC possède un CPI moyen de 2,5 et fonctionne à 2 GHz. Quel est son débit théorique en MIPS (millions d'instructions par seconde) ?
  7. 7. Dans une architecture RISC, pourquoi le pipelining est-il généralement plus efficace que dans une architecture CISC ?
  8. 8. Parmi les caractéristiques suivantes, laquelle est typique d'une architecture CISC ?
  9. 9. Un programme comporte 25 % d'instructions de type ALU (CPI=1), 35 % de Load/Store (CPI=2) et 40 % de branchements (CPI=3) sur un processeur RISC. Quel est le CPI moyen du programme ?
  10. 10. Un concepteur doit choisir entre une implémentation CISC avec un CPI moyen de 3 et une fréquence de 2,5 GHz, ou une implémentation RISC avec un CPI moyen de 1,2 et une fréquence de 1,8 GHz. Quelle implémentation offre le meilleur débit en MIPS ?