SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
CHAPITRE III:
INTERRUPTIONS
Université Saad Dahlab de Blida
Faculté des Sciences
Département d’Informatique
Licence Génie des Systèmes Informatiques (GSI)
Semestre 4 (2ème année)
S. AROUSSI
Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/
PLAN DU CHAPITRE III
 Introduction
 Définition d’une interruption
 Déroulement d’une routine d’interruption
 Types d’interruptions
 Registre d’interruption
 Détection d’une interruption
 Contexte du processus
 Recherche de la cause d’une interruption
 Systèmes d’interruptions hiérarchisées
 Système des interruptions du 8086
2
3
 Sur une machine monoprocesseur, un seul programme (ou
processus) est exécuté à la fois.
 Une autre composante peut demander à l’interrompre
pour faire temporairement autre chose. Par exemple:
 Périphérique : un paquet réseau arrive, la souris a bougé
 Gestion erreur : erreur arithmétique, instruction invalide
 Il faut donc introduire un mécanisme matériel qui indique
au processeur d’arrêter le traitement courant. Ce
mécanisme s’appelle une interruption.
INTRODUCTION
4
 Une interruption est un mécanisme qui permet d'interrompre
l'exécution d'un processus suite à un événement extérieur ou intérieur
et de passer le contrôle à une routine dite "routine d'interruption"
ou traitement d’interruption.
 Le système d'interruption est un dispositif, incorporé au niveau du
séquenceur, qui enregistre et traite les signaux d'interruption envoyés
au processeur :
1. Arrêter le processus en cours ;
2. Sauvegarder le contexte du processus interrompu;
3. Exécuter le programme de routine d'interruption ;
4. Restaurer le contexte du processus interrompu;
5. Reprendre l'exécution du processus interrompu.
DÉFINITION DE L’INTERRUPTION
5
 Donc, lorsque l'interruption se produit le processeur, après la fin de l'exécution
de l'instruction en cours, transfère le contrôle à la routine d'interruption
associée à l'événement.
 La routine d’interruption fait d’abord une sauvegarde du contexte du
processus interrompu avant de réaliser son traitement.
 A la fin de celui-ci l, le contexte du processus interrompu est restauré ce qui
lui permet de continuer son exécution convenablement à l’endroit où il a été
interrompu.
DÉROULEMENT D’UNE ROUTINE D’INTERRUPTION
6
DÉROULEMENT D’UNE ROUTINE D’INTERRUPTION
7
 Les interruptions peuvent d’être d’origines diverses, mais on les
classe généralement en trois grands types :
 Interruptions matérielles: prévient le processeur
d’événements externes (top Horloge, touche clavier pressée,
etc).
 Interruptions logicielles: est déclenchée suite à
l’exécution d’une instruction d’appel d’une interruption
système ou utilisateur (instruction INT en assembleur 8086;
instruction read en pascal, etc)
 Déroutement (ou exception): suite à une erreur interne
du processeur (débordement, division par zéro, etc)
TYPES D’INTERRUPTIONS
8
 Le système d’interruption de IBM peut avoir 256 interruptions:
 Les interruptions logicielles regroupent des instructions spécifiques qui
permettent d'appeler des fonctions du BIOS ou du système d'exploitation.
 Les déroutements sont au nombre de 6 et concernent :
 La division par zéro
 Le fonctionnement pas à pas (une interruption est générée à chaque
instruction)
 Les problèmes pouvant apparaître lors de l'accès à la mémoire (défaut
de page, par exemple)
 L'atteinte d'un point d'arrêt
 Le débordement numérique
 La non reconnaissance d'une instruction
TYPES D’INTERRUPTIONS (EXEMPLE)
9
 Les interruptions matérielles sont au nombre de 16. Elles
sont baptisées IRQ 0 à 15 (IRQ: Interrupt ReQuest).
Certaines sont pré-affectées, mais beaucoup d'entre elles
ne sont affectées à des événements périphériques que lors
de la configuration de la machine.
TYPES D’INTERRUPTIONS (EXEMPLE)
10
 A chaque cause d’interruption, on associe un indicateur
(un bit ou une bascule) : cela forme le registre
d’interruption.
REGISTRE D’INTERRUPTION
1
0
0
1
…..
0
Interruption 1
Interruption 2
Interruption 3
Interruption 4
Interruption 5
Registre d’interruption
11
 Supposant que le CPU possède une seule entrée
interruption sur laquelle sont reçues les interruptions.
 Pour détecter la présence d’une interruption, le CPU
teste, à la fin de chaque instruction, l’état de la Bascule
d’Interruption (BI):
 Si BI est à « 1 », CPU remet à « 0 » la Bascule de
Validation (BV) pour interdire à une autre interruption
de venir la suspendre.
DÉTECTION D’UNE INTERRUPTION
1
0
…..
0
BI
BV
Registre d’Interrupt
CPU
12
 Lorsqu’une interruption est détectée, CPU procède aux
opérations suivantes:
1. Sauvegarde le contexte du processus interrompu;
2. Recherche la cause de l’interruption
3. Exécution du programme de traitement de
l'interruption ;
4. Restauration du contexte du processus interrompu;
5. Retour au programme interrompu avec revalidation
du système d’interruption (remettre BV à 1).
DÉTECTION D’UNE INTERRUPTION
13
 Toutes les informations qui permettront à CPU de
reprendre l’exécution du programme interrompu sont
sauvegardés lorsqu’une une interruption est détectée.
 Ces informations sont:
 L’adresse de la prochaine instruction à exécuter, contenue dans le
compteur ordinal (CO)
 Les indications sur l’état du CPU au moment de l’interruption
données par le registre d’état (ou flags)
 Les opérandes et les résultats intermédiaires contenus dans les
registres généraux.
 Ces informations représente l’état ou le contexte du
programme interrompu.
CONTEXTE DU PROCESSUS
14
 Un mot d’état programme (Program Status Word ou
PSW) regroupe l’adresse de la prochaine instruction (CO)
et les bits de flag.
 Lorsque le traitement de l’interruption est terminé, le
contexte du programme est restauré. Autrement dit, les
informations sauvegardées sont chargés dans leurs
registres respectifs
CONTEXTE DU PROCESSUS
15
 A chaque interruption est associée l’adresse de la routine
d’interruption correspondante dans une table appelée
vecteur d’interruptions.
VECTORISATION DES INTERRUPTIONS
16
 Suivant l’architecture d’Intel 8086, les interruptions sont
classées dans un vecteur de 256 entrées:
 Chaque entrée occupe 4 octets et contient l’@ du programme associé à
l’interruption : IP puis CS.
 Ce vecteur est placé dans la Mémoire Centrale à l’@ 00H et termine à l’@
3FFH.
VECTORISATION DES INTERRUPTIONS (EXEMPLE)
17
 Le vecteur d’interruptions regroupe 3 catégories
d’interruptions :
VECTORISATION DES INTERRUPTIONS (EXEMPLE)
1. Interruptions réservées par Intel
(matérielles et déroutements), à
savoir, l’int 0, int 1, etc.
2. Interruptions réservées par le
système d’exploitation, à savoir
l’INT print screen, INT timer, etc.
3. Interruption réservées à
l’utilisateur afin qu’il puisse
définir ses propres interruptions
suivant ses besoins.
18
 Lors de l'occurrence d'une interruption, le processeur
