Changes between Version 18 and Version 19 of SoclibCourseTp6


Ignore:
Timestamp:
Jan 9, 2011, 8:34:23 PM (15 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp6

    v18 v19  
    4444Vous pouvez consulter le code du composant !VciXcacheWrapper  [https://www.soclib.fr/trac/dev/wiki/Component/VciXcacheWrapper ici], en cliquant sur les liens définis dans la
    4545section 2 (CABA implementation).
    46 Ce composant utilise deux objets C++ pour représenter le tampon d'écritures postées
    47 ([https://www.soclib.fr/trac/dev/browser/trunk/soclib/soclib/lib/write_buffer write_buffer] et les deux caches
    48 ([https://www.soclib.fr/trac/dev/browser/trunk/soclib/soclib/lib/generic_cache generic_cache].
     46Ce composant utilise deux objets C++ pour représenter d'une part le tampon d'écritures postées
     47([https://www.soclib.fr/trac/dev/browser/trunk/soclib/soclib/lib/write_buffer/include write_buffer]),
     48et d'autre part le cache instruction et le cache de données
     49([https://www.soclib.fr/trac/dev/browser/trunk/soclib/soclib/lib/generic_cache/include generic_cache]).
    4950
    50 Il faut vraiment aller regarder dans le code pour répondre aux questions suivantes:
     51Il faut vraiment aller regarder dans le code du contrôleur de cache pour répondre aux questions suivantes:
    5152
    5253'''Question''' : Comment est implémenté l'interface entre le cache et le processeur?
    53  
     54
    5455'''Question''' : En analysant le code de la fonction de transition (et en vous appuyant sur le cours MPSOC, représenter graphiquement les graphes de transition des 4 automates ICACHE_FSM, DCACHE_FSM, CMD_FSM, RSP_FSM.
    5556 
     
    8384= 3 Modification du composant !VciXcacheWrapper =
    8485
    85 L'archive '''soclib_tp6.tgz''' qui vous est fournie comporte
     86On a vu dans la section précédente que - lorsque la latence des transactions est importante - le processeur est souvent gelé en raison de requêtes d'écriture qui ne peuvent être satisfaites car le tampon d'écritures est plein.
     87On souhaite donc modifier le contrôleur de cache pour qu'il utilise
     88un tampon d'écritures plus évolués, permettant de ne pas attendre la réponse à une transaction d'écriture (n) pour envoyer la commande de la transaction (n+1). On souhaite également que les transactions de lecture - qui entraînent un gel du processeur - soient prioritaires par rapport aux transactions d'écriture (si les adresses sont différentes). 
     89
     90L'objet C++ [https://www.soclib.fr/trac/dev/browser/trunk/soclib/soclib/lib/multi_write_buffer/include multi_write_buffer] modélise un tampon d'écritures postées plus évolué, permettant de construire plusieurs requêtes d'écriture indépendantes, et d'effectuer plusieurs transactions d'écriture VCI en parallèle. Chacune de ces requêtes peut avoir une longueur supérieure à un flit.
     91
     92L'archive '''soclib_tp6.tgz''' qui vous est fournie contient un fichier '''!VciXcacheWrapperNew''', qui est une version
     93modifiée, mais incomplête du contrôleur de cache L1, que vous devrez compléter.