Changes between Version 1 and Version 2 of SoclibCourseTp3
- Timestamp:
- Sep 12, 2009, 6:54:22 PM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SoclibCourseTp3
v1 v2 1 1 {{{ 2 2 #!html 3 <h1>TP 2: Processeurs programmables</h1>3 <h1>TP3 : Processeurs programmables</h1> 4 4 }}} 5 5 [[PageOutline]] … … 8 8 9 9 L'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 s eront remplacés par des processeurs programmables.11 (avec leurs caches L1 pour les données et lesinstructions). On utilisera des processeurs RISC 32 bits, car ce type10 Les 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 12 12 de processeur possède un excellent rendement énergétique. 13 13 On introduira également dans l'architecture les mémoires embarquées contenant le code binaire 14 de l'application logicielle .14 de l'application logicielle, ainsi que les données manipulées par le programme. 15 15 16 16 = 2 Architecture matérielle cible = 17 17 18 19 20 21 18 La 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 31 Il 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 32 MPSoC. Si on part d'unr application logicielle écrite en langage C, il faut utiliser un cross-compilateur spécifique 33 pour 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 36 Il 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 == 22 43 23 = 5Travail à réaliser =44 = 4 Travail à réaliser = 24 45 25 L'archive [attachment:soclib_tp3.tgz soclib_tp 2.tgz] contient différents fichiers dont vous aurez besoin pour ce TP.46 L'archive [attachment:soclib_tp3.tgz soclib_tp3.tgz] contient différents fichiers dont vous aurez besoin pour ce TP. 26 47 Créez un répertoire de travail spécifique TP3, recopiez l'archive dans ce répertoire TP3, et décompressez-la: 27 48 {{{