cherche la cause de l’interruption. Il reçoit alors un index
qui pointe dans le vecteur d’interruptions.
 Cet index est
 généré par le processeur dans le cas des déroutements
 fourni par un circuit de la carte mère appelé contrôleur
d'interruption dans le cas d'une interruption matérielle
 fourni par l'instruction dans le cas d'une interruption logicielle.
 Au vu de cet index, le processeur accède à l'entrée
correspondante de la table d'interruption.
RECHERCHE DE LA CAUSE D’INTERRUPTION
19
 Dans système d'interruptions hiérarchisées, on associe aussi à chaque
interruption, une priorité qui permet de regrouper les interruptions
en classes ou niveaux.
 Chaque niveau est caractérisée par un degré d'urgence d'exécution de
son programme d'interruption.
 Règle : Une interruption de niveau i est plus prioritaire qu'une
interruption de niveau j si i  j.
 L'intérêt d’un tel système est la solution de problèmes tels que :
 arrivée de plusieurs d'interruption pendant l'exécution d'une
instruction,
 arrivée d'une d'interruption pendant l'exécution du traitement
d'une interruption précédente
SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES
20
 Masquer et démasquer une interruption:
 Certaines interruptions présentent tellement d'importance qu'il ne
doit pas être possible d'interrompre leur traitement. On masquera
alors les autres interruptions pour empêcher leur prise en compte.
 Certaines interruptions sont non-masquables : on les prend
obligatoirement en compte.
 Une interruption masquée n'est pas ignorée : elle est prise en
compte dès qu'elle est démasquée.
 Armer et Désarmer une interruption:
 Au contraire, une interruption peut être désarmée ou inhibée: elle
sera ignorée et donc perdue.
 Par défaut, les interruptions sont évidemment armées.
SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES
21
 Un système d’interruptions hiérarchisées comporte les
éléments suivants:
SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES
 R.M.N: Registre de
Mémorisation des Niveaux
 R.M.C.N.i: Registre de
Mémorisation des Causes du
Niveau i
 R.I.N.i: Registre d’Inhibition
de Niveau i
Exemple: Système d’interruptions à 4 niveaux
22
 Un système d’interruptions hiérarchisées comporte les
éléments suivants:
 Des registres d’inhibition(R.I.N.i) : à chaque niveau est
associé un registre d’inhibition dans lequel une bascule est
réservée pour chacune des causes de niveau
 Un registre masque (R.M.N): à chaque niveau est associée une
bascule dans ce registre. Masquer un niveau d’interruptions
revient à le bloquer momentanément. Une interruption qui
pourrait survenir alors que son niveau est masqué ne peut pas être
immédiatement prise en compte, mais elle est mémorisée. Elle est
prise en compte dés que son niveau est démasqué par une
interruption appartement à u niveau non masqué.
SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES
23
 Un système d’interruptions hiérarchisées comporte les
éléments suivants:
 Des registres d’inhibition (R.I.N.i)
 Un registre masque (R.M.N)
 Une bascule de validation (BV): permet de désactiver,
lorsqu’elle est à « 0 » tout le système d’interruption. Les
interruptions qui arrivent à CPU lorsque BV est à « 0 », ne sont
pas perdues puisqu’elles sont mémorisées.
 Une bascule d’Interruption (BI): qui indique la présence d’une
interruption.
SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES
24
 Lorsqu’elle arrive à un point interruptible, l’unité centrale
teste l’état de la bascule BI. Si elle est à « 1 », signifiant la
présence d’au moins une interruption appartenant à un
niveau non masqué, les opérations suivantes sont
réalisées:
1. Désactivation du mécanisme d’interruption: la bascule BV est
remise à « 0 »
2. Sauvegarde le contexte du programme courant: empiler le
PSW et les registres généraux nécessaires.
3. Détermination du niveau de l’interruption: en testant les
bascule du registre niveau (R.M.N) dans l’ordre décroissant des
priorités.
SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES
25
1. Désactivation du mécanisme d’interruption
2. Sauvegarde le contexte du programme courant
3. Détermination du niveau de l’interruption
4. Masquage des niveaux les moins prioritaires: en positionnant
à « 0 » des bascules du registre masque correspondant aux niveaux
qui doivent être démasqués.
5. Recherche de la cause de l’interruption: les bascules du registre
de mémorisation des causes associé au niveau actif (R.M.C.N.i) sont
testées dans un ordre qui définit la priorité entre les interruptions du
niveau.
SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES
26
1. Désactivation du mécanisme d’interruption
2. Sauvegarde le contexte du programme courant
3. Détermination du niveau de l’interruption
4. Masquage des niveaux les moins prioritaires
5. Recherche de la cause de l’interruption
6. Activation du mécanisme d’interruption: en remettant la
bascule BV à 1 pour autoriser la prise en compte d’interruptions plus
prioritaires
7. Chargement du contexte de programme de traitement de
l’interruption dans l’unité centrale.
8. Traitement effectif de l’interruption.
SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES
27
1. Désactivation du mécanisme d’interruption
2. Sauvegarde le contexte du programme courant
3. Détermination du niveau de l’interruption
4. Masquage des niveaux les moins prioritaires
5. Recherche de la cause de l’interruption
6. Activation du mécanisme d’interruption
7. Chargement du contexte de traitement de l’interruption.
8. Traitement effectif de l’interruption.
9. Acquittement de l’interruption: un accusé de réception est
adressé au périphérique source de l’interruption.
10. Désactivation du système d’interruption (remise à « 0 » de BV)
SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES
28
1. Désactivation du mécanisme d’interruption
2. Sauvegarde le contexte du programme courant
3. Détermination du niveau de l’interruption
4. Masquage des niveaux les moins prioritaires
5. Recherche de la cause de l’interruption
6. Activation du mécanisme d’interruption
7. Chargement du contexte de traitement de l’interruption.
8. Traitement effectif de l’interruption.
9. Acquittement de l’interruption.
10. Désactivation du système d’interruption
11. Exécution de l’instruction de retour. Cette instruction a pour
effet de restaurer le contenu des registres sauvegardés et de
réactiver le système d’interruption.
SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES
29
 Soit une machine disposant d’un système d’interruption hiérarchisé.
Ce système permet de recevoir 20 causes d’interruptions réparties sur
4 niveaux comme suit:
EXERCICE 1
Niveau Cause Interruption
0 0 Panne de courant
1 IT contrôleur E/S
2, 3 Non utilisées
1 4 Non utilisée
5 à 7 IT contrôleur E/S
2 8 Non utilisée
9 à11 IT temps réel
3 12 à15 IT externe
16 à 19 Non utilisées
Ce système permet de valide
ou d’invalider le système IT,
masquer un niveau et inhiber
une cause.
Questions:
1. Faire le schéma détaillé du
système IT en précisant dessus
le contenu des principaux
registres de démarrage
30
EXERCICE 1
Temps Programme Durée
T Le système est libre
T + 5 Exécution d’un programme de
niveau 3
20
T+10 IT de niveau 2 cause 9 10
T+12 IT de niveau 2 cause 11 8
T+15 IT de niveau 1 cause 5 5
2. Soit la séquence d’exécution suivante :
A. Faire un schéma complet de la séquence jusqu’à l’exécution de tous
les programme (numéroter chaque instant important)
B. Indiquer le contenu de la pile et du registre masque à chaque instant
31
 Soit une machine disposant d’un système d’interruption hiérarchisé.
