Répétitions de Structure des ordinateurs (tous sauf 2CING)

Travaux

Premier travail : énoncé [PS][PDF].

Deuxième travail : énoncé [PS][PDF].

Troisième travail : [PDF].

Informations utiles

1er travail :

Pour réaliser le travail, deux outils vous sont proposés:

  • un simulateur beta (comportant un éditeur et un assembleur), écrit en JAVA. Ce programme a été réalisé par le MIT et est disponible ici. Une fois téléchargée l'archive bsim.jar, lancez le simulateur par la commande suivante:

    java -jar bsim.jar -Xms8m -Xmx32m -reporterrors

  • un assembleur (écrit en langage C). Vous utiliserez cet assembleur si vous devez agir sur le code machine proprement dit. Après le téléchargement du code source de ce programme sur votre station de travail UNIX, vous le compilerez à l'aide de la commande suivante:

    gcc genasm.c -ogenasm

    Tapez ensuite la commande "./genasm" seule pour avoir la liste des options disponibles. L'option "-a" est la plus importante. En effet, elle vous permet de produire un fichier de valeurs lisibles (les octets produits sont représentés en hexadécimal, de manière à pouvoir être lus facilement).

    Les deux assembleurs mis à votre disposition pourront aussi (re)lire un tel fichier, en produisant le même résultat. Cela veut donc dire que vous pourrez assembler votre code source avec cet assembleur-ci puis ouvrir le fichier produit dans le simulateur (dont l'assembleur n'aura aucun problème pour "ré-assembler" votre fichier). Cette étape n'est nécessaire que si vous voulez avoir accès au code produit.

  • pour garantir la compatibilité entre les deux assembleurs proposés et les notes de cours, il est OBLIGATOIRE que votre travail fasse l'inclusion du fichier ulg01.inc, définissant les macros de la machine ULg01, basée sur la machine BETA. Les travaux qui utilisent un autre fichier NE seront PAS pris en compte.
  • Vous pouvez télécharger les informations concernant la machine beta : les instructions et un petit résumé succint.

    2ème travail :

    Pour avoir plus d'informations concernant la programmation parallèle en C, veuillez consulter cette page.

    3ème travail :

    Voir 2ème travail.


    Dernière modification : 23 février 2004

    Hugues Smeets