Changes between Version 84 and Version 85 of SoclibCourseTp4


Ignore:
Timestamp:
Jan 6, 2011, 6:30:01 PM (14 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp4

    v84 v85  
    236236On s'efforcera cependant que ce code de boot soit facilement extensible pour s'adapter à des architectures contenant plus de 2 processeurs
    237237
    238 '''Question''' : Créez un nouveau répertoire '''soft_multi''', et recopiez dans ce répertoire les fichiers contenus dans le répertoire '''soft''', car tous les fichiers doivent être modifiés.
     238Créez un nouveau répertoire '''soft_multi''', et recopiez dans ce répertoire les fichiers contenus dans le répertoire '''soft''', car tous les fichiers doivent être modifiés.
    239239
    240240'''Question''' : Modifiez le fichier '''reset.s''' pour initialiser le pointeur de pile ($29 dans le cas du MIPS32) à une valeur dépendant du ''proc_id''. Chaque tâche disposera d'une pile de 64 Koctets. Quelle doit être la longueur du segment de pile défini dans la table des segments de la top-cell pour 2 processeurs? Pour 8 processeurs?
     
    242242'''Question''' : Modifiez le fichier '''reset.s''' pour que chaque processor PROC[i] initialize le registre de masque du composant ICU[i] qui lui est associé. Attention: les adresses de base des segment associés aux différents composants ICU[i] ont des valeurs différentes...
    243243
    244 '''Question''' : Modifiez le fichier '''reset.s''' pour initialiser le point d'entrée (registre EPC dans le cas du MIPS32) à une valeur dépendant du ''proc_id''. On définira une table de sauts indexé par le ''proc_id'' et contenant les adresses des deux programmes ''main_0'' à ''main_1''. Une table de saut est facilement extensible si on a plus de 2 processeurs.
     244'''Question''' : Modifiez le fichier '''reset.s''' pour initialiser le registre EPC dans le cas du MIPS32 à une valeur dépendant du ''proc_id''. On définira une table de sauts à 8 entrées indexée par le ''proc_id''. Les deux premières cases contiendront  les adresses des deux programmes ''main_0'' et ''main_1''. Les autres entrées ne seront pas utilisées, mais pourront être initialisées avec l'adresse de la fonction système ''_exit''.
    245245
    246246'''Question''' : Modifiez le fichier '''Makefile''' du répertoire '''soft''' pour que soient compilés (en plus du code système et du fichier '''reset.s''') les deux programmes '''main_0.c''' et '''main_1.c'''.