Changes between Version 8 and Version 9 of SoclibCourseTp4


Ignore:
Timestamp:
Oct 4, 2009, 11:24:46 PM (15 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp4

    v8 v9  
    2525 * Il faut dentifier et localiser tous les fichiers nécessaires à générer le simulateur d'une architecture particulière. Les archives qui vous a été fournie pour les trois premiers TPs rassemblaient dans un seul répertoire tous les fichiers nécessaires, ainsi que le Makefile associé. Mais dans le cas général, cete identification des fichiers nécessaires est un travail non négligeable, à cause des dépendances entre composants logiciels  (le fichier A fait référence à des objets définis dans le fichier B, qui lui-même fait appel au fichier C, etc.). De ce fait, la construction du Makefile permettant est généralement un exercice complexe.
    2626
    27  * Par ailleurs, la plupart des modèles ont des paramètres templates (puisque la plupart des composants ont des interfaces VCI, et que les largeurs des champs VCI sont paramètrables). Pour chaque composant possédant un (ou plusieurs) paramètre(s) template, il faut donc modifier le fichier ''.cpp''  pour préciser la valeur des paramètres template avant de lancer la compilation de ce composant (on dit qu'on instancie les paramètres template).
    28 Vous avez fait ce travail dans le TP2, et c'est un travail très fastidieux dès que les architectures modélisées deviennent complexes.
     27 * Par ailleurs, la plupart des modèles ont des paramètres templates (puisque la plupart des composants ont des interfaces VCI, et que les largeurs des champs VCI sont paramètrables). Pour chaque composant possédant un (ou plusieurs) paramètre(s) template, il faut donc modifier le fichier ''.cpp''  pour préciser la valeur des paramètres template avant de lancer la compilation de ce composant (on dit qu'on instancie les paramètres template). Vous avez fait ce travail dans le TP2, et c'est un travail très fastidieux dès que les architectures modélisées deviennent complexes.
    2928
    3029La chaîne de compilation SoCLib-CC a pour but de résoudre les deux problèmes dans le cas général,
     
    7574)
    7675}}}
     76
     77= 3 Architectures Clusterisées =
     78
     79Nous appellerons ''architecture clusterisée'' une architecture dans laquelle on utilise un double système d'index
     80pour repérer les initiateurs et les cibles VCI. Un cluster est un sous-système regroupant généralement plusieurs
     81initiateurs et plusieurs cibles VCI, communiquant entre eux par un interconnect local (bus ou crossbar).
     82Chaque composant est donc repèré par un couple ''(cluster_index, local_index)''.
     83
     84L'espace d'adressage reste partatgé par tous les composants du système (quel que soit leur cluster), et n'importe
     85quel initiateur peut directement adresser n'importe quelle cible. Si l'initiateur et la cible n'appartiennent pas au même
     86cluster, les paquets VCI (commande et réponse) sont acheminés grace à un interconnect global (généralement un
     87micro-réseau intégré ou NoC).
     88
     89Pour faciliter le décodage des adresses, on décompose les bits de poids fort de l'adresse VCI en deux champs GADR et LADR, de telle sorte que le décodage du champs GADR définisse complêtement le numéro du cluster cible.
     90Le décodage du champs LADR permet lui de déterminer l'index local de la cible dans un cluster:
     91|| GADR || LADR ||  OFFSET  ||
     92Cette organisation hiérarchique à deux niveaux impose évidemment que les valeurs des champs GADR des segments associés aux cibles d'un même cluster soient égales entre elles (ou appartiennent à un même ensemble de valeurs caractéristiques de ce cluster)
     93
     94= 4 Travail à réaliser =
     95
     96