Changes between Version 70 and Version 71 of SoclibCourseTp5


Ignore:
Timestamp:
Dec 19, 2013, 10:19:25 PM (11 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SoclibCourseTp5

    v70 v71  
    272272 * La ligne d'interruption du périphérique IOC sera connectée à l'entrée IRQ_IN[12] du composant ICU.
    273273
    274 On définit les segments suivants pour cette plate-forme :
    275 
    276 
    277 
    278  * 1 segment '''seg_rom''' pour le code de RESET à l'adresse imposée 0xBFC00000
    279  * 1 segment '''seg_kcode''' pour le code système à l'adresse imposée 0x80000000
    280  * 1 segment '''seg_kdata''' pour les données cachables du système d'exploitation, dans la zone protégée.
    281  * 1 segment '''seg_kunc''' pour les données non-cachables du système d'exploitation, dans la zone protégée.
    282  * 1 segment '''seg_text''' pour le code des programmes utilisateur, dans la zone non protégée.
    283  * 1 segment '''seg_data''' pour les données globale des programmes utilisateur, dans la zone non protégée.
    284  * 4 segments '''seg_stack_i''' pour les 4 piles d'exécution de 4 tâches, dans la zone non protégée (une pile par cluster).
    285  * 1 segment '''seg_fbf''' associé au frame buffer, dans la zone protégée.
    286  * 1 segment '''seg_ioc''' associé au contrôleur de disque, dans la zone protégée.
    287  * 1 segment '''seg_dma''' associé au contrôleur DMA, dans la zone protégée.
    288  * 1 segment '''seg_icu''' associé au composant ICU, dans la zone protégée.
    289  * 1 segment '''seg_tty''' associé  au composant TTY, dans la zone protégée.
    290  * 1 segment '''seg_tim''' associé au composant TIM, dans la zone protégée.
     274On définit 17 segments pour cette plate-forme, qui peuvent être protégés ou non, suivant la valeur du bit d'adresse A31.
     275
     276'''Cluster 0'''
     277 * segment '''seg_rom''' pour le code de RESET à l'adresse imposée 0xBFC00000, protégé.
     278 * segment '''seg_kcode''' pour le code système à l'adresse imposée 0x80000000, protégé.
     279 * segment '''seg_kdata''' pour les données cachables du système d'exploitation, protégé.
     280 * segment '''seg_kunc''' pour les données non-cachables du système d'exploitation, protégé.
     281 * segment '''seg_ioc''' associé au contrôleur de disque, protégé.
     282 * segment '''seg_stack0''' pour la pile de la tâche qui s'exécute sur le processeur P0, non protégé.
     283
     284'''Cluster 1'''
     285 * segment '''seg_dma''' associé au contrôleur DMA, protégé.
     286 * segment '''seg_icu''' associé au composant ICU, protégé.
     287 * segment '''seg_stack1''' pour la pile de la tâche qui s'exécute sur le processeur P1, non protégé.
     288
     289'''Cluster 2'''
     290 * segment '''seg_fbf''' associé au frame buffer, protégé.
     291 * segment '''seg_tim''' associé au composant TIM, protégé.
     292 * segment '''seg_stack2''' pour la pile de la tâche qui s'exécute sur le processeur P2, non protégé.
     293
     294'''Cluster 3'''
     295 * segment '''seg_text''' pour le code des programmes utilisateur, non protégé.
     296 * segment '''seg_data''' pour les données globale des programmes utilisateur, non protégé.
     297 * segment '''seg_tty''' associé  au composant TTY, protégé.
     298 * segment '''seg_rom''' associé  à la ROM de boot, protégé.
     299 * segment '''seg_stack3''' pour la pile de la tâche qui s'exécute sur le processeur P3, non protégé.
    291300
    292301'''Question''' : Pourquoi faut-il des segments distincts pour les 4 piles d'exécution ?