Changes between Version 191 and Version 192 of Archi-1-TP9


Ignore:
Timestamp:
Nov 7, 2023, 5:13:12 PM (13 months ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Archi-1-TP9

    v191 v192  
    2222}}}
    2323
     24Pour les travaux pratiques, vous devez d'abord répondre à des questions qui ont pour but de vous faire lire le code et revoir les points du cours. Les réponses sont dans le cours ou dans les fichiers sources. Certaines ont déjà été traitées en TD, c'est normal. Ensuite, vous passez aux exercices pratiques.
     25
     26La partie pratique  est découpée en 5 étapes. Pour chaque étape, nous donnons (1) une brève description, (2) une liste des objectifs principaux de l'étape, (3) une liste des fichiers avec un bref commentaire sur chaque fichier, (4) une liste de questions simples dont les réponses sont dans le code, le cours ou le TD et enfin (5) un exercice de codage.
     27
    2428Vous allez compiler vos programmes pour le MIPS et les exécuter le prototype virtuel du SoC nommé **almo1** présenté en cours. Il est composé d'un MIPS, d'une mémoire et d'un contrôleur de terminal TTY.
    2529Le simulateur d'**almo1** se présente sous la forme d'un exécutable qui simule le comportement du SoC. Le MIPS exécute le programme se trouvant dans les bancs de mémoire du SoC. La simulation est complète depuis le signal reset et précise au cycle et au bit (cela signifie que si c'était une vraie machine, vous auriez exactement le même comportement de vos programmes).
    2630
    27 La partie pratique  est découpée en 5 étapes. Pour chaque étape, nous donnons (1) une brève description, (2) une liste des objectifs principaux de l'étape, (3) une liste des fichiers avec un bref commentaire sur chaque fichier, (4) une liste de questions simples dont les réponses sont dans le code, le cours ou le TD et enfin (5) un exercice de codage.
    28 
    2931**IMPORTANT\\Avant de faire cette séance, vous devez avoir regardé les documents suivants** :
    30 * [wiki: Description des objectifs de cette séance et des suivantes] : ''obligatoire''
    31 * [htdocs:cours/Archi-1-C9-boot-2p.pdf Cours de démarrage présentant l'architecture matérielle et logicielle que vous allez manipuler] ''obligatoire''
    32 * [htdocs:cours/Archi-1-C9-outils-annexe-2p.pdf Éléments d'information sur les outils de la chaîne de compilation] ''recommandé''
    33 * [wiki:Howto-TP Configuration de l'environnement des TP] : ''obligatoire si vous êtes sur votre machine personelle''
    34 * [htdocs:cours/doc_MIPS32.pdf Document sur l'assembleur du MIPS et la convention d'appel des fonctions] : ''recommandé''
    35 * [wiki:Doc-MIPS-Archi-Asm-kernel Documentation sur le mode kernel du MIPS32] : ''optionnel pour cette séance''
    36 
    37 
    38 **Récupération du code du TP**
     32> * [wiki: Description des objectifs de cette séance et des suivantes] : ''obligatoire''
     33> * [htdocs:cours/Archi-1-C9-boot-2p.pdf Cours de démarrage présentant l'architecture matérielle et logicielle que vous allez manipuler] ''obligatoire''
     34> * [htdocs:cours/Archi-1-C9-outils-annexe-2p.pdf Éléments d'information sur les outils de la chaîne de compilation] ''recommandé''
     35> * [wiki:Howto-TP Configuration de l'environnement des TP] : ''obligatoire si vous êtes sur votre machine personelle, sinon c'est inutile''
     36> * [htdocs:cours/doc_MIPS32.pdf Document sur l'assembleur du MIPS et la convention d'appel des fonctions] : ''recommandé''
     37> * [wiki:Doc-MIPS-Archi-Asm-kernel Documentation sur le mode kernel du MIPS32] : ''optionnel pour cette séance''
     38
     39
     40**Mise en place de l'environnement des TP**
    3941
    4042* **Configuration et test de l'environnement de travail sur les machines de la PPTI**
     
    5759`-- Makefile
    5860}}}
    59   * Pour tester que tout fonctiponne
    60     * Allez dans le répertoire `0_test_almo1`:\\`cd tp1/0_test_almo1`
    61     * Exécuter la commande:\\`make exec`
    62 
    63 **Avant de commencer**
    64 
    65 * Pour les travaux pratiques, vous devez d'abord répondre aux questions, elles ont pour but de vous faire lire le code et revoir les points du cours. Les réponses sont dans le cours ou dans les fichiers sources. Certaines ont déjà été traitées en TD, c'est normal. Ensuite, vous passez aux exercices pratiques.
    66 
    67 * Vous devez avoir récupérer l'archive tp1.tgz pour pouvoir faire cette partie, si ce n'est pas la cas, retournez lire la section `Récupération du code du TP` en haut de cette page. La variable `shell` `$kO6` doit être définie dans votre environnement si vous avez suivi les consignes de la page [wiki:Howto-TP Config sections 2.2].
    68 
    69 * Si vous avez bien suivi les étapes de configuration de l'environnement et de récupération du code alors le code se trouve dans `~/kO6/tp1/`, et ouvrez un terminal et allez-y. Dans le répertoire `~/kO6/tp1/` vous avez 5 sous-répertoires et un Makefile. Le fichier `~/kO6/tp1/Makefile` permet de faire le ménage en appelant les Makefiles des sous-répertoires avec la cible `clean`, il est simple, mais c'est un Makefile hiérarchique. Ouvrez-le par curiosité.
     61* **Pour tester que tout fonctionne**
     62  * Allez dans le répertoire `0_test_almo1`:\\`cd tp1/0_test_almo1`
     63  * Exécuter la commande:\\`make exec`\\Vous devez voir 2 fenêtres `xterm` apparaître avec le message `Hello Word" et une petite fenêtre avec une roue tournante
     64  * Pour arrêter le simulateur, vous devez taper `CTRL-C` dans le terminal où vous avez démarrer le simulateur.
     65  * Si vous regarder dans le répertoire, le compilateur et le simulateur ont créés plusieurs fichiers (les exécutables MIPS et d'autres), pour faire le ménage et revenir aux seuls fichiers source, vous devez taper:\\`make clean`
    7066
    7167