Changes between Version 40 and Version 41 of SoclibCourseTp3


Ignore:
Timestamp:
Oct 22, 2009, 3:03:47 PM (15 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp3

    v40 v41  
    123123Remarquez que les 2 segments correspondant aux périphériques (seg_tty et seg_gcd), ainsi que les deux segments correspondant au code système sont dans la zone protégée de l'espace adressable, qui n'est accessible qu'en mode ''kernel'' (adresses supérieures à 0x80000000).
    124124
    125 '''Remarque importante''' : Certaines informations sont utilisées à la fois par le matériel et par le logiciel embarqué. Elles doivent donc être définies dans le fichier ''tp3_top.cpp'' (pour le matériel) et dans le fichier ''soft/ldscript'' (pour le logiciel) :
    126  1. Les addresses de base et les longueurs des segments sont utilisées par le matériel : Elles doivent être définies dans le fichier ''tp3_top.cpp'' pour ëtre stockées dans la ''MappingTable''. Elles sont utilisées dans la phase de configuration du matériel par les constructeurs des composants. Ces mêmes adresses de base des segments sont utilisées par le logiciel et doivent être définies dans le fichier ''soft/ldscript'' qui contient les directives pour l'éditeur de liens lors de la compilation du logiciel embarqué.
    127  1. Le composant matériel générique ''VciMultiTty'' peut contrôler un nombre variable de terminaux. Ce nombre de terminaux doit être défini dans le fichier ''tp3_top.cpp'' décrivant l'architecture matérielle, mais doit aussi être défini dans le  fichier ''soft/ldscript'', pour informer le système d'exploitation du nombre de terminaux adressables.
    128 
    129 Complêtez les fichiers ''tp3_top.cpp'' et ''soft/ldsript'' pour définir les adresses de base et les longueurs des segments,
    130 ainsi que le nombre de terminaux utilisés.
     125'''Remarque importante''' : Certaines informations sont utilisées à la fois par le matériel et par le logiciel embarqué. Elles doivent donc être définies à deux endroits : dans le fichier '''tp3_top.cpp''' (pour le matériel) et dans le fichier '''soft/ldscript''' (pour le logiciel) :
     126 1. Les addresses de base et les longueurs des segments sont utilisées par le matériel : Elles doivent être définies dans le fichier ''tp3_top.cpp'' pour ëtre stockées dans la !MappingTable. Elles sont utilisées dans la phase de configuration du matériel par les constructeurs des composants. Ces mêmes adresses de base des segments sont utilisées par le logiciel et doivent être définies dans le fichier ''soft/ldscript'' qui contient les directives pour l'éditeur de liens lors de la compilation du logiciel embarqué.
     127 1. Le composant matériel générique !VciMultiTty peut contrôler un nombre variable de terminaux. Ce nombre de terminaux doit être défini dans le fichier '''tp3_top.cpp''' décrivant l'architecture matérielle, mais doit aussi être défini dans le  fichier '''soft/ldscript''', pour informer le système d'exploitation du nombre de terminaux adressables.
     128
     129Complêtez les fichiers '''tp3_top.cpp''' et ''soft/ldsript'' pour définir les adresses de base et les longueurs des segments, ainsi que le nombre de terminaux utilisés.
    131130
    132131== 4.2 Compilation du logiciel embarqué ==
     
    168167== 4.3 Définition de l'architecture matérielle ==
    169168
    170 Complétez le fichier ''tp3_top.cpp'': Il faut enregister les 7 segments dans la ''!MappingTable''.
    171 Il faut définir les arguments de tous les constructeurs des composants instanciés, ainsi que les valeurs de
    172 leurs paramètres template. Il faut définir le nom du fichier permettant au ''loader'' des composants ROM et RAM
    173 d'accéder au fichier ''bin.soft'' contenant le code binaire.
    174 
    175 Pour ce qui concerne le composant vci_xcache_wrapper, on choisira des caches à correspondance directe
    176 ayant une capacité de 4 Koctets et des lignes de caches d'une longueur de 16 octets.
     169Complétez le fichier ''tp3_top.cpp'':
     170 *  Il faut enregister les 7 segments dans la ''!MappingTable''. N'hésitez pas à consulter 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.
     171 * Il faut définir les arguments de tous les constructeurs des composants matériels instanciés, ainsi que les valeurs de leurs paramètres template.
     172 * Il faut définir le cheminom  permettant au ''loader'' des composants ROM et RAM d'accéder au fichier ''bin.soft'' contenant le code binaire.
     173* Il faut compléter la net list en connectant les signaux du bus.
     174
     175Pour ce qui concerne le composant vci_xcache_wrapper, 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.
    177176 
    178177'''Question''' : Parmi les 7 segments utilisés dans cette l'architecture, lesquels doivent être déclarés cachables ?
    179178
    180179'''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
    181 pour déterminer la cible VCI désignée ? Cette information est un des arguments du constructeur de la ''MappingTable''.
     180pour déterminer la cible VCI désignée ? Cette information est un des arguments du constructeur de la !MappingTable.
    182181
    183182'''Question''' quels sont les bits d'adresse qui doivent être décodés par le contrôleur du cache, pour déterminer