Changes between Version 47 and Version 48 of Archi-1-TP10
- Timestamp:
- Jan 3, 2021, 10:49:21 AM (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Archi-1-TP10
v47 v48 119 119 ''''''''''''''' 120 120 - Le champ `XCODE` qui contient le code de la cause d'entrée dans le noyau est codé sur 4 bits entre les bits 2 et 5. 121 - Les valeurs les plus importantes sont :122 123 || 0000,,b,, || interruption || un contrôleur de périphérique à lever un signal IRQ124 || 0100,,b,, || ADEL || lecture non-alignée (p. ex. `lw` a une adresse impaire)125 || 1000,,b,, || syscall || exécution de l'instruction `syscall`121 - Les valeurs les plus importantes sont 0 (interruption et syscall). Les autres valeurs sont considérées comme des exceptions. 122 123 ||0|| 0000,,b,, || interruption || un contrôleur de périphérique à lever un signal IRQ 124 ||4|| 0100,,b,, || ADEL || lecture non-alignée (p. ex. `lw` a une adresse impaire) 125 ||8|| 1000,,b,, || syscall || exécution de l'instruction `syscall` 126 126 ''''''''''''''' 127 127 }}} … … 133 133 ''''''''''''''' 134 134 }}} 135 1. Nous avons vu trois instructions ne sont pas utilisable lorsque le MIPS est en mode kernel, lesquelles? Que font-elles?\\Est-ce que l'instruction `syscall` peut-être utilisée en mode user?135 1. Nous avons vu trois instructions ne sont pas utilisables lorsque le MIPS est en mode kernel, lesquelles? Que font-elles?\\Est-ce que l'instruction `syscall` peut-être utilisée en mode user? 136 136 {{{#!protected ------------------------------------------------------------------------------------ 137 137 ''''''''''''''' … … 147 147 {{{#!protected ------------------------------------------------------------------------------------ 148 148 ''''''''''''''' 149 - C'est `0x80000180` i. Il n'y a qu'une adresse pour toutes les causes syscall, exception et interruption.149 - C'est `0x80000180`. Il n'y a qu'une adresse pour toutes les causes `syscall`, exception et interruption. 150 150 - En fait, on peut considérer que `0xBFC00000` permet aussi d'entrer dans le noyau après un reset. 151 151 ''''''''''''''' … … 154 154 {{{#!protected ------------------------------------------------------------------------------------ 155 155 ''''''''''''''' 156 - L'instruction `syscall` induit beaucoup d'opérations élémentaires :157 - `EPC` ← `PC` (adresse de syscall)156 - L'instruction `syscall` induit beaucoup d'opérations élémentaires dans le MIPS: 157 - `EPC` ← `PC` (adresse de l'instruction `syscall`) 158 158 - `c0_SR.EXL` ← `1` (ainsi les bits `c0_SR.UM` et `c0_SR.IE` ne sont plus utilisés) 159 159 - `c0_cause.XCODE` ← `8` … … 161 161 ''''''''''''''' 162 162 }}} 163 1. Quelle instruction utilise-t-on pour sortir du noyau et entrer dans l'application ? Dîtes précisément ce que fait cette instruction dans le MIPS ?163 1. Quelle instruction utilise-t-on pour sortir du noyau et entrer dans l'application ? Dîtes précisément ce que fait cette instruction dans le MIPS. 164 164 {{{#!protected ------------------------------------------------------------------------------------ 165 165 '''''''''''''''