<?xml version="1.0" encoding="UTF-8"?>
<quiz>
<question type="category">
  <category>
    <text>$course$/QCM de NSI/Première/Architectures matérielles</text>
  </category>
  <info format="html">
    <text><![CDATA[<p>Modèle de von Neumann, composants d'un ordinateur<br/>
(processeur, mémoire, périphériques d'entrée/sortie),<br/>
fonctionnement du processeur (cycle de von Neumann), notions<br/>
d'assembleur et de langage machine, hiérarchie mémoire.</p>]]></text>
  </info>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q01 : Modèle de von Neumann</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quels sont les composants principaux d'un ordinateur selon<br/>
le <strong>modèle de von Neumann</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Une architecture alternative, dite de Harvard, sépare la<br/>
mémoire des programmes de celle des données ; elle reste<br/>
utilisée dans certains microcontrôleurs. Le génie de von<br/>
Neumann : permettre au programme d'être traité comme une<br/>
donnée (mémoire unique), ce qui ouvre la voie aux<br/>
compilateurs, systèmes d'exploitation, etc.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>L'écran, le clavier, la souris et les haut-parleurs</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ce sont des <strong>périphériques</strong> spécifiques.<br/>
Le modèle de von Neumann est plus général et<br/>
structurel.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Un processeur, une mémoire et des entrées/sorties</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : le modèle de von Neumann ($1945$)<br/>
est l'architecture de référence des ordinateurs<br/>
actuels. Sa particularité : la mémoire stocke à la<br/>
fois les <strong>données</strong> et les <strong>instructions</strong> (du<br/>
programme).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Internet, l'écran et le clavier de l'ordinateur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : Internet n'est pas un composant interne de<br/>
l'ordinateur.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le système d'exploitation et les applications</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ce sont des composants <strong>logiciels</strong>, pas<br/>
le modèle d'architecture matérielle.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q02 : Rôle du processeur</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quel est le rôle principal du <strong>processeur</strong> (CPU) ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Un processeur moderne contient des milliards de<br/>
transistors. Il opère à plusieurs gigahertz (milliards<br/>
d'instructions par seconde) avec plusieurs cœurs en<br/>
parallèle.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Exécuter les instructions d'un programme</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : le processeur lit les instructions<br/>
en mémoire et les exécute une par une (cycle de<br/>
von Neumann). Il contient une <strong>unité arithmétique et logique</strong> (UAL) et une <strong>unité de contrôle</strong>.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Stocker durablement les données à long terme</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est le rôle des disques durs ou SSD. Le<br/>
processeur exécute les calculs.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Afficher les images et les vidéos à l'écran</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est le rôle de la carte graphique (GPU)<br/>
plus que du CPU principal.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Stocker les fichiers en mémoire vive</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est le rôle de la RAM (mémoire vive),<br/>
pas du processeur.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q03 : Mémoire vive (RAM)</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle est la caractéristique principale de la <strong>mémoire vive</strong> (RAM) ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>La hiérarchie mémoire moderne combine plusieurs niveaux<br/>
de vitesse : registres (CPU) &gt; cache (CPU) &gt; RAM &gt; SSD<br/>
&gt; disque dur &gt; stockage réseau. Plus c'est rapide, plus<br/>
c'est cher et limité en capacité.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Elle est plus lente que le disque dur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est l'inverse. La RAM est typiquement<br/>
$1000$ fois plus rapide qu'un disque dur, et $100$<br/>
fois plus rapide qu'un SSD.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Elle stocke les programmes du système d'exploitation à long terme</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est le disque dur qui stocke à long<br/>
terme. La RAM contient temporairement les<br/>
programmes en cours d'exécution.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Elle conserve les données même après extinction de l'ordinateur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la RAM est <strong>volatile</strong>, elle perd ses<br/>
données quand l'ordinateur s'éteint. C'est ce qui<br/>
la distingue du disque dur ou SSD.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Elle est rapide d'accès et volatile (perd ses données à l'extinction)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : la RAM est utilisée comme zone de<br/>
travail pour les programmes en cours d'exécution.<br/>
Sa rapidité (nanosecondes) la rend bien plus<br/>
performante que les SSD ou disques durs (microsecondes<br/>
à millisecondes).</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q04 : Cycle de von Neumann</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelles sont les étapes du <strong>cycle de von Neumann</strong><br/>
exécuté par le processeur ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Ce cycle, simple en apparence, est largement optimisé<br/>
dans les processeurs modernes : pipelining (plusieurs<br/>
étapes en parallèle), exécution dans le désordre,<br/>
prédiction de branchement, etc.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Compiler, lier, exécuter</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est le cycle de <strong>production d'un exécutable</strong>, pas le cycle d'exécution des<br/>
instructions.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Allumer, démarrer puis attendre une action de l'utilisateur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ce serait plus une procédure de démarrage,<br/>
pas le cycle d'exécution des instructions.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Fetch (lire), Decode (décoder), Execute (exécuter)</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : c'est le cycle « lecture, décodage,<br/>
exécution » qui se répète des milliards de fois par<br/>
seconde dans un processeur moderne. Certains modèles<br/>
ajoutent une étape « write back » (écriture du<br/>
résultat).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Lire, écrire, supprimer</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est plutôt le vocabulaire des opérations<br/>
sur fichiers, pas le cycle d'exécution.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q05 : Bus</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Qu'est-ce qu'un <strong>bus</strong> dans une architecture<br/>
d'ordinateur ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Les processeurs modernes ont des bus très spécialisés<br/>
(PCIe pour les cartes d'extension, DDR pour la RAM,<br/>
USB pour les périphériques externes, etc.).</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un système de transport public</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : analogie possible mais sans rapport en<br/>
informatique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un programme qui transporte des fichiers entre dossiers</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucun rapport avec les programmes. Un bus<br/>
est physique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un type particulier de mémoire vive</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : confusion possible. Le bus relie les<br/>
composants, mais ce n'est pas une mémoire en<br/>
lui-même.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Des fils conducteurs reliant les composants entre eux</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : le bus est l'autoroute interne de<br/>
l'ordinateur. On distingue le bus de <strong>données</strong><br/>
(qui transporte les valeurs), le bus d'<strong>adresses</strong><br/>
(où dans la mémoire ?), et le bus de <strong>contrôle</strong><br/>
(signaux de coordination).</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q06 : Langage assembleur</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Qu'est-ce que le langage <strong>assembleur</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>L'assembleur est différent pour chaque architecture<br/>
processeur (x$86$ pour Intel/AMD, ARM pour<br/>
smartphones et Apple Silicon, RISC-V open source).<br/>
Connaître l'assembleur aide à comprendre comment un<br/>
programme s'exécute concrètement.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le langage utilisé par le système d'exploitation</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : les systèmes modernes sont surtout écrits<br/>
en C/C++ (avec un peu d'assembleur dans les<br/>
parties très bas niveau).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un compilateur qui transforme le code source en exécutable</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : un compilateur transforme un langage de<br/>
haut niveau (C, Java) en assembleur ou en machine.<br/>
L'assembleur est un langage, pas un outil.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Un langage symbolique de bas niveau, proche du processeur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : chaque instruction assembleur<br/>
correspond généralement à une instruction machine.<br/>
Par exemple, <code>MOV AX, 5</code> charge la valeur $5$ dans<br/>
le registre AX. C'est plus lisible que le binaire<br/>
mais reste très proche du matériel.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un langage de très haut niveau comme Python ou Java</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est l'inverse. L'assembleur est un<br/>
langage de <strong>bas niveau</strong>, très proche du matériel.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q07 : Unité arithmétique et logique</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Que fait l'<strong>unité arithmétique et logique</strong> (UAL) du<br/>
processeur ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>L'UAL est composée de circuits logiques (additionneurs,<br/>
comparateurs, décaleurs, portes ET/OU/NON). C'est<br/>
l'application concrète de l'algèbre de Boole étudiée<br/>
en NSI.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Elle effectue les calculs arithmétiques et logiques</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : l'UAL est le « calculateur » du<br/>
processeur. Elle prend deux opérandes en entrée et<br/>
produit un résultat selon l'opération demandée par<br/>
l'unité de contrôle.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Elle stocke les fichiers du système</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucun stockage. L'UAL est une unité de<br/>
calcul.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Elle gère tous les périphériques d'entrée et de sortie</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est le rôle des contrôleurs d'E/S, pas<br/>
de l'UAL.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Elle décode les instructions</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est l'unité de <strong>contrôle</strong> qui décode.<br/>
L'UAL exécute les opérations une fois décodées.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q08 : Registres</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Qu'est-ce qu'un <strong>registre</strong> dans un processeur ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Un programme assembleur manipule essentiellement les<br/>
registres : on charge des données depuis la RAM dans<br/>
des registres, on calcule, et on écrit le résultat<br/>
ailleurs. C'est la base du fonctionnement à bas niveau.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Une mémoire ultra-rapide interne au processeur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : les registres sont les zones de<br/>
stockage les plus rapides (accès en un cycle<br/>
d'horloge). Un processeur en contient typiquement<br/>
quelques dizaines à quelques centaines, contre des<br/>
milliards de bits en RAM.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La mémoire vive de l'ordinateur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la RAM est externe au processeur. Les<br/>
registres sont <strong>internes</strong>.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un type de bus</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : un registre n'est pas un bus, c'est un<br/>
composant de stockage très rapide.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un fichier où l'on liste les utilisateurs du système</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucun rapport avec les utilisateurs.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q09 : Horloge du processeur</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Que mesure-t-on en <strong>gigahertz</strong> (GHz) sur un processeur ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Attention : la fréquence n'est pas le seul facteur de<br/>
performance. Un processeur à $3$ GHz peut être plus<br/>
rapide qu'un autre à $4$ GHz s'il fait plus<br/>
d'opérations par cycle (pipeline, superscalaire) ou<br/>
s'il a plus de cœurs.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La consommation électrique</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la consommation se mesure en watts, pas en<br/>
hertz.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La quantité de mémoire disponible</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la mémoire se mesure en octets, pas en<br/>
hertz.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Le nombre de cycles par seconde de l'horloge</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : un processeur à $3$ GHz fait<br/>
$3$ milliards de cycles par seconde. Chaque cycle<br/>
peut typiquement exécuter une (ou plusieurs)<br/>
instructions. Mais ce n'est qu'une mesure parmi<br/>
d'autres de la performance.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La taille des données traitées par instruction</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est plutôt l'<strong>architecture</strong> (32, 64<br/>
bits) qui définit la taille des mots traités.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q10 : Préfixes pour les octets</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Combien d'octets contient un <strong>kibioctet</strong> (Kio) ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Hiérarchie : $1$ Kio = $2^{10}$ o ; $1$ Mio = $2^{20}$ o ;<br/>
$1$ Gio = $2^{30}$ o ; $1$ Tio = $2^{40}$ o. Les<br/>
fabricants de disques durs utilisent souvent les<br/>
préfixes décimaux (KO, MO, GO), ce qui crée des<br/>
différences avec les kibi/mébi/gibioctets affichés par<br/>
les systèmes.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>$1\ 000$</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est $1$ kilooctet (KO) en notation<br/>
décimale (base $10$). Le <strong>kibioctet</strong> utilise la<br/>
base $2$.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>$1\ 048\ 576$</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est $1$ Mio (mébioctet, $2^{20}$).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>$1\ 024$</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : $1$ Kio = $2^{10} = 1\ 024$ octets.<br/>
Cette notation IEC ($2000$) distingue le kilooctet<br/>
(kilo = $1000$) du kibioctet (kibi = $1024$). En<br/>
informatique, on utilise traditionnellement les<br/>
puissances de $2$.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>$8$</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : $8$ bits font un <strong>octet</strong>. Un kibioctet<br/>
est bien plus.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q11 : Hiérarchie mémoire</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Pourquoi a-t-on plusieurs <strong>niveaux de mémoire</strong> dans un<br/>
ordinateur (registres, cache, RAM, disque) ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Si l'on devait faire toute la mémoire au niveau des<br/>
registres, on aurait moins d'un kilooctet à coût<br/>
raisonnable. Si on faisait tout au niveau du disque,<br/>
le processeur passerait son temps à attendre.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Pour rendre l'ordinateur plus complexe</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la complexité n'est pas un objectif.<br/>
C'est un compromis pratique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Parce que les ingénieurs n'ont pas su choisir</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la hiérarchie est un choix délibéré, pas<br/>
un défaut.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Pour rendre les programmes incompatibles</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la hiérarchie est invisible aux programmes<br/>
(gérée par le matériel et le système d'exploitation).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Pour faire un compromis entre vitesse, capacité et coût</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : les registres et caches sont<br/>
ultra-rapides mais très petits et coûteux ; la RAM<br/>
est rapide et de taille modérée ; le disque dur est<br/>
lent mais énorme et bon marché. Combiner les trois<br/>
permet d'avoir à la fois la performance et la<br/>
capacité.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q12 : Mémoire cache</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>À quoi sert la <strong>mémoire cache</strong> d'un processeur ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Les processeurs modernes ont $3$ niveaux de cache (L1,<br/>
L2, L3) avec des tailles et vitesses croissantes mais<br/>
restant bien plus rapides que la RAM. La gestion du<br/>
cache est un domaine complexe qui influe énormément<br/>
sur les performances.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Compresser les données</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucun rapport avec la compression.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Stocker les fichiers temporaires du système d'exploitation</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : confusion possible avec le cache du<br/>
navigateur ou du système. Ici on parle du cache<br/>
processeur (interne).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Sauvegarder les fichiers avant l'extinction</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la cache processeur est volatile, comme<br/>
la RAM. Elle ne sert pas à la sauvegarde.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Garder les données récentes pour un accès plus rapide</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : la cache exploite le principe de<br/>
<strong>localité</strong> (les programmes ont tendance à réutiliser<br/>
les mêmes données ou des données voisines). En<br/>
gardant les données chaudes dans une mémoire<br/>
ultra-rapide proche du processeur, on évite des<br/>
accès lents à la RAM.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q13 : Adresse mémoire</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Qu'est-ce qu'une <strong>adresse mémoire</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>En programmation, on manipule rarement les adresses<br/>
mémoire directement (sauf en C/C++ avec les pointeurs).<br/>
Le système d'exploitation gère la <strong>mémoire virtuelle</strong><br/>
pour donner à chaque programme l'illusion d'avoir<br/>
toute la mémoire à lui.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un identifiant unique pour chaque programme installé</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est plutôt un PID (Process ID). Une<br/>
adresse mémoire est plus bas niveau.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le nom d'un fichier sur le disque</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : confusion avec un chemin. Une adresse<br/>
mémoire est numérique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Un numéro qui identifie un emplacement dans la mémoire</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : la mémoire est vue comme un<br/>
immense tableau d'octets, indexés de $0$ à<br/>
quelques milliards. L'adresse identifie où lire ou<br/>
écrire. Sur un processeur $64$ bits, les adresses<br/>
peuvent aller jusqu'à $2^{64}$.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le nom du processeur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le nom commercial du<br/>
processeur (par exemple<br/>
Intel Core i$7$) est une<br/>
dénomination, pas une<br/>
adresse mémoire. Une<br/>
adresse mémoire est un<br/>
entier qui désigne un<br/>
emplacement précis dans<br/>
la RAM.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q14 : Architecture 64 bits</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Que signifie qu'un processeur est en <strong>architecture $64$ bits</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Le passage à $64$ bits ($2003$ pour AMD, $2006$ pour<br/>
Apple Silicon) a permis de dépasser la barre des<br/>
$4$ Gio adressables, qui posait problème avec les<br/>
grandes bases de données et le calcul scientifique.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Il a $64$ fils dans ses bus</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : trop simpliste. Le « $64$ bits » concerne<br/>
la taille des registres et des adresses, pas le<br/>
nombre de fils physiques.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Il fait $64$ instructions par seconde</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : il en fait des milliards par seconde, pas<br/>
$64$.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Ses registres et adresses font $64$ bits</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : il peut traiter des entiers jusqu'à<br/>
$2^{64} - 1$ en une seule instruction et adresser<br/>
jusqu'à $2^{64}$ octets de mémoire (soit<br/>
$16$ exbioctets, largement plus que toute mémoire<br/>
actuelle). Les processeurs modernes sont presque<br/>
tous en $64$ bits.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Il possède exactement $64$ cœurs de calcul</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : le nombre de cœurs et la taille des mots<br/>
sont indépendants. Un processeur $64$ bits peut<br/>
avoir $1$ ou $128$ cœurs.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q15 : Multi-cœurs</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Qu'apporte un processeur <strong>multi-cœurs</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Le multi-cœur a redéfini la programmation depuis les<br/>
années $2000$. Beaucoup d'algorithmes ont dû être<br/>
repensés pour exploiter le parallélisme efficacement<br/>
(problèmes de synchronisation, de partage de données).</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Il fonctionne entièrement sans système d'exploitation</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : aucun rapport. Le SE est nécessaire pour<br/>
orchestrer les processus.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Il exécute plusieurs instructions en parallèle</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : avec $N$ cœurs, on peut exécuter<br/>
$N$ programmes (ou $N$ threads) en vrai parallèle.<br/>
C'est devenu indispensable car les fréquences<br/>
d'horloge stagnent depuis les années $2005$.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Il consomme moins d'énergie que les anciens</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ce n'est pas la motivation principale du<br/>
multi-cœur (même si l'efficacité énergétique est un<br/>
avantage indirect).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Il a une mémoire vive plus grande</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la mémoire est externe et ne dépend pas<br/>
du nombre de cœurs.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q16 : Langage machine</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Qu'est-ce que le <strong>langage machine</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Le langage machine est spécifique à chaque architecture<br/>
(x$86$, ARM, RISC-V). Un programme en langage machine<br/>
pour x$86$ ne tourne pas tel quel sur un Mac M$1$<br/>
(ARM), il faut le recompiler ou utiliser un<br/>
émulateur.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un langage de programmation de haut niveau comme C ou Python</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : C et Python sont des langages de <strong>haut niveau</strong>, qu'il faut traduire en langage machine<br/>
pour qu'ils s'exécutent.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un protocole réseau</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Un protocole réseau (TCP,<br/>
HTTP, etc.) régit les échanges<br/>
entre machines. Le langage<br/>
machine, lui, est purement<br/>
interne au processeur.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>La représentation binaire des instructions du processeur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : chaque instruction est codée en<br/>
binaire selon une grammaire précise (opcode,<br/>
opérandes). Le processeur lit ces bits et les<br/>
exécute. L'assembleur est une notation <strong>symbolique</strong><br/>
du langage machine.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un langage parlé par les robots</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le langage machine est<br/>
un encodage binaire<br/>
interne au processeur,<br/>
pas une langue parlée.<br/>
Les robots qui « parlent »<br/>
utilisent la synthèse vocale,<br/>
ce qui est tout autre chose.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q17 : Compteur ordinal</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Qu'est-ce que le <strong>compteur ordinal</strong> (ou compteur de<br/>
programme, PC) du processeur ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Le PC est central dans le fonctionnement séquentiel<br/>
des programmes. Comprendre le PC permet de comprendre<br/>
comment fonctionnent les boucles, conditions, et<br/>
appels de fonction au niveau matériel.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un compteur de bugs</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le compteur ordinal n'a<br/>
aucun rapport avec les<br/>
bugs : c'est un registre<br/>
matériel qui pointe sur<br/>
la prochaine instruction<br/>
à exécuter.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un identifiant unique de l'utilisateur</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le PC est interne au<br/>
processeur et change à<br/>
chaque cycle. Il n'identifie<br/>
ni l'utilisateur ni la session.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Le registre pointant la prochaine instruction</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : à chaque cycle, le processeur lit<br/>
l'instruction à l'adresse pointée par le PC,<br/>
l'exécute, puis incrémente le PC pour passer à la<br/>
suivante. Les sauts (<code>if</code>, boucles, fonctions)<br/>
modifient le PC autrement.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Un compteur qui mesure la durée totale du programme</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : il ne mesure pas le temps. Il pointe sur<br/>
une instruction.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q19 : SSD vs disque dur</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle est la différence principale entre un <strong>SSD</strong> et<br/>
un <strong>disque dur classique</strong> (HDD) ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Pour un usage usuel : SSD pour le système et les<br/>
applications (rapidité critique), HDD pour les gros<br/>
fichiers d'archive (économique). Les disques durs<br/>
mécaniques tendent à disparaître hors usage de stockage<br/>
massif.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le SSD utilise des disques magnétiques en rotation, le HDD des puces de mémoire</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est l'inverse exact. Le HDD a des<br/>
plateaux mécaniques, le SSD est purement<br/>
électronique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Aucune différence fondamentale</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ils ont des technologies très différentes<br/>
avec des compromis différents.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le SSD coûte moins cher au gigaoctet</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est plutôt l'inverse, même si l'écart se<br/>
réduit. Pour de gros volumes, le HDD reste moins<br/>
cher.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Le SSD utilise de la mémoire flash, le HDD des plateaux mécaniques</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : le SSD est beaucoup plus rapide<br/>
(pas de temps d'accès mécanique), plus silencieux,<br/>
plus résistant aux chocs. Mais il a une durée de<br/>
vie limitée par le nombre d'écritures par cellule.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q20 : ROM vs RAM</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Quelle est la différence entre <strong>ROM</strong> et <strong>RAM</strong> ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>ROM = Read-Only Memory ; RAM = Random Access Memory.<br/>
Aujourd'hui, la « ROM » des ordinateurs est en réalité<br/>
souvent une mémoire flash, modifiable mais<br/>
non-volatile (firmware UEFI mis à jour par exemple).</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>ROM concerne la mémoire externe (disque), RAM la mémoire interne</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : les deux sont des mémoires internes,<br/>
c'est leur volatilité qui les distingue.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>La ROM est non volatile et fixe, la RAM volatile et modifiable</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : la ROM contient typiquement le<br/>
firmware ou BIOS, qui doit être conservé même<br/>
quand l'ordinateur est éteint. La RAM est la zone<br/>
de travail temporaire.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>ROM est plus rapide que RAM</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la RAM est généralement plus rapide d'accès.<br/>
La ROM se distingue par sa <strong>persistance</strong> et sa<br/>
non-modifiabilité (dans sa version de base).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La ROM est généralement plus grande que la RAM</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : c'est généralement l'inverse. La ROM est<br/>
souvent de petite taille (firmware), la RAM bien<br/>
plus grande pour les programmes en cours.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q25 : Évolution historique</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Lequel des énoncés suivants est <strong>vrai</strong> sur l'évolution<br/>
des architectures matérielles depuis $50$ ans ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>L'avenir s'oriente vers un retour à du calcul<br/>
spécialisé : processeurs graphiques pour<br/>
l'intelligence artificielle, processeurs<br/>
neuronaux pour les téléphones, circuits logiques<br/>
programmables dans les serveurs. À plus long<br/>
terme, on attend l'arrivée à grande échelle du<br/>
calcul quantique et neuromorphique.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La fréquence d'horloge des processeurs grand public a continué de doubler chaque année</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la fréquence stagne autour de $3$-$5$ GHz<br/>
depuis $2005$ environ. Le gain de performance vient<br/>
d'autres techniques (multi-cœurs, parallélisme,<br/>
architecture).</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Le nombre de transistors croît toujours, mais la performance par cœur stagne</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : la loi de Moore reste globalement<br/>
vraie pour la densité, mais traduite différemment :<br/>
plus de cœurs, plus de cache, plus d'unités<br/>
spécialisées (GPU, NPU). La performance brute par<br/>
fil d'exécution stagne depuis ~$2005$.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Les ordinateurs sont aujourd'hui aussi performants que dans les années $1970$</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la performance a augmenté de plusieurs<br/>
ordres de grandeur depuis les années $1970$.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le modèle de von Neumann est totalement obsolète depuis longtemps</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : le modèle de von Neumann reste la base de<br/>
tous les ordinateurs modernes, même s'il est<br/>
enrichi par de nombreuses optimisations.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q26 : Périphériques d'entrée/sortie</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Parmi les éléments suivants, lequel <strong>n'est pas</strong> un<br/>
périphérique d'entrée/sortie ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Les périphériques d'entrée/sortie permettent à<br/>
l'ordinateur de dialoguer avec l'utilisateur ou<br/>
avec d'autres machines. Un même appareil peut<br/>
assurer les deux rôles : un disque dur (lecture<br/>
et écriture), un écran tactile (affichage et<br/>
saisie) ou une carte réseau (réception et envoi).</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>L'imprimante</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>L'imprimante est un périphérique de sortie :<br/>
elle reçoit des données de l'ordinateur pour<br/>
produire un document physique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Le transistor</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : un transistor est un composant<br/>
électronique élémentaire utilisé pour fabriquer<br/>
des portes logiques au cœur du processeur. Il<br/>
ne sert pas à communiquer avec l'extérieur, il<br/>
est interne au matériel.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le clavier</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Le clavier est un périphérique d'entrée :<br/>
chaque touche enfoncée envoie un code à<br/>
l'ordinateur.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>La souris</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>La souris est bien un périphérique d'entrée :<br/>
elle transmet à l'ordinateur la position du<br/>
curseur et les clics de l'utilisateur.</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q27 : Comparer deux processeurs sur une tâche parallèle</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Deux processeurs sont proposés pour un travail de <strong>rendu vidéo</strong>,<br/>
tâche qui se parallélise très bien :<br/>
le processeur <strong>A</strong> est cadencé à $4$ GHz et possède $4$ cœurs ;<br/>
le processeur <strong>B</strong> est cadencé à $3$ GHz et possède $8$ cœurs.<br/>
Lequel sera, en pratique, le plus performant sur cette tâche ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Sur une tâche très parallèle, le débit total se rapproche<br/>
du produit fréquence par nombre de cœurs ; sur une tâche<br/>
séquentielle (qui n'utilise qu'un cœur), c'est la fréquence<br/>
seule qui compte. Le choix d'un processeur dépend donc du<br/>
profil de la charge de travail visée.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>Le processeur B, car doubler les cœurs compense l'écart de fréquence sur une tâche parallèle</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : pour une tâche qui se parallélise bien,<br/>
le débit total est approximativement proportionnel au<br/>
produit fréquence par nombre de cœurs.<br/>
Pour A on a $4 \times 4 = 16$ unités de travail<br/>
par seconde (en notation simplifiée), et pour B<br/>
$3 \times 8 = 24$. B l'emporte donc nettement.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le processeur A, car une fréquence d'horloge plus élevée signifie qu'il exécute toujours plus d'instructions par seconde</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la fréquence d'horloge ne mesure que la cadence<br/>
d'un seul cœur. Pour les charges parallèles, le nombre<br/>
de cœurs est au moins aussi déterminant.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Le processeur A, car les processeurs à haute fréquence sont systématiquement les plus récents</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la fréquence d'horloge stagne depuis le milieu<br/>
des années $2000$. Un processeur à $3$ GHz peut être bien<br/>
plus récent et performant qu'un autre à $4$ GHz.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Aucun des deux, car la performance d'un processeur ne dépend ni de la fréquence ni du nombre de cœurs</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : ces deux paramètres sont des indicateurs réels<br/>
de performance, simplement non suffisants à eux seuls<br/>
(la taille des caches, l'architecture interne et le jeu<br/>
d'instructions interviennent aussi).</p>]]></text>
    </feedback>
  </answer>
</question>

<question type="multichoice">
  <name>
    <text>Architectures matérielles — Q28 : Pourquoi la fréquence stagne</text>
  </name>
  <questiontext format="html">
    <text><![CDATA[<p>Le nombre de transistors par puce ne cesse d'augmenter<br/>
régulièrement, mais la <strong>fréquence d'horloge</strong> des<br/>
processeurs grand public a cessé d'augmenter significativement<br/>
depuis le milieu des années $2000$ (elle plafonne autour de<br/>
$3$ à $5$ GHz). Quelle en est la cause principale ?</p>]]></text>
  </questiontext>
  <generalfeedback format="html">
    <text><![CDATA[<p>Cette barrière physique a réorienté l'industrie vers le<br/>
<strong>parallélisme</strong> (multi-cœurs, GPU, processeurs spécialisés)<br/>
pour continuer à exploiter l'augmentation du nombre de<br/>
transistors. C'est une illustration concrète des limites<br/>
de la loi de Moore, qui décrit la densité d'intégration et<br/>
non la vitesse d'horloge.</p>]]></text>
  </generalfeedback>
  <defaultgrade>1.0</defaultgrade>
  <penalty>0.0</penalty>
  <hidden>0</hidden>
  <single>true</single>
  <shuffleanswers>true</shuffleanswers>
  <answernumbering>abc</answernumbering>
  <answer fraction="100" format="html">
    <text><![CDATA[<p>La consommation et la chaleur croissent trop vite avec la fréquence pour être évacuées</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Bonne réponse : la puissance dissipée par un circuit<br/>
augmente très vite avec la fréquence. Au-delà d'un<br/>
certain seuil, la chaleur produite ne peut plus être<br/>
évacuée sans refroidissement extrême. Les fabricants<br/>
ont donc privilégié la multiplication des cœurs.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Les transistors ne sont plus utilisés dans les processeurs récents, qui reposent sur d'autres technologies</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : les processeurs actuels sont toujours composés<br/>
de milliards de transistors, simplement gravés plus<br/>
finement.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Les constructeurs se sont mis d'accord pour ne plus vendre de processeurs au-dessus de $5$ GHz, par souci de standardisation</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : il n'existe aucun accord de ce type, la<br/>
contrainte est physique.</p>]]></text>
    </feedback>
  </answer>
  <answer fraction="0" format="html">
    <text><![CDATA[<p>Les utilisateurs ne demandent plus de processeurs rapides depuis l'arrivée des smartphones</p>]]></text>
    <feedback format="html">
      <text><![CDATA[<p>Erreur : la demande de performance n'a jamais cessé,<br/>
la limite est technologique et non commerciale.</p>]]></text>
    </feedback>
  </answer>
</question>

</quiz>
