Changes between Version 1 and Version 2 of SoclibCourseTp3


Ignore:
Timestamp:
Sep 12, 2009, 6:54:22 PM (15 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp3

    v1 v2  
    11{{{
    22#!html
    3 <h1>TP2: Processeurs programmables</h1>
     3<h1>TP3 : Processeurs programmables</h1>
    44}}}
    55[[PageOutline]]
     
    88
    99L'objectif de ce troisième TP est d'introduire des processeurs programmables dans les architectures modélisées.
    10 Les initiateurs ''cablés'' utilisés dans les deux premiers TPs seront remplacés par des processeurs programmables.
    11 (avec leurs caches L1 pour les données et les instructions). On utilisera des processeurs RISC 32 bits, car ce type
     10Les initiateurs ''cablés'' utilisés dans les deux premiers TPs sont remplacés par des processeurs programmables
     11(avec leurs caches L1 : cache de données et cache d'instructions). On utilisera des processeurs RISC 32 bits, car ce type
    1212de processeur possède un excellent rendement énergétique.
    1313On introduira également dans l'architecture les mémoires embarquées contenant le code binaire
    14 de l'application logicielle.
     14de l'application logicielle, ainsi que les données manipulées par le programme.
    1515
    1616= 2 Architecture matérielle cible =
    1717
    18 
    19 
    20 
    21 
     18La première architecture modélisée comporte un seul initiateur VCI et 4 cibles VCI :
     19
     20[[Image(soclib_tp3_archi_mono)]]
     21
     22 * '''mips''' est un processeur MIPS32 avec ses caches L1. On utilise le composant ''!VciXcache''
     23 * '''rom''' est une mémoire non inscriptible contenant le code binaire. On utilise le composant ''!VciSimpleRam''
     24 * '''ram''' est une mémoire inscriptible contenant les données. On utilise également un composant ''!VciSimpleRam''
     25 * '''tty''' est un périphérique adressable de type écran/clavier. On utilise le composant ''VciMultiTty''
     26 * '''lcd''' est le coprocesseur cible réalisant le calcul du PGCD. On utilise évidemment le composant ''VciLcdCoprocessor''.
     27 * '''bus''' est le bus système déjà utilsé dans le TP2. On utilise le composant ''!VciVgsb''.
     28
     29= 3 Génération et chargement du logiciel embarqué =
     30
     31Il existe plusieurs façons de définir et de générer le code binaire qui sera exécuté par le (ou les) processeur(s) du
     32MPSoC. Si on part d'unr application logicielle écrite en langage C, il faut utiliser un cross-compilateur spécifique
     33pour le processeur choisi. Le résultat est un fichier binaire au format ELF. Le code binaire correspondant doit
     34être chargé dans les mémoires embarquées du MPSoC. 
     35
     36Il y a donc deux étapes bien distinctes
     37 * génération du code (i.e. génération du fichier ELF).
     38 * chargement  de ce code dans les mémoires.
     39
     40== 3.1 Génération du code ==
     41
     42== 3.2 Chargement du code ==
    2243 
    23 = 5 Travail à réaliser =
     44= 4 Travail à réaliser =
    2445 
    25 L'archive [attachment:soclib_tp3.tgz soclib_tp2.tgz] contient différents fichiers dont vous aurez besoin pour ce TP.
     46L'archive [attachment:soclib_tp3.tgz soclib_tp3.tgz] contient différents fichiers dont vous aurez besoin pour ce TP.
    2647Créez un répertoire de travail spécifique TP3, recopiez l'archive dans ce répertoire TP3, et décompressez-la:
    2748{{{