Ce système permet de recevoir 12 causes d’interruptions réparties sur
4 niveaux comme suit:
EXERCICE 2
Niveau Cause Interruption
0 0 Panne de courant
1 Inhibée
1 2 IT contrôleur E/S
3 Inhibée
4 IT matériel
5 IT contrôleur E/S
2 6 et 7 IT contrôleur E/S
3 8 IT contrôleur E/S
9 IT matériel
10 IT contrôleur E/S
11 Inhibée
Ce système permet de valide
ou d’invalider le système IT,
masquer un niveau et inhiber
une cause.
Questions:
1. Faire le schéma détaillé du
système IT en précisant dessus
le contenu des principaux
registres de démarrage
32
EXERCICE 2
2. Soit la séquence d’exécution suivante :
A. Faire un schéma complet de la séquence jusqu’à l’exécution de tous
les programme (numéroter chaque instant important)
B. Indiquer le contenu de la pile et du registre masque à chaque instant
Temps Programme Durée
T Le système est libre
T + 5 Exécution d’un programme de
niveau 3
20
T+10 IT de niveau 2 cause 6 10
T+12 IT de niveau 1 cause 4 8
T+15 IT de niveau 1 cause 7 5
33
 Le microprocesseur 8086 peut gérer jusqu’à 256
interruptions:
 Les interruptions matérielles sont produites par
l’activation des lignes INTR et NMI du processeur;
 Les interruptions logicielles sont produites par
l’instruction INT n, où n est le type de l’interruption ;
 Les déroutements sont générées par le processeur.
SYSTÈME DES INTERRUPTIONS DU 8086
34
 Il possèdent trois bornes pour gérer les interruptions
matérielles :
 NMI est utilisée pour envoyer au processeur une interruption non
masquable (NMI, Non Maskable Interrupt). Le processeur ne peut
pas ignorer ce signal, et va la traiter immédiatement. Ce signal est
normalement utilisé pour détecter des erreurs matérielles (mémoire
principale défaillante par exemple)
 INTR (Interrupt Request), est utilisée pour indiquer l’arrivée
masquable.
SYSTÈME DES INTERRUPTIONS DU 8086
8086
35
 Il possèdent trois bornes pour gérer les interruptions
matérielles :
 NMI (Non Maskable Interrupt).
 INTR (Interrupt Request)
 INTA (Interrupt Acknowledge) si la demande d’interruption reçue
sur INTR est acceptée, le processeur envoi l’acquittement
(confirmation d’acceptation) de cette demande d’interruption sur cette
ligne en injectant un 0). Cela permet aux périphériques de savoir si
leur demande d’interruption à été acceptée ou non par le processeur.
SYSTÈME DES INTERRUPTIONS DU 8086
8086
36
 A un instant donné, les interruptions INTR sont soit
masquées soit autorisées, suivant l’état de l’indicateur IF
(Interrupt Flag) du registre d’état:
 Si IF = 1, le processeur accepte les demandes
d’interruptions INTR, c’est à dire qu’il les traite
immédiatement ;
 Si IF = 0, le processeur ignore ces interruptions.
SYSTÈME DES INTERRUPTIONS DU 8086
37
 L’ordinateur est relié a plusieurs périphériques, alors qu’il
n’y avait qu’un seul signal de demande d’interruption,
INTR.
 Le contrôleur d’interruptions (PIC, pour Programmable
Interruption Controler) est un circuit spécial, extérieur
au processeur, dont le rôle est de distribuer et de mettre en
attente les demandes d’interruptions provenant des
différents périphériques.
SYSTÈME DES INTERRUPTIONS DU 8086
8086
38
 Le contrôleur d’interruptions (PIC) est relié aux interfaces gérant les
périphériques par les bornes IRQ (InteRrupt reQuest).
 Il gère les demandes d’interruption envoyées par les
périphériques, de façon à les envoyer une par une au processeur
(via INTR).
 Il est possible de programmer le contrôleur pour affecter des
priorités différentes à chaque périphérique.
 Avant d’envoyer l’interruption suivante, le contrôleur attend
d’avoir reçu le signal INTA, indiquant que le processeur a bien
traité l’interruption en cours.
SYSTÈME DES INTERRUPTIONS DU 8086
8086
39
 Déroulement d’une interruption externe masquable:
 Un signal INT est émis par un périphérique (ou plutôt par
l’interface gérant celui-ci).
 Le contrôleur d’interruptions reçoit ce signal sur une de ses
bornes IRQi. Dès que cela est possible (suivant les autres
interruptions en attente de traitement), le contrôleur envoie un
signal sur sa borne INT.
SYSTÈME DES INTERRUPTIONS DU 8086
8086
40
 Déroulement d’une interruption externe masquable:
 Le processeur prend en compte le signal sur sa borne INTR après
avoir achevé l’exécution de l’instruction en cours (ce qui peut
prendre quelques cycles d’horloge). Si l’indicateur IF=0, le signal
est ignoré, sinon, la demande d’interruption est acceptée.
 Si la demande est acceptée, le MPU met sa sortie INTA au
niveau 0 pendant 2 cycles d’horloge, pour indiquer au contrôleur
qu’il prend en compte sa demande.
SYSTÈME DES INTERRUPTIONS DU 8086
8086IF
41
 Déroulement d’une interruption externe masquable:
 En réponse, le contrôleur d’interruption place le numéro de
l’interruption associé à la borne IRQi sur le bus de données.
 Le processeur lit le numéro de l’interruption sur le bus de
données et l’utilise pour trouver le vecteur d’interruption.
Ensuite:
 sauvegarde les indicateurs du registre d’état sur la pile ;
 met l’indicateur IF à 0 (masque les interruptions suivantes) ;
 sauvegarde CS et IP sur la pile ;
 cherche dans la table des vecteurs d’interruptions l’adresse du traitant
d’interruption, qu’il charge dans CS:IP.
SYSTÈME DES INTERRUPTIONS DU 8086
8086
42
 Déroulement d’une interruption externe masquable:
 La procédure traitant l’interruption se déroule. Pendant ce
temps, les interruptions sont masquées (IF=0). Si le traitement
est long, on peut dans certains cas ré-autoriser les interruptions
avec l’instruction STI (positionner IF à 1).
 La procédure se termine par l’instruction IRET, qui restaure CS,
IP et les indicateurs à partir de la pile, ce qui permet de
reprendre le programme qui avait été interrompu.
SYSTÈME DES INTERRUPTIONS DU 8086
SOURCES DE CE COURS
 Si Larabi Khelifati et Mouloud Koudil, Structure des ordinateurs, 2000.
 Mourad Loukam, Chapitre V : Gestion Des Entrees/Sorties Physiques,
disponible sur www.loukam.net/2LMD_Chap5.pdf‎
 Eric Magarotto, Cours d'Informatique Industrielle, 2006, Disponible sur
www.greyc.ensicaen.fr/˜emagarot/COURS.html
 Mohamed Feredj; Cours Architecture des ordinateurs (Archi II) ,
INTERRUPTIONS, 2011.
 Emmanuel Viennet, Architecture des ordinateurs, 2000, disponible sur
www.insea.ma/download/coursarchi.pdf‎
43

Más contenido relacionado

La actualidad más candente

Chapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busChapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busSana Aroussi
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsSana Aroussi
 
Chapitre i introduction et motivations
Chapitre i introduction et motivationsChapitre i introduction et motivations
Chapitre i introduction et motivationsSana Aroussi
 
