Christophe Declercq
Laboratoire d’informatique et de mathématiques, Université de La Réunion
Numéro thématique 4 / 2024
Vers l’éditorial du numéro thématique 04
RÉSUMÉ • Nous proposons une architecture de machine permettant de faire manipuler les élèves, pour exécuter pas à pas un programme simple de type langage machine. La « machine en papier » permet tout d’abord une activité débranchée où les élèves partagent les rôles de la partie contrôle et de la partie opérative. Une activité en ligne, utilisant le simulateur logique pour l’enseignement (Pellet & Parriaux, 2022), permet ensuite de vérifier les résultats obtenus et de visualiser le comportement de la machine.
MOTS-CLÉS Architecture des ordinateurs, machine de Von Neumann, informatique débranchée, NSI
Figure 1 : La machine R2E2 – version informatique débranchée
Le modèle d’architecture de Von Neumann est au programme de la spécialité NSI en première NSI. Les capacités attendues des élèves sont : « Distinguer les rôles et les constituants d’une machine » et « Dérouler l’exécution d’une séquence d’instructions simples de type langage machine ». Pour cela, il faut au moins évoquer le compteur ordinal (CO) - pour savoir où on en est dans la séquence - et le registre instruction (RI) pour mémoriser l’instruction en cours. Il faut bien sûr une mémoire : c’est le principe fondamental d’une machine de Von Neumann de stocker données et programmes dans la mémoire. Pour effectuer des opérations, il faut une unité de calcul - unité arithmétique et logique (UAL) - qui va opérer sur des données stockées dans des registres. Une machine à 2 registres est suffisante pour supporter des opérations binaires de type addition ou soustraction.
Le programme suggère : « Des activités débranchées sont proposées ». Plusieurs activités de ce type ont déjà été construites en particulier par les membres du réseau Informatique sans ordinateur.
La première activité, sans ordinateur, requiert deux documents à distribuer aux élèves par binôme. Celui qui simulera la partie opérative reçoit une feuille plastifiée et un feutre avec la machine représentée en figure 1 avec une mémoire contenant programme et données. Celui qui simulera la partie contrôle reçoit le mode d’emploi suivant.
Mode d’emploi – machine R2E2
Code opération | Nom opération | Fonctionnement |
---|---|---|
000 | HALT | Arrête la machine |
001 | LDA X | A = Mem[X] |
010 | LDB X | B = Mem[X] |
011 | STA X | Mem[X] = A |
100 | ADD | A = A + B |
101 | SUB | A = A - B |
110 | JMP X | CO = X |
111 | JZ0 X | si A+B==0 alors CO = X sinon CO = CO + 1 |
Tableau 1 : Fonctionnement du séquenceur
Etat 1 (Fetch) : RI = Memoire[CO]
Etat 2 (Execute) : exécuter l’instruction dans RI ; CO = CO + 1 (sauf JMP, JZ0 et HLT)
Retour à l’état 1
Description de la machine
La machine dispose d’une mémoire de 32 mots de 8 bits : l’accès à un emplacement est noté : Mem[X]. Le bus de données reliant la mémoire et les registres a une largeur de 8 bits. Le bus d’adresses à une largeur de 5 bits, permettant d’adresser les 32 mots de la mémoire. Le compteur ordinal permet de savoir à quelle adresse la machine est rendue dans l’exécution du programme. Son format est de 5 bits. Le registre instruction (sur 8 bits) permet de mémoriser l’instruction en cours d’exécution. Toutes les instructions sont sur 8 bits et contiennent une partie code opération sur 3 bits et une partie adresse sur 5 bits. La machine bascule entre les deux états « fetch » et « execute ».
Description de l’activité débranchée
L’élève qui simule la partie contrôle donne les ordres à l’élève qui simule la partie opérative en lui indiquant quel registre ou mémoire modifier en suivant attentivement le mode d’emploi. L’activité se termine quand la machine s’arrête. On peut alors examiner le contenu de la mémoire et en déduire ce que la machine a calculé à savoir le produit des valeurs contenues aux adresses 13 et 14 qui figure à la fin à l’adresse 15. Une variante de l’activité consiste à écrire un nouveau programme pour cette machine pour calculer autre chose.
Activité avec le simulateur logique
Il n’est pas question de détailler le fonctionnement du séquenceur, mais simplement de faire remarquer qu’une bascule à 2 états permet d’alterner entre les phases de fetch et d’exécution (en haut à droite, à côté du bouton GO) et que des portes logiques sont judicieusement placées pour déclencher automatiquement les signaux adéquats en fonction de la valeur du registre instruction. L’activité de l’élève consiste à observer le déroulement à chaque appui sur « GO ».
La machine utilisée dans l’activité débranchée a été câblée avec le simulateur logique de Jean-Philippe Pellet, disponible en ligne à l’adresse : https://logic.modulo-info.ch/
On y retrouve les mêmes registres A, B, le compteur ordinal et le registre instruction. Les bus ont été câblés. Les écritures dans les registres et sur le bus d’adresse sont contrôlées par des multiplexeurs pour choisir quelle source peut écrire et par des signaux de commande.
Il s’agit d’une activité d’observation permettant aux élèves de vérifier, avec la simulation numérique, qu’ils ont bien compris le comportement de la machine avec l’activité débranchée.
L’activité a été testée en décembre 2023 avec les élèves de première NSI du lycée Lislet Geoffroy de Saint-Denis à La Réunion. Les séances ont duré deux heures pour chaque groupe de 12 élèves travaillant en binômes et ont permis à tous les élèves de conclure l’activité débranchée. L’institutionnalisation avec le simulateur a conclu la séance en groupe entier.
La recherche en didactique de l’informatique s’est beaucoup plus intéressée à la programmation. L’architecture des ordinateurs a été abordée à travers la conception d’instruments adaptés comme le simulateur logique utilisé ici (Pellet & Parriaux, 2022) et l’analyse d’activités débranchées (Drot-Delange, 2013).
L’arrivée de contenus d’enseignement en architecture des ordinateurs au niveau lycée est récente. La présente proposition peut être interprétée comme une tentative de transposition didactique au niveau du lycée, de notions enseignées précédemment uniquement au niveau universitaire.
Les ressources sont disponibles sur le site de l’IREMI de La Réunion et le simulateur en ligne via le lien suivant
N’hésitez pas à contacter Christophe Declercq pour tout renseignement complémentaire.
More, M. (2023, 8 octobre). Architecture des ordinateurs [Ressources en ligne]. IREM Clermont-Ferrand : http://www.irem.univ-bpclermont.fr/Architecture-des-ordinateurs.html
Drot-Delange, B. (2013). Enseigner l’informatique débranchée : Analyse didactique d’activités [Communication orale], Actes du congrès de l’Actualité de la Recherche en Éducation et Formation (AREF - AECSE) Université de Montpellier, https://archivesic.ccsd.cnrs.fr/sic_00955208/document
Pellet, J.-P., & Parriaux, G. (2022). Un simulateur logique pensé pour l’enseignement. [Communication orale], DIDAPRO 9, Le Mans, https://jp.pellet.name/hep/didapro9/slides.pdf
Quinson, M. (2018). M999, le processeur débranché [JavaScript] [Ressources en ligne]. GitHub : https://github.com/InfoSansOrdi/M999