Changes between Version 57 and Version 58 of SoclibCourseTp3


Ignore:
Timestamp:
Nov 30, 2010, 11:44:44 AM (14 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp3

    v57 v58  
    169169== 4.2 Description de l'architecture matérielle ==
    170170
    171 Pour ce qui concerne le matériel, faut commencer par  compléter le fichier ''tp3_top.cpp'' qui vous est fourni:
    172 
    173  *  Il faut enregister les 9 segments dans la ''!MappingTable''. Consultez la documentation de la !MappingTable pour bien comprendre la signification des 4 arguments du constructeur de la !MappingTable, ainsi que la signification des 5 arguments du constructeur d'un segment.
    174  * Il faut définir les arguments des constructeurs des composants matériels instanciés, ainsi que les valeurs de leurs paramètres template. Vous devez consulter la documentation des composants !VciXcacheWrapper et !VciSimpleRam pour comprendre la signification  des arguments. On choisira des caches à correspondance directe (c'est à dire un seul niveau d'associativité), ayant une capacité totale de 4 Koctets et des lignes de caches d'une longueur de 16 octets.
    175  * Il faut définir l'argument du composant ''loader'' qui réalise le chargement du code binaire dans les mémoires ROM et RAM. Cet argument est une chaîne de caractères définissant le cheminom d'accès au fichier ''bin.soft''.
    176  * Il faut enfin compléter la net-list en connectant les signaux du bus.
    177  
     171Pour ce qui concerne le matériel, il faut  compléter le fichier ''tp3_top.cpp'' qui vous est fourni:
     172
     173'''Question''' : Définissez les adresses de base et les tailles des 9 segments de l'espace adressable.
     174
     175'''Question''' : Complétez le constructeur de la ''!MappingTable''. Consultez la documentation de la !MappingTable  [https://www.soclib.fr/trac/dev/wiki/Component/MappingTable ici] pour bien comprendre la signification des 4 arguments du constructeur. Quel est le nombre de bits de poids fort de l'adresse qui doivent être décodés par le contrôleur du bus pour déterminer la cible VCI désignée ? Quels sont les bits d'adresse qui doivent être décodés par le contrôleur du cache, pour déterminer qu'une adresse appartient à un segment non-cachable ?
     176
    178177'''Question''' : Parmi les 9 segments utilisés dans cette l'architecture, lesquels doivent être non-cachables ?
    179178
    180 '''Question''' : Quel est le nombre de bits de poids fort de l'adresse qui doivent être décodés par le contrôleur du bus pour déterminer la cible VCI désignée ? Cette information est un des arguments du constructeur de la !MappingTable.
    181 
    182 '''Question''' quels sont les bits d'adresse qui doivent être décodés par le contrôleur du cache, pour déterminer
    183 qu'une adresse appartient à un segment non-cachable, et doit être directement transmise à la mémoire ?
    184 Cette information est un autre argument du constructeur de la ''MappingTable''.
    185 
     179'''Question''' : Définissez l'argument du composant ''loader'' qui réalise le chargement du code binaire dans les mémoires ROM et RAM. Cet argument est une chaîne de caractères définissant le cheminom d'accès au fichier ELF.
     180Ce cheminom a comme valeur par défaut ''soft/bin.soft'', mais il est possible de le redéfinir au lancement du simulateur gràce à un argument sur la ligne de commande.
     181
     182'''Question''' : Définissez les arguments des constructeurs des composants matériels instanciés, ainsi que les valeurs de leurs paramètres template. Vous devez consulter la documentation des composants !VciXcacheWrapper et !VciSimpleRam pour comprendre la signification  des arguments. On choisira des caches à correspondance directe (c'est à dire un seul niveau d'associativité), ayant une capacité totale de 4 Koctets et des lignes de caches d'une longueur de 16 octets.
     183
     184'''Question''' : Complétez la net-list en connectant les signaux du bus.
    186185== 4.3 Génération du simulateur ==
    187186
     
    271270}}}
    272271
    273 Complétez le fichier ''tp3_top.cpp'' qui vous est fourni, puis lancez la compilation avec la commande:
     272 puis lancez la compilation avec la commande:
    274273
    275274{{{