Chapitre ii mémoires
Chapitre ii mémoiresChapitre ii mémoires
Chapitre ii mémoiresSana Aroussi
 
Systeme embarque td1
Systeme embarque td1Systeme embarque td1
Systeme embarque td1SinGuy
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseurPeronnin Eric
 
Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le MicroprocesseurTheCrazyMan
 
Conception avec pic
Conception avec pic Conception avec pic
Conception avec pic nawzat
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseurISIG
 
Curriculum informatique 2ème année Septembre 2019
Curriculum informatique 2ème année Septembre 2019Curriculum informatique 2ème année Septembre 2019
Curriculum informatique 2ème année Septembre 2019Amine Ellouze
 
Notes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdf
Notes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdfNotes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdf
Notes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdfIMADABOUDRAR1
 
Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptMahdiHERMASSI1
 
Architecture du microprocesseur
Architecture du microprocesseurArchitecture du microprocesseur
Architecture du microprocesseurOndernemersschool
 
cour PIC16F877.pptx
cour PIC16F877.pptxcour PIC16F877.pptx
cour PIC16F877.pptxKamalZeghdar
 
Systèmes d'Exploitation - chp5-gestion fichiers
Systèmes d'Exploitation - chp5-gestion fichiersSystèmes d'Exploitation - chp5-gestion fichiers
Systèmes d'Exploitation - chp5-gestion fichiersLilia Sfaxi
 
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours  systèmes temps réel partie 2 Prof. Khalifa MANSOURICours  systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURIMansouri Khalifa
 

La actualidad más candente (20)

Chapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busChapitre iv entrées sorties et bus
Chapitre iv entrées sorties et bus
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récents
 
Chapitre i introduction et motivations
Chapitre i introduction et motivationsChapitre i introduction et motivations
Chapitre i introduction et motivations
 
Chapitre ii mémoires
Chapitre ii mémoiresChapitre ii mémoires
Chapitre ii mémoires
 
Systeme embarque td1
Systeme embarque td1Systeme embarque td1
Systeme embarque td1
 
Formation stm32
Formation stm32Formation stm32
Formation stm32
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseur
 
Exposé Le Microprocesseur
Exposé   Le MicroprocesseurExposé   Le Microprocesseur
Exposé Le Microprocesseur
 
Conception avec pic
Conception avec pic Conception avec pic
Conception avec pic
 
Microcontroleurs
MicrocontroleursMicrocontroleurs
Microcontroleurs
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseur
 
Curriculum informatique 2ème année Septembre 2019
Curriculum informatique 2ème année Septembre 2019Curriculum informatique 2ème année Septembre 2019
Curriculum informatique 2ème année Septembre 2019
 
Notes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdf
Notes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdfNotes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdf
Notes de cours sur le microcontrôleur PIC16F84 BADR DIDOUH FSTF.pdf
 
Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).ppt
 
Les composants de l'ordinateur
Les composants de l'ordinateurLes composants de l'ordinateur
Les composants de l'ordinateur
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Architecture du microprocesseur
Architecture du microprocesseurArchitecture du microprocesseur
Architecture du microprocesseur
 
cour PIC16F877.pptx
cour PIC16F877.pptxcour PIC16F877.pptx
cour PIC16F877.pptx
 
Systèmes d'Exploitation - chp5-gestion fichiers
Systèmes d'Exploitation - chp5-gestion fichiersSystèmes d'Exploitation - chp5-gestion fichiers
Systèmes d'Exploitation - chp5-gestion fichiers
 
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours  systèmes temps réel partie 2 Prof. Khalifa MANSOURICours  systèmes temps réel partie 2 Prof. Khalifa MANSOURI
Cours systèmes temps réel partie 2 Prof. Khalifa MANSOURI
 

Destacado

Le Micro Processeur
Le Micro ProcesseurLe Micro Processeur
Le Micro Processeurrazman
 
Chapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesChapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesSana Aroussi
 
Architecture du microprocesseur
Architecture du microprocesseurArchitecture du microprocesseur
Architecture du microprocesseurOndernemersschool
 
569036 bases-de-traitement-du-signal
569036 bases-de-traitement-du-signal569036 bases-de-traitement-du-signal
569036 bases-de-traitement-du-signalOussema Ben Khlifa
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivitéSana Aroussi
 
Traitement de signal -chapitre 1
Traitement de signal -chapitre 1Traitement de signal -chapitre 1
Traitement de signal -chapitre 1Samir Tabib
 
Book archi belle
Book archi belleBook archi belle
Book archi bellevbelle
 
Migration Exchange vers O365 – Challenges et Solutions
Migration Exchange vers O365 – Challenges et Solutions Migration Exchange vers O365 – Challenges et Solutions
Migration Exchange vers O365 – Challenges et Solutions Microsoft Décideurs IT
 
Las redes sociales
Las redes socialesLas redes sociales
Las redes socialesKarlaacc
 
Aparato locomotor erika
Aparato locomotor erikaAparato locomotor erika
Aparato locomotor erikaErikaHorcajo
 
Tutoriales
TutorialesTutoriales
TutorialesJceraso
 
TABLE DE DÉCOUPE MCV - stations et découpoirs
TABLE DE DÉCOUPE MCV - stations et découpoirsTABLE DE DÉCOUPE MCV - stations et découpoirs
TABLE DE DÉCOUPE MCV - stations et découpoirsFerneto
 

Destacado (20)

Le Micro Processeur
Le Micro ProcesseurLe Micro Processeur
Le Micro Processeur
 
Chapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiquesChapitre 4 heuristiques et méta heuristiques
Chapitre 4 heuristiques et méta heuristiques
 
Chapitre 1 rappel
Chapitre 1   rappelChapitre 1   rappel
Chapitre 1 rappel
 
Architecture du microprocesseur
Architecture du microprocesseurArchitecture du microprocesseur
Architecture du microprocesseur
 
569036 bases-de-traitement-du-signal
569036 bases-de-traitement-du-signal569036 bases-de-traitement-du-signal
569036 bases-de-traitement-du-signal
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
Traitement de signal -chapitre 1
Traitement de signal -chapitre 1Traitement de signal -chapitre 1
Traitement de signal -chapitre 1
 
Aplicaciones web 2
Aplicaciones web 2Aplicaciones web 2
Aplicaciones web 2
 
Rss
RssRss
Rss
 
Bulletin de veille 11docx
Bulletin de veille 11docxBulletin de veille 11docx
Bulletin de veille 11docx
 
Book archi belle
Book archi belleBook archi belle
Book archi belle
 
Livre blanc cloud economics
Livre blanc cloud economicsLivre blanc cloud economics
Livre blanc cloud economics
 
Migration Exchange vers O365 – Challenges et Solutions
Migration Exchange vers O365 – Challenges et Solutions Migration Exchange vers O365 – Challenges et Solutions
Migration Exchange vers O365 – Challenges et Solutions
 
Las redes sociales
Las redes socialesLas redes sociales
Las redes sociales
 
Slideshare
SlideshareSlideshare
Slideshare
 
Examen final c1 v
Examen final c1   vExamen final c1   v
Examen final c1 v
 
Aparato locomotor erika
Aparato locomotor erikaAparato locomotor erika
Aparato locomotor erika
 
Tutoriales
TutorialesTutoriales
Tutoriales
 
Tic grupal
Tic grupalTic grupal
Tic grupal
 
