Changes between Version 47 and Version 48 of Archi-1-TP10


Ignore:
Timestamp:
Jan 3, 2021, 10:49:21 AM (4 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Archi-1-TP10

    v47 v48  
    119119'''''''''''''''
    120120- 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 IRQ
    124   || 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`
    126126'''''''''''''''
    127127}}}
     
    133133'''''''''''''''
    134134}}}
    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?
     1351. 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?
    136136{{{#!protected ------------------------------------------------------------------------------------
    137137'''''''''''''''
     
    147147{{{#!protected ------------------------------------------------------------------------------------
    148148'''''''''''''''
    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.
    150150- En fait, on peut considérer que `0xBFC00000` permet aussi d'entrer dans le noyau après un reset.
    151151'''''''''''''''
     
    154154{{{#!protected ------------------------------------------------------------------------------------
    155155'''''''''''''''
    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`)
    158158  - `c0_SR.EXL` ← `1`  (ainsi les bits `c0_SR.UM` et `c0_SR.IE` ne sont plus utilisés)
    159159  - `c0_cause.XCODE` ← `8`
     
    161161'''''''''''''''
    162162}}}
    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?
     1631. 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.
    164164{{{#!protected ------------------------------------------------------------------------------------
    165165'''''''''''''''