Adjectif : analyses et recherches sur les TICE

Revue d'interface entre recherches et pratiques en éducation et formation 

Barre oblique

La machine R2E2 pour l’enseignement de l’architecture des ordinateurs en première NSI

mardi 9 avril 2024 Christophe Declercq

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

Objectif de l’atelier

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 machine de l’IREM de Clermont-Ferrand (Architecture des ordinateurs - IREM Clermont-Ferrand, s. d.), créée dans un contexte de médiation scientifique, a beaucoup d’intérêt pour un jeune public, mais ne précise pas les constituants internes de la machine de Von Neumann et n’est donc pas adaptée pour NSI ;
  • la machine M99 (Quinson, 2018/2023) de Martin Quinson et Philippe Marquet, a été créée pour l’enseignement supérieur et a un jeu d’instructions assez élaboré. Elle est trop complexe par rapport à ce qui est attendu en première NSI.
    Nous proposons une machine intermédiaire entre les deux, en ne retenant que ce qui est strictement nécessaire au vu du programme du lycée.

Description des activités débranchées et branchées de la machine R2E2

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érationNom opérationFonctionnement
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.

Expérimentations réalisées

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.

Liens avec la recherche

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.

Liens vers les ressources et point de contact

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.

Références

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


 

Accueil | Abonnement | Contact | | Statistiques du site | Mentions légales | Accessibilité

ISSN : 2610-1920 - Site réalisé avec SPIP 4.2.2