TABLE DE DÉCOUPE MCV - stations et découpoirs
TABLE DE DÉCOUPE MCV - stations et découpoirsTABLE DE DÉCOUPE MCV - stations et découpoirs
TABLE DE DÉCOUPE MCV - stations et découpoirs
 

Similar a Chapitre iii interruptions

8.lesinterruptions
8.lesinterruptions8.lesinterruptions
8.lesinterruptionsahmedyes
 
Chapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptxChapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptxFazaTabbana1
 
pres_chapter5 (5).pptx
pres_chapter5 (5).pptxpres_chapter5 (5).pptx
pres_chapter5 (5).pptxAbdo Brahmi
 
Ordonnancement exercices
Ordonnancement exercicesOrdonnancement exercices
Ordonnancement exercicesSelman Dridi
 
Db aing td2v1
Db aing td2v1Db aing td2v1
Db aing td2v1infcom
 
Ch8 architecture
Ch8 architectureCh8 architecture
Ch8 architecturemickel iron
 
ch8_architecture.ppt
ch8_architecture.pptch8_architecture.ppt
ch8_architecture.pptamine17157
 
a_introduction ElectroniqueDesSysEmbarqués.pdf
a_introduction ElectroniqueDesSysEmbarqués.pdfa_introduction ElectroniqueDesSysEmbarqués.pdf
a_introduction ElectroniqueDesSysEmbarqués.pdfAnasAsran1
 
Trabajo en frances
Trabajo  en francesTrabajo  en frances
Trabajo en francesjt527
 
Carte mere-abit-bh6
Carte mere-abit-bh6Carte mere-abit-bh6
Carte mere-abit-bh62cvfanatic
 
Préparation des actions de maintenance corrective (www.livre-technique.com)
Préparation des actions de maintenance corrective (www.livre-technique.com)Préparation des actions de maintenance corrective (www.livre-technique.com)
Préparation des actions de maintenance corrective (www.livre-technique.com)Livre Technique
 
Arduino cottenceau1112
Arduino cottenceau1112Arduino cottenceau1112
Arduino cottenceau1112Hafid Moujane
 
Microcontroller/microcontroleur/pic.pptx
Microcontroller/microcontroleur/pic.pptxMicrocontroller/microcontroleur/pic.pptx
Microcontroller/microcontroleur/pic.pptxSABIR Hamza
 

Similar a Chapitre iii interruptions (20)

8.lesinterruptions
8.lesinterruptions8.lesinterruptions
8.lesinterruptions
 
Chapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptxChapitre 05 architecture microprocesseur (2).pptx
Chapitre 05 architecture microprocesseur (2).pptx
 
La gestion des processus
La gestion des processusLa gestion des processus
La gestion des processus
 
pres_chapter5 (5).pptx
pres_chapter5 (5).pptxpres_chapter5 (5).pptx
pres_chapter5 (5).pptx
 
Ordonnancement exercices
Ordonnancement exercicesOrdonnancement exercices
Ordonnancement exercices
 
Db aing td2v1
Db aing td2v1Db aing td2v1
Db aing td2v1
 
SYSTEMES D EXPLOITATION
SYSTEMES D EXPLOITATIONSYSTEMES D EXPLOITATION
SYSTEMES D EXPLOITATION
 
Ch8 architecture
Ch8 architectureCh8 architecture
Ch8 architecture
 
ch8_architecture.ppt
ch8_architecture.pptch8_architecture.ppt
ch8_architecture.ppt
 
a_introduction ElectroniqueDesSysEmbarqués.pdf
a_introduction ElectroniqueDesSysEmbarqués.pdfa_introduction ElectroniqueDesSysEmbarqués.pdf
a_introduction ElectroniqueDesSysEmbarqués.pdf
 
Ch11
Ch11Ch11
Ch11
 
Chapitre 4 Linux
Chapitre 4 LinuxChapitre 4 Linux
Chapitre 4 Linux
 
ch2 microproc.pdf
ch2 microproc.pdfch2 microproc.pdf
ch2 microproc.pdf
 
Trabajo en frances
Trabajo  en francesTrabajo  en frances
Trabajo en frances
 
Carte mere-abit-bh6
Carte mere-abit-bh6Carte mere-abit-bh6
Carte mere-abit-bh6
 
Préparation des actions de maintenance corrective (www.livre-technique.com)
Préparation des actions de maintenance corrective (www.livre-technique.com)Préparation des actions de maintenance corrective (www.livre-technique.com)
Préparation des actions de maintenance corrective (www.livre-technique.com)
 
trigger.pdf
trigger.pdftrigger.pdf
trigger.pdf
 
trigger.pptx
trigger.pptxtrigger.pptx
trigger.pptx
 
Arduino cottenceau1112
Arduino cottenceau1112Arduino cottenceau1112
Arduino cottenceau1112
 
Microcontroller/microcontroleur/pic.pptx
Microcontroller/microcontroleur/pic.pptxMicrocontroller/microcontroleur/pic.pptx
Microcontroller/microcontroleur/pic.pptx
 

Más de Sana Aroussi

Gestion des threads
Gestion des threadsGestion des threads
Gestion des threadsSana Aroussi
 
Chapitre 2 plus court chemin
Chapitre 2 plus court cheminChapitre 2 plus court chemin
Chapitre 2 plus court cheminSana Aroussi
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheSana Aroussi
 
Chapitre 5 arbres binaires
Chapitre 5 arbres binairesChapitre 5 arbres binaires
Chapitre 5 arbres binairesSana Aroussi
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétudeSana Aroussi
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminSana Aroussi
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheSana Aroussi
 
Chapitre 6 hachage statique
Chapitre 6 hachage statiqueChapitre 6 hachage statique
Chapitre 6 hachage statiqueSana Aroussi
 
Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)Sana Aroussi
 
Chapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesChapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesSana Aroussi
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexitéSana Aroussi
 
Chapitre vi np complétude
Chapitre vi np complétudeChapitre vi np complétude
Chapitre vi np complétudeSana Aroussi
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsSana Aroussi
 
Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de triSana Aroussi
 
Chapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régnerChapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régnerSana Aroussi
 
Chapitre ii complexité et optimalité
Chapitre ii complexité et optimalitéChapitre ii complexité et optimalité
Chapitre ii complexité et optimalitéSana Aroussi
 
Chapitre iii circuits séquentiels
Chapitre iii circuits séquentielsChapitre iii circuits séquentiels
Chapitre iii circuits séquentielsSana Aroussi
 

Más de Sana Aroussi (19)

Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Gestion des threads
Gestion des threadsGestion des threads
Gestion des threads
 
Chapitre 2 plus court chemin
Chapitre 2 plus court cheminChapitre 2 plus court chemin
Chapitre 2 plus court chemin
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de recherche
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chapitre 5 arbres binaires
Chapitre 5 arbres binairesChapitre 5 arbres binaires
Chapitre 5 arbres binaires
 
Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court chemin
 
Chapitre 1 arbres de recherche
Chapitre 1 arbres de rechercheChapitre 1 arbres de recherche
Chapitre 1 arbres de recherche
 
Chapitre 6 hachage statique
Chapitre 6 hachage statiqueChapitre 6 hachage statique
Chapitre 6 hachage statique
 
Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)
 
Chapitre 3 structures séquentielles
Chapitre 3 structures séquentiellesChapitre 3 structures séquentielles
Chapitre 3 structures séquentielles
 
Chapitre 2 complexité
Chapitre 2 complexitéChapitre 2 complexité
Chapitre 2 complexité
 
