Changes between Version 15 and Version 16 of SoclibCourseTp6


Ignore:
Timestamp:
Jan 9, 2011, 6:32:26 PM (14 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp6

    v15 v16  
    11{{{
    22#!html
    3 <h1>TP6 : Modélisation des composants complexes </h1>
     3<h1>TP6 : Modélisation d'un contrôleur de cache L1 </h1>
    44}}}
    55[[PageOutline]]
     
    77= 1 Objectifs =
    88
     9L'objectif de ce TP est d'analyser en détail le modèle SystemC CABA d'un ''vrai'' composant matériel complexe.
     10On va analyser le composant  '''!VciXcacheWrapper''', dont l'architecture interne a été présentée dans le
     11cours MPSOC. Ce composant contient quatre automates fonctionnant en parallèle (DCACHE_FSM, ICACHE_FSM,
     12CMD_FSM et RSP_FSM). Ces automates communiquent entre eux par des registres protégés par des bascules de type SET/RESET.
     13
     14Il contient de plus un tampon d'écriture postées, qui ne permet qu'une seule transaction d'écriture VCI à la fois,
     15et qui est accédé par les trois automates DCACHE_FSM, CMD_FSM et RSP_FSM.
     16
     17On souhaite modifier le composant '''!VciXcacheWrapper''' pour qu'il utilise un tampon d'écritures postées
     18plus évolué, supportant plusieurs transactions VCI simultanées, et on veut évaluer le gain en performance obtenu.
     19
     20= 2 Analyse du composant !VciXcacheWrapper =
     21
     22Créez un répertoire de travail TP6, et décompressez l'archive [attachment:soclib_tp6.tgz soclib_tp6.tgz].
     23Cette archive contient en particulier les deux fichiers '''tp6_top.cpp''' et '''tp6_top.desc''', qui définissent une architecture
     24monoprocesseur très semblable à celle du TP4. Elle contient une ROM, une RAM, un TIMER, un contrôleur TTY,
     25un contrôleur de disque  IOC, un contrôleur d'écran graphique FBF, un coprocesseur GCD, un contrôleur DMA et
     26un concentrateur d'interruptions ICU.
     27
     28La seule différence par rapport au TP4 est qu'on utilise un micro-réseau (composant '''VciVgmn''') au lieu d'un bus
     29(composant '''VciVgsb'''). Le micro-réseau supporte plusieurs transactions simultanées, mais possède une latence
     30importante (20 cycles minimum pour acheminer la commande VCI, et autant pour acheminer la réponse VCI).
     31
     32L'application logicielle qui se trouve dans le répertoire '''soft''' est l'application d'affichage d'images sur le terminal
     33graphique du TP4. Vous devez donc re-utiliser le fichier '''images.raw''' que vous avez utilisé dans le TP4.
     34
     35Compilez l'application logicielle dans le répertoire '''soft''' . Générez le simulateur du prototype virtuel en utilisant
     36le Makefile qui vous est fourni. Lancez l'éxécution de l'application logicielle sur le prototype virtuel:
     37{{{
     38$ ./simulator.x -IOCFILE path_to_images.raw
     39}}}
     40
     41'''Question''' Combien de cycles faut-il pour lire sur disque et afficher une image de 128*128 pixels?
     42
     43Vous pouvez consulter le code du composant !VciXcacheWrapper  [https://www.soclib.fr/trac/dev/wiki/Component/VciXcacheWrapper ici].
     44Ce composant !VciXcacheWrapper''' contient un certains nombres de compteurs d'activité permettant d'afficher des statistiques sur le comportement du processeur et du cache
     45Pour mieux comprendre ces résultats pous pouvez activez comprendre
     46= 3 Modification du composant VciXcacheWrapper =
     47pour est accédé par les trois automates DCACHE_FSM, CMD_FSM et RSP_FSM.
     48de facon à introduire de nouvelles fonctionnalités.
     49Le composant