TP1: Devenez un microprocesseur!

Date limite: 6 février 2018 à 23h59

Ce travail pratique vaut 3% de la note totale du cours. À faire individuellement, il contient 37 questions obligatoires comptabilisées sur un total de 100 points. Le travail est à remettre au plus tard mardi le 6 février à 23h59.

Objectifs

Ce travail pratique vise les objectifs suivants:

  1. Comprendre le fonctionnement des bus d’un micro-ordinateur
  2. Comprendre l’adressage de la mémoire et des entrées/sorties
  3. Comprendre la lecture, le décodage et l’exécution des instructions par un microprocesseur
  4. S'initier à la programmation en assembleur

Préparation

Dans ce travail pratique, nous utiliserons un simulateur d'ordinateur très rudimentaire. Il est tellement rudimentaire qu’il ne possède même pas de microprocesseur : VOUS serez le microprocesseur. Vous contrôlerez les bus d’adresse, de données et de contrôle via des boutons virtuels.

Vous devrez lire, décoder et exécuter des instructions dans une mémoire d’instructions non-volatile (« Read-Only Memory », ou ROM). Ces instructions vous demanderont de manipuler des variables dans la mémoire de données (« Random Access Memory », ou RAM) et d’accéder aux périphériques. L’ordinateur est doté d’un périphérique d’entrée (un clavier ASCII) et d’un périphérique de sortie (un écran à 7 segments).

Vous utiliserez un simulateur d’ordinateur où le microprocesseur est manquant. Vous jouerez le rôle du microprocesseur, et répondrez à des questions concernant le fonctionnement de l’ordinateur.

La section 8 du guide de l’utilisateur décrit le jeu d’instructions supporté par l’ordinateur, et vous sera utile pour répondre à plusieurs des questions.

Ressources

Remise

Les questions sont disponibles directement sur le portail des cours. Veuillez donc y répondre avant la date limite indiquée ci-haut. La politique des retards mentionnée dans le plan de cours sera appliquée. N'hésitez pas à posez vos questions sur Piazza!

Remerciements

Merci à Étienne Tremblay d'avoir créé le TP original qui a servi d'inspiration pour celui-ci. Merci aussi à Marc-André Gionet, Kevin Lévesque, Diane Fournier et Daniel Lussier-Lévesque pour l'implémentation initiale du simulateur. Merci à Marc-André Gardner pour les améliorations portées au simulateur, ainsi que pour l'élaboration de la version «ENA» du TP. Finalement, merci à Jonathan Gilbert pour cette troisième ronde d'améliorations!

Retour à la page web du cours.