Changes between Version 84 and Version 85 of SoclibCourseTp4
- Timestamp:
- Jan 6, 2011, 6:30:01 PM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SoclibCourseTp4
v84 v85 236 236 On s'efforcera cependant que ce code de boot soit facilement extensible pour s'adapter à des architectures contenant plus de 2 processeurs 237 237 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.238 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. 239 239 240 240 '''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? … … 242 242 '''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... 243 243 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''. 245 245 246 246 '''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'''.