Changes between Version 2 and Version 3 of MultiCourseTP10_QR
- Timestamp:
- Jun 10, 2020, 8:28:46 PM (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
MultiCourseTP10_QR
v2 v3 3 3 == Q1) Pourquoi le lancement d"une tâche utilisateur sur un coeur nécessite-t-il de charger l'adresse de la première instruction de la tâche dans le registre EPC, et d'exécuter l'instruction assembleur ''eret'' ? == 4 4 5 Une tâche utilisateur est lancée soit directement par le code de boot (quand elle est la première à s'exécuter sur le coeur), soit par le code système chargé d'effectuer le changement de contexte. Dans les deux cas, le lancement est réalisé par du code système qu 'i s'exécute donc en mode kernel :5 Une tâche utilisateur est lancée soit directement par le code de boot (quand elle est la première à s'exécuter sur le coeur), soit par le code système chargé d'effectuer le changement de contexte. Dans les deux cas, le lancement est réalisé par du code système qui s'exécute donc en mode kernel : 6 6 * le bit UM du registre SR est à 0 => exécution sans aucune limitation d'accès aux registres protégés ou à la mémoire protégée. 7 7 * le bit IE du registre SR est à 0 => toutes les interruptions sont masquées. 8 Le code applicatif doit toujours s'exécuter avec des droits d'accès limités et avec les interruptions non masquées.9 Le changement de mode (donc le changement de valeur du registre SR doit se faire exactement au moment du branchement à la première instruction du code application, ni avant, ni après.10 Le rôle de l'instruction ''eret''est précisément d'exécuter un branchement (copier la valeur contenue dans le registre EPC dans le registre PC), ET de modifier la valeur du registre SR en une seule instruction.8 Mais le code applicatif doit toujours s'exécuter avec des droits d'accès limités et avec les interruptions non masquées. 9 Le changement de mode (donc le changement de valeur du registre SR) doit se faire exactement au moment du branchement à la première instruction du code applicatif, ni avant, ni après. 10 Le rôle de l'instruction ''eret''est précisément d'exécuter un branchement (copier la valeur contenue dans le registre EPC dans le registre PC), ET de modifier la valeur du registre SR, en une seule instruction. 11 11 12 12 == Q2) En quoi l’architecture d’un processeur peut affecter le code de certaines fonctions de l'OS comme _task_switch() ? ==