Exercice 3 - Partie A · Bac Numérique et Sciences Informatiques Centres étrangers (Afrique) 2026 (jour 2)
Thème : Architectures matérielles et systèmes d'exploitation · Tiré du sujet Jour 2 (2026)
Énoncé
Exercice 3 (8 points)
Cet exercice porte sur l’architecture matérielle (dont le langage assembleur), les structures linéaires de données et la programmation orientée objet.
Les deux parties peuvent être traitées indépendamment.
Partie A
L’architecture moderne des ordinateurs est basée sur un modèle conçu en 1945 dans lequel la mémoire vive de l’ordinateur (la RAM) est utilisée pour stocker à la fois les instructions et les données demandées ou produites par les programmes.
Partie A
L'architecture moderne des ordinateurs est basée sur un modèle conçu en 1945 dans lequel la mémoire vive de l'ordinateur (la RAM) est utilisée pour stocker à la fois les instructions et les données demandées ou produites par les programmes.
1.
Donner le nom de l'inventeur de ce modèle, ayant donné son nom au modèle.
2.
Associer un des termes parmi les propositions suivantes à chaque numéro sur le schéma ci-dessous représentant cette architecture:
« Mémoire RAM », « Processeur », « Unité arithmétique et logique » et « Unité de contrôle ».
1)
2)
3)
4)
3.
Expliquer ce que signifie le fait que la mémoire RAM soit « volatile ».
4.
Classer les types de mémoire suivants selon leur rapidité d'accès aux données, de la plus rapide à la plus lente:
Mémoire cache, Disque dur, Mémoire vive, Registre.
1 (la plus rapide):
2:
3:
4 (la plus lente):
Les instructions d'un programme Python ne peuvent pas être exécutées telles quelles par l'unité de contrôle, c'est pourquoi elles sont transformées en langage machine. Ainsi, un programme écrit en Python qui contient une centaine de lignes peut correspondre à quelques dizaines de milliers d'octets en langage machine à faire exécuter par l'unité de contrôle.
Pour pallier la difficulté d'écrire de très grandes suites d'octets, des langages très bas niveau (c'est-à-dire proches du langage machine) mais lisibles par les humains ont été conçus. C'est le cas du langage assembleur RISC-V sur 32 bits qui est étudié ici.
Dans un code écrit en assembleur, chaque ligne est soit une instruction qui permet de manipuler des variables appelées registres, soit une étiquette qui permet d'identifier une position dans le code. Par exemple, le code ci-dessous permet de mettre dans le registre r5 l'addition entre la valeur du registre r2 et la valeur 3 si la valeur du registre r7 est strictement supérieure à la valeur du registre r6, puis ajoute 1 au registre r5 dans tous les cas. (On suppose que l'unité de contrôle dispose de 8 registres notés r1 à r8).
ble r7, r6, SUITE
addi r5, r2, 3
SUITE:
addi r5, r5, 1
Voici un extrait des instructions disponibles en RISC-V sur 32 bits:
addi rA, rB, v: permet de placer dans le registre rA la somme de la valeur du registre rB et de la valeur v;
add rA, rB, rC: permet de placer dans le registre rA la somme de la valeur du registre rB et de celle du registre rC;
sub rA, rB, rC: permet de placer dans le registre rA la valeur du registre rB moins celle du registre rC;
beq rA, rB, label: saute vers l'instruction après l'étiquette label si la valeur du registre rA est égale à la valeur du registre rB;
bne rA, rB, label: saute vers l'instruction après l'étiquette label si la valeur du registre rA n'est pas égale à la valeur du registre rB;
bgt rA, rB, label: saute vers l'instruction après l'étiquette label si la valeur du registre rA est strictement plus grande que la valeur du registre rB;
ble rA, rB, label: saute vers l'instruction après l'étiquette label si la valeur du registre rA est plus petite ou égale à la valeur du registre rB.
5.
Écrire une instruction en assembleur permettant de mettre dans le registre r2 le résultat de la soustraction entre la valeur du registre r5 et celle du registre r4.
6.
Expliquer ce que réalise l'instruction add r1 r2 0.
7.
Écrire une suite d'instructions en assembleur permettant d'échanger les contenus des registres r1 et r2. On pourra utiliser le registre r3 pour stocker temporairement des valeurs.
Au niveau matériel, les opérations sont effectuées dans l'unité arithmétique et logique qui contient des circuits logiques booléens combinatoires. On donne ci-dessous les portes logiques effectuant les opérations booléennes classiques.
Dans une table de vérité, a et b représentent chacun une valeur binaire d'entrée de la porte et S représente la valeur binaire de sortie de la porte.
8.
Donner pour chaque lettre A, B, C et D sa valeur binaire dans la table de vérité du circuit combinatoire ci-après.
E1 · E2 · Re · Rs · S
0 · 0 · 0 · 0 · 0
0 · 0 · 1
0 · 1 · 0 · 0 · 1
0 · 1 · 1 · 1 · 0
1 · 0 · 0 · 0 · 1
1 · 0 · 1
0
1 · 1 · 0 · 1 · 0
1 · 1 · 1
1
9.
En observant le tableau complété à la question précédente, expliquer ce que fait le circuit étudié.

Corrigé
Corrigé proposé par AprenAI (non officiel)
1. Donner le nom de l'inventeur de ce modèle, ayant donné son nom au modèle.
Réponse : John von Neumann
2. Sur la copie, associer un des termes parmi les propositions suivantes à chaque numéro sur le schéma ci-dessous représentant cette architecture :
Réponse : 1) Mémoire RAM ; 2) Processeur ; 3) Unité de contrôle ; 4) Unité arithmétique et logique
3. Expliquer ce que signifie le fait que la mémoire RAM soit « volatile ».
Réponse : Une mémoire est dite volatile lorsque son contenu s'efface dès qu'elle n'est plus alimentée électriquement (à l'extinction de l'ordinateur).
4. Classer les types de mémoire suivants selon leur rapidité d'accès aux données, de la plus rapide à la plus lente.
Réponse : 1 : Registre ; 2 : Mémoire cache ; 3 : Mémoire vive ; 4 : Disque dur
5. Écrire une instruction en assembleur permettant de mettre dans le registre r2 le résultat de la soustraction entre la valeur du registre r5 et celle du registre r4.
Réponse : ```pseudocode sub r2, r5, r4 ```
6. Expliquer ce que réalise l'instruction add r1 r2 0.
Réponse : Cette instruction ajoute 0 à la valeur contenue dans le registre r2 et place le résultat dans r1 ; elle permet donc de copier le contenu du registre r2 dans le registre r1 (ou d'affecter la valeur de r2 à r1).
Les réponses des 6 questions restantes et l’explication pas à pas sont réservées aux membres Premium. Premium
Résous-le ici : correction automatique, indices et corrigé détaillé.
Exercice 2 - Partie A (Q1-Q2) · Centres étrangers (Afrique) 2024 (jour 2) ›