Chapitre vi np complétude
Chapitre vi np complétudeChapitre vi np complétude
Chapitre vi np complétude
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutons
 
Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de tri
 
Chapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régnerChapitre iii récursivité et paradigme diviser pour régner
Chapitre iii récursivité et paradigme diviser pour régner
 
Chapitre ii complexité et optimalité
Chapitre ii complexité et optimalitéChapitre ii complexité et optimalité
Chapitre ii complexité et optimalité
 
Chapitre iii circuits séquentiels
Chapitre iii circuits séquentielsChapitre iii circuits séquentiels
Chapitre iii circuits séquentiels
 

Chapitre iii interruptions

  • 1. CHAPITRE III: INTERRUPTIONS Université Saad Dahlab de Blida Faculté des Sciences Département d’Informatique Licence Génie des Systèmes Informatiques (GSI) Semestre 4 (2ème année) S. AROUSSI Disponible sur https://sites.google.com/a/esi.dz/s-aroussi/
  • 2. PLAN DU CHAPITRE III  Introduction  Définition d’une interruption  Déroulement d’une routine d’interruption  Types d’interruptions  Registre d’interruption  Détection d’une interruption  Contexte du processus  Recherche de la cause d’une interruption  Systèmes d’interruptions hiérarchisées  Système des interruptions du 8086 2
  • 3. 3  Sur une machine monoprocesseur, un seul programme (ou processus) est exécuté à la fois.  Une autre composante peut demander à l’interrompre pour faire temporairement autre chose. Par exemple:  Périphérique : un paquet réseau arrive, la souris a bougé  Gestion erreur : erreur arithmétique, instruction invalide  Il faut donc introduire un mécanisme matériel qui indique au processeur d’arrêter le traitement courant. Ce mécanisme s’appelle une interruption. INTRODUCTION
  • 4. 4  Une interruption est un mécanisme qui permet d'interrompre l'exécution d'un processus suite à un événement extérieur ou intérieur et de passer le contrôle à une routine dite "routine d'interruption" ou traitement d’interruption.  Le système d'interruption est un dispositif, incorporé au niveau du séquenceur, qui enregistre et traite les signaux d'interruption envoyés au processeur : 1. Arrêter le processus en cours ; 2. Sauvegarder le contexte du processus interrompu; 3. Exécuter le programme de routine d'interruption ; 4. Restaurer le contexte du processus interrompu; 5. Reprendre l'exécution du processus interrompu. DÉFINITION DE L’INTERRUPTION
  • 5. 5  Donc, lorsque l'interruption se produit le processeur, après la fin de l'exécution de l'instruction en cours, transfère le contrôle à la routine d'interruption associée à l'événement.  La routine d’interruption fait d’abord une sauvegarde du contexte du processus interrompu avant de réaliser son traitement.  A la fin de celui-ci l, le contexte du processus interrompu est restauré ce qui lui permet de continuer son exécution convenablement à l’endroit où il a été interrompu. DÉROULEMENT D’UNE ROUTINE D’INTERRUPTION
  • 7. 7  Les interruptions peuvent d’être d’origines diverses, mais on les classe généralement en trois grands types :  Interruptions matérielles: prévient le processeur d’événements externes (top Horloge, touche clavier pressée, etc).  Interruptions logicielles: est déclenchée suite à l’exécution d’une instruction d’appel d’une interruption système ou utilisateur (instruction INT en assembleur 8086; instruction read en pascal, etc)  Déroutement (ou exception): suite à une erreur interne du processeur (débordement, division par zéro, etc) TYPES D’INTERRUPTIONS
  • 8. 8  Le système d’interruption de IBM peut avoir 256 interruptions:  Les interruptions logicielles regroupent des instructions spécifiques qui permettent d'appeler des fonctions du BIOS ou du système d'exploitation.  Les déroutements sont au nombre de 6 et concernent :  La division par zéro  Le fonctionnement pas à pas (une interruption est générée à chaque instruction)  Les problèmes pouvant apparaître lors de l'accès à la mémoire (défaut de page, par exemple)  L'atteinte d'un point d'arrêt  Le débordement numérique  La non reconnaissance d'une instruction TYPES D’INTERRUPTIONS (EXEMPLE)
  • 9. 9  Les interruptions matérielles sont au nombre de 16. Elles sont baptisées IRQ 0 à 15 (IRQ: Interrupt ReQuest). Certaines sont pré-affectées, mais beaucoup d'entre elles ne sont affectées à des événements périphériques que lors de la configuration de la machine. TYPES D’INTERRUPTIONS (EXEMPLE)
  • 10. 10  A chaque cause d’interruption, on associe un indicateur (un bit ou une bascule) : cela forme le registre d’interruption. REGISTRE D’INTERRUPTION 1 0 0 1 ….. 0 Interruption 1 Interruption 2 Interruption 3 Interruption 4 Interruption 5 Registre d’interruption
  • 11. 11  Supposant que le CPU possède une seule entrée interruption sur laquelle sont reçues les interruptions.  Pour détecter la présence d’une interruption, le CPU teste, à la fin de chaque instruction, l’état de la Bascule d’Interruption (BI):  Si BI est à « 1 », CPU remet à « 0 » la Bascule de Validation (BV) pour interdire à une autre interruption de venir la suspendre. DÉTECTION D’UNE INTERRUPTION 1 0 ….. 0 BI BV Registre d’Interrupt CPU
  • 12. 12  Lorsqu’une interruption est détectée, CPU procède aux opérations suivantes: 1. Sauvegarde le contexte du processus interrompu; 2. Recherche la cause de l’interruption 3. Exécution du programme de traitement de l'interruption ; 4. Restauration du contexte du processus interrompu; 5. Retour au programme interrompu avec revalidation du système d’interruption (remettre BV à 1). DÉTECTION D’UNE INTERRUPTION
  • 13. 13  Toutes les informations qui permettront à CPU de reprendre l’exécution du programme interrompu sont sauvegardés lorsqu’une une interruption est détectée.  Ces informations sont:  L’adresse de la prochaine instruction à exécuter, contenue dans le compteur ordinal (CO)  Les indications sur l’état du CPU au moment de l’interruption données par le registre d’état (ou flags)  Les opérandes et les résultats intermédiaires contenus dans les registres généraux.  Ces informations représente l’état ou le contexte du programme interrompu. CONTEXTE DU PROCESSUS
  • 14. 14  Un mot d’état programme (Program Status Word ou PSW) regroupe l’adresse de la prochaine instruction (CO) et les bits de flag.  Lorsque le traitement de l’interruption est terminé, le contexte du programme est restauré. Autrement dit, les informations sauvegardées sont chargés dans leurs registres respectifs CONTEXTE DU PROCESSUS
  • 15. 15  A chaque interruption est associée l’adresse de la routine d’interruption correspondante dans une table appelée vecteur d’interruptions. VECTORISATION DES INTERRUPTIONS
  • 16. 16  Suivant l’architecture d’Intel 8086, les interruptions sont classées dans un vecteur de 256 entrées:  Chaque entrée occupe 4 octets et contient l’@ du programme associé à l’interruption : IP puis CS.  Ce vecteur est placé dans la Mémoire Centrale à l’@ 00H et termine à l’@ 3FFH. VECTORISATION DES INTERRUPTIONS (EXEMPLE)
  • 17. 17  Le vecteur d’interruptions regroupe 3 catégories d’interruptions : VECTORISATION DES INTERRUPTIONS (EXEMPLE) 1. Interruptions réservées par Intel (matérielles et déroutements), à savoir, l’int 0, int 1, etc. 2. Interruptions réservées par le système d’exploitation, à savoir l’INT print screen, INT timer, etc. 3. Interruption réservées à l’utilisateur afin qu’il puisse définir ses propres interruptions suivant ses besoins.
  • 18. 18  Lors de l'occurrence d'une interruption, le processeur cherche la cause de l’interruption. Il reçoit alors un index qui pointe dans le vecteur d’interruptions.  Cet index est  généré par le processeur dans le cas des déroutements  fourni par un circuit de la carte mère appelé contrôleur d'interruption dans le cas d'une interruption matérielle  fourni par l'instruction dans le cas d'une interruption logicielle.  Au vu de cet index, le processeur accède à l'entrée correspondante de la table d'interruption. RECHERCHE DE LA CAUSE D’INTERRUPTION
  • 19. 19  Dans système d'interruptions hiérarchisées, on associe aussi à chaque interruption, une priorité qui permet de regrouper les interruptions en classes ou niveaux.  Chaque niveau est caractérisée par un degré d'urgence d'exécution de son programme d'interruption.  Règle : Une interruption de niveau i est plus prioritaire qu'une interruption de niveau j si i  j.  L'intérêt d’un tel système est la solution de problèmes tels que :  arrivée de plusieurs d'interruption pendant l'exécution d'une instruction,  arrivée d'une d'interruption pendant l'exécution du traitement d'une interruption précédente SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES
  • 20. 20  Masquer et démasquer une interruption:  Certaines interruptions présentent tellement d'importance qu'il ne doit pas être possible d'interrompre leur traitement. On masquera alors les autres interruptions pour empêcher leur prise en compte.  Certaines interruptions sont non-masquables : on les prend obligatoirement en compte.  Une interruption masquée n'est pas ignorée : elle est prise en compte dès qu'elle est démasquée.  Armer et Désarmer une interruption:  Au contraire, une interruption peut être désarmée ou inhibée: elle sera ignorée et donc perdue.  Par défaut, les interruptions sont évidemment armées. SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES
  • 21. 21  Un système d’interruptions hiérarchisées comporte les éléments suivants: SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES  R.M.N: Registre de Mémorisation des Niveaux  R.M.C.N.i: Registre de Mémorisation des Causes du Niveau i  R.I.N.i: Registre d’Inhibition de Niveau i Exemple: Système d’interruptions à 4 niveaux
  • 22. 22  Un système d’interruptions hiérarchisées comporte les éléments suivants:  Des registres d’inhibition(R.I.N.i) : à chaque niveau est associé un registre d’inhibition dans lequel une bascule est réservée pour chacune des causes de niveau  Un registre masque (R.M.N): à chaque niveau est associée une bascule dans ce registre. Masquer un niveau d’interruptions revient à le bloquer momentanément. Une interruption qui pourrait survenir alors que son niveau est masqué ne peut pas être immédiatement prise en compte, mais elle est mémorisée. Elle est prise en compte dés que son niveau est démasqué par une interruption appartement à u niveau non masqué. SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES
  • 23. 23  Un système d’interruptions hiérarchisées comporte les éléments suivants:  Des registres d’inhibition (R.I.N.i)  Un registre masque (R.M.N)  Une bascule de validation (BV): permet de désactiver, lorsqu’elle est à « 0 » tout le système d’interruption. Les interruptions qui arrivent à CPU lorsque BV est à « 0 », ne sont pas perdues puisqu’elles sont mémorisées.  Une bascule d’Interruption (BI): qui indique la présence d’une interruption. SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES
  • 24. 24  Lorsqu’elle arrive à un point interruptible, l’unité centrale teste l’état de la bascule BI. Si elle est à « 1 », signifiant la présence d’au moins une interruption appartenant à un niveau non masqué, les opérations suivantes sont réalisées: 1. Désactivation du mécanisme d’interruption: la bascule BV est remise à « 0 » 2. Sauvegarde le contexte du programme courant: empiler le PSW et les registres généraux nécessaires. 3. Détermination du niveau de l’interruption: en testant les bascule du registre niveau (R.M.N) dans l’ordre décroissant des priorités. SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES
  • 25. 25 1. Désactivation du mécanisme d’interruption 2. Sauvegarde le contexte du programme courant 3. Détermination du niveau de l’interruption 4. Masquage des niveaux les moins prioritaires: en positionnant à « 0 » des bascules du registre masque correspondant aux niveaux qui doivent être démasqués. 5. Recherche de la cause de l’interruption: les bascules du registre de mémorisation des causes associé au niveau actif (R.M.C.N.i) sont testées dans un ordre qui définit la priorité entre les interruptions du niveau. SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES
  • 26. 26 1. Désactivation du mécanisme d’interruption 2. Sauvegarde le contexte du programme courant 3. Détermination du niveau de l’interruption 4. Masquage des niveaux les moins prioritaires 5. Recherche de la cause de l’interruption 6. Activation du mécanisme d’interruption: en remettant la bascule BV à 1 pour autoriser la prise en compte d’interruptions plus prioritaires 7. Chargement du contexte de programme de traitement de l’interruption dans l’unité centrale. 8. Traitement effectif de l’interruption. SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES
  • 27. 27 1. Désactivation du mécanisme d’interruption 2. Sauvegarde le contexte du programme courant 3. Détermination du niveau de l’interruption 4. Masquage des niveaux les moins prioritaires 5. Recherche de la cause de l’interruption 6. Activation du mécanisme d’interruption 7. Chargement du contexte de traitement de l’interruption. 8. Traitement effectif de l’interruption. 9. Acquittement de l’interruption: un accusé de réception est adressé au périphérique source de l’interruption. 10. Désactivation du système d’interruption (remise à « 0 » de BV) SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES
  • 28. 28 1. Désactivation du mécanisme d’interruption 2. Sauvegarde le contexte du programme courant 3. Détermination du niveau de l’interruption 4. Masquage des niveaux les moins prioritaires 5. Recherche de la cause de l’interruption 6. Activation du mécanisme d’interruption 7. Chargement du contexte de traitement de l’interruption. 8. Traitement effectif de l’interruption. 9. Acquittement de l’interruption. 10. Désactivation du système d’interruption 11. Exécution de l’instruction de retour. Cette instruction a pour effet de restaurer le contenu des registres sauvegardés et de réactiver le système d’interruption. SYSTÈMES D’INTERRUPTIONS HIÉRARCHISÉES
  • 29. 29  Soit une machine disposant d’un système d’interruption hiérarchisé. Ce système permet de recevoir 20 causes d’interruptions réparties sur 4 niveaux comme suit: EXERCICE 1 Niveau Cause Interruption 0 0 Panne de courant 1 IT contrôleur E/S 2, 3 Non utilisées 1 4 Non utilisée 5 à 7 IT contrôleur E/S 2 8 Non utilisée 9 à11 IT temps réel 3 12 à15 IT externe 16 à 19 Non utilisées Ce système permet de valide ou d’invalider le système IT, masquer un niveau et inhiber une cause. Questions: 1. Faire le schéma détaillé du système IT en précisant dessus le contenu des principaux registres de démarrage
  • 30. 30 EXERCICE 1 Temps Programme Durée T Le système est libre T + 5 Exécution d’un programme de niveau 3 20 T+10 IT de niveau 2 cause 9 10 T+12 IT de niveau 2 cause 11 8 T+15 IT de niveau 1 cause 5 5 2. Soit la séquence d’exécution suivante : A. Faire un schéma complet de la séquence jusqu’à l’exécution de tous les programme (numéroter chaque instant important) B. Indiquer le contenu de la pile et du registre masque à chaque instant
  • 31. 31  Soit une machine disposant d’un système d’interruption hiérarchisé. Ce système permet de recevoir 12 causes d’interruptions réparties sur 4 niveaux comme suit: EXERCICE 2 Niveau Cause Interruption 0 0 Panne de courant 1 Inhibée 1 2 IT contrôleur E/S 3 Inhibée 4 IT matériel 5 IT contrôleur E/S 2 6 et 7 IT contrôleur E/S 3 8 IT contrôleur E/S 9 IT matériel 10 IT contrôleur E/S 11 Inhibée Ce système permet de valide ou d’invalider le système IT, masquer un niveau et inhiber une cause. Questions: 1. Faire le schéma détaillé du système IT en précisant dessus le contenu des principaux registres de démarrage
  • 32. 32 EXERCICE 2 2. Soit la séquence d’exécution suivante : A. Faire un schéma complet de la séquence jusqu’à l’exécution de tous les programme (numéroter chaque instant important) B. Indiquer le contenu de la pile et du registre masque à chaque instant Temps Programme Durée T Le système est libre T + 5 Exécution d’un programme de niveau 3 20 T+10 IT de niveau 2 cause 6 10 T+12 IT de niveau 1 cause 4 8 T+15 IT de niveau 1 cause 7 5
  • 33. 33  Le microprocesseur 8086 peut gérer jusqu’à 256 interruptions:  Les interruptions matérielles sont produites par l’activation des lignes INTR et NMI du processeur;  Les interruptions logicielles sont produites par l’instruction INT n, où n est le type de l’interruption ;  Les déroutements sont générées par le processeur. SYSTÈME DES INTERRUPTIONS DU 8086
  • 34. 34  Il possèdent trois bornes pour gérer les interruptions matérielles :  NMI est utilisée pour envoyer au processeur une interruption non masquable (NMI, Non Maskable Interrupt). Le processeur ne peut pas ignorer ce signal, et va la traiter immédiatement. Ce signal est normalement utilisé pour détecter des erreurs matérielles (mémoire principale défaillante par exemple)  INTR (Interrupt Request), est utilisée pour indiquer l’arrivée masquable. SYSTÈME DES INTERRUPTIONS DU 8086 8086
  • 35. 35  Il possèdent trois bornes pour gérer les interruptions matérielles :  NMI (Non Maskable Interrupt).  INTR (Interrupt Request)  INTA (Interrupt Acknowledge) si la demande d’interruption reçue sur INTR est acceptée, le processeur envoi l’acquittement (confirmation d’acceptation) de cette demande d’interruption sur cette ligne en injectant un 0). Cela permet aux périphériques de savoir si leur demande d’interruption à été acceptée ou non par le processeur. SYSTÈME DES INTERRUPTIONS DU 8086 8086
  • 36. 36  A un instant donné, les interruptions INTR sont soit masquées soit autorisées, suivant l’état de l’indicateur IF (Interrupt Flag) du registre d’état:  Si IF = 1, le processeur accepte les demandes d’interruptions INTR, c’est à dire qu’il les traite immédiatement ;  Si IF = 0, le processeur ignore ces interruptions. SYSTÈME DES INTERRUPTIONS DU 8086
  • 37. 37  L’ordinateur est relié a plusieurs périphériques, alors qu’il n’y avait qu’un seul signal de demande d’interruption, INTR.  Le contrôleur d’interruptions (PIC, pour Programmable Interruption Controler) est un circuit spécial, extérieur au processeur, dont le rôle est de distribuer et de mettre en attente les demandes d’interruptions provenant des différents périphériques. SYSTÈME DES INTERRUPTIONS DU 8086 8086
  • 38. 38  Le contrôleur d’interruptions (PIC) est relié aux interfaces gérant les périphériques par les bornes IRQ (InteRrupt reQuest).  Il gère les demandes d’interruption envoyées par les périphériques, de façon à les envoyer une par une au processeur (via INTR).  Il est possible de programmer le contrôleur pour affecter des priorités différentes à chaque périphérique.  Avant d’envoyer l’interruption suivante, le contrôleur attend d’avoir reçu le signal INTA, indiquant que le processeur a bien traité l’interruption en cours. SYSTÈME DES INTERRUPTIONS DU 8086 8086
  • 39. 39  Déroulement d’une interruption externe masquable:  Un signal INT est émis par un périphérique (ou plutôt par l’interface gérant celui-ci).  Le contrôleur d’interruptions reçoit ce signal sur une de ses bornes IRQi. Dès que cela est possible (suivant les autres interruptions en attente de traitement), le contrôleur envoie un signal sur sa borne INT. SYSTÈME DES INTERRUPTIONS DU 8086 8086
  • 40. 40  Déroulement d’une interruption externe masquable:  Le processeur prend en compte le signal sur sa borne INTR après avoir achevé l’exécution de l’instruction en cours (ce qui peut prendre quelques cycles d’horloge). Si l’indicateur IF=0, le signal est ignoré, sinon, la demande d’interruption est acceptée.  Si la demande est acceptée, le MPU met sa sortie INTA au niveau 0 pendant 2 cycles d’horloge, pour indiquer au contrôleur qu’il prend en compte sa demande. SYSTÈME DES INTERRUPTIONS DU 8086 8086IF
  • 41. 41  Déroulement d’une interruption externe masquable:  En réponse, le contrôleur d’interruption place le numéro de l’interruption associé à la borne IRQi sur le bus de données.  Le processeur lit le numéro de l’interruption sur le bus de données et l’utilise pour trouver le vecteur d’interruption. Ensuite:  sauvegarde les indicateurs du registre d’état sur la pile ;  met l’indicateur IF à 0 (masque les interruptions suivantes) ;  sauvegarde CS et IP sur la pile ;  cherche dans la table des vecteurs d’interruptions l’adresse du traitant d’interruption, qu’il charge dans CS:IP. SYSTÈME DES INTERRUPTIONS DU 8086 8086
  • 42. 42  Déroulement d’une interruption externe masquable:  La procédure traitant l’interruption se déroule. Pendant ce temps, les interruptions sont masquées (IF=0). Si le traitement est long, on peut dans certains cas ré-autoriser les interruptions avec l’instruction STI (positionner IF à 1).  La procédure se termine par l’instruction IRET, qui restaure CS, IP et les indicateurs à partir de la pile, ce qui permet de reprendre le programme qui avait été interrompu. SYSTÈME DES INTERRUPTIONS DU 8086
  • 43. SOURCES DE CE COURS  Si Larabi Khelifati et Mouloud Koudil, Structure des ordinateurs, 2000.  Mourad Loukam, Chapitre V : Gestion Des Entrees/Sorties Physiques, disponible sur www.loukam.net/2LMD_Chap5.pdf‎  Eric Magarotto, Cours d'Informatique Industrielle, 2006, Disponible sur www.greyc.ensicaen.fr/˜emagarot/COURS.html  Mohamed Feredj; Cours Architecture des ordinateurs (Archi II) , INTERRUPTIONS, 2011.  Emmanuel Viennet, Architecture des ordinateurs, 2000, disponible sur www.insea.ma/download/coursarchi.pdf‎ 43