wiki:SoclibCourseTp6

Version 16 (modified by alain, 14 years ago) (diff)

--

TP6 : Modélisation d'un contrôleur de cache L1

1 Objectifs

L'objectif de ce TP est d'analyser en détail le modèle SystemC CABA d'un vrai composant matériel complexe. On va analyser le composant VciXcacheWrapper, dont l'architecture interne a été présentée dans le cours MPSOC. Ce composant contient quatre automates fonctionnant en parallèle (DCACHE_FSM, ICACHE_FSM, CMD_FSM et RSP_FSM). Ces automates communiquent entre eux par des registres protégés par des bascules de type SET/RESET.

Il contient de plus un tampon d'écriture postées, qui ne permet qu'une seule transaction d'écriture VCI à la fois, et qui est accédé par les trois automates DCACHE_FSM, CMD_FSM et RSP_FSM.

On souhaite modifier le composant VciXcacheWrapper pour qu'il utilise un tampon d'écritures postées plus évolué, supportant plusieurs transactions VCI simultanées, et on veut évaluer le gain en performance obtenu.

2 Analyse du composant VciXcacheWrapper

Créez un répertoire de travail TP6, et décompressez l'archive soclib_tp6.tgz. Cette archive contient en particulier les deux fichiers tp6_top.cpp et tp6_top.desc, qui définissent une architecture monoprocesseur très semblable à celle du TP4. Elle contient une ROM, une RAM, un TIMER, un contrôleur TTY, un contrôleur de disque IOC, un contrôleur d'écran graphique FBF, un coprocesseur GCD, un contrôleur DMA et un concentrateur d'interruptions ICU.

La seule différence par rapport au TP4 est qu'on utilise un micro-réseau (composant VciVgmn?) au lieu d'un bus (composant VciVgsb?). Le micro-réseau supporte plusieurs transactions simultanées, mais possède une latence importante (20 cycles minimum pour acheminer la commande VCI, et autant pour acheminer la réponse VCI).

L'application logicielle qui se trouve dans le répertoire soft est l'application d'affichage d'images sur le terminal graphique du TP4. Vous devez donc re-utiliser le fichier images.raw que vous avez utilisé dans le TP4.

Compilez l'application logicielle dans le répertoire soft . Générez le simulateur du prototype virtuel en utilisant le Makefile qui vous est fourni. Lancez l'éxécution de l'application logicielle sur le prototype virtuel:

$ ./simulator.x -IOCFILE path_to_images.raw 

Question Combien de cycles faut-il pour lire sur disque et afficher une image de 128*128 pixels?

Vous pouvez consulter le code du composant VciXcacheWrapper ici. Ce composant VciXcacheWrapper contient un certains nombres de compteurs d'activité permettant d'afficher des statistiques sur le comportement du processeur et du cache Pour mieux comprendre ces résultats pous pouvez activez comprendre

3 Modification du composant VciXcacheWrapper?

pour est accédé par les trois automates DCACHE_FSM, CMD_FSM et RSP_FSM. de facon à introduire de nouvelles fonctionnalités. Le composant

Attachments (1)

Download all attachments as: .zip