Changes between Version 105 and Version 106 of SoclibCourseTp4


Ignore:
Timestamp:
Dec 12, 2013, 1:15:10 PM (11 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp4

    v105 v106  
    197197== 5.1 architecture matérielle ==
    198198
    199 Vous devez modifier le fichier '''tp4_top.cpp''' pour créer un nouveau fichier '''tp4_top_multi.cpp''', en suivant les recommandations suivantes:
    200 
    201  * On vérifiera dans le code de la top-cell que le paramètre NPROCS est plus grand que 0 et inférieur ou égal à 4.
    202 
    203  * Pour les composants répliqués PROC[i] ainsi que pour les signaux connectés à ces composants, vous définirez des tableaux de pointeurs indexés par l'index du processeurs (proc_id).
    204 
    205  * Pour les tableaux de signaux, il est recommandé d'utiliser le constructeur générique de tableaux ''alloc_elems<type>(name, size)''. Ce constructeur est défini dans le fichier ''alloc_elems.h'', qu'il ne faut pas oublier d'inclure dans la top-cell.
     199Vous devez modifier le fichier '''tp4_top.cpp''' pour créer un nouveau fichier '''tp4_top_multi.cpp''', en suivant les recommandations suivantes. Lisez toutes les recommandations avant de commencer à coder...
     200
     201 * On ajoutera le paramètre NPROCS dans la liste des paramètres qu'on peut modifier sur la ligne de commande, en vérifiant que le paramètre NPROCS est plus grand que 0 et inférieur ou égal à 4.
     202
     203 * Pour les composants répliqués PROC[i] ainsi que pour les signaux connectés à ces composants, vous définirez des tableaux de pointeurs indexés par l'index du processeurs (proc_id).
    206204
    207205 * Vous utiliserez une boucle indexée par l'index du processeur pour les constructeurs des composants PROC[i].
     
    216214
    217215 * Pour ce qui concerne l'accès au disque, on aura un seul contrôleur de disque !VciBlockDevice partagé par toutes les applications.
     216
     217 * Pour les périphériques multi-canaux qui génèrent des interruptions (TTY, TIMER, DMA,ICU), le nombre de de lignes d'interruption dépend du nombre de processeurs. Il faut donc utiliser des tableaux de signaux.
     218
     219 * Pour les tableaux de signaux, vous utiliserez le constructeur générique de tableaux ''alloc_elems<type>(name, size)''. Ce constructeur est défini dans le fichier ''alloc_elems.h'', qu'il ne faut pas oublier d'inclure dans la top-cell.
    218220
    219221 * Pour l'index des initiateurs (SRCID), vous utiliserez les valeurs 0 à (NPROCS-1) pour les processeurs, et les valeurs NPROCS et (NPROCS+1) pour le composant IOC et pour le composant DMA respectivement.