Chap4 Interruptions .pdf



Nom original: Chap4-Interruptions.pdfTitre: Chap4-InterruptionsAuteur: Moh

Ce document au format PDF 1.4 a été généré par PDFCreator Version 0.9.8 / GPL Ghostscript 8.64, et a été envoyé sur fichier-pdf.fr le 27/02/2011 à 16:54, depuis l'adresse IP 41.201.x.x. La présente page de téléchargement du fichier a été vue 2237 fois.
Taille du document: 43 Ko (7 pages).
Confidentialité: fichier public


Aperçu du document


Cours Architecture des ordinateurs (Archi II)
INTERRUPTIONS
Resp. Mr Mohamed Feredj – MCA –
Courriel : archiFeredj@gmail.com

Cours Archi II

2

Dr. Mohamed FEREDJ

1) Définition de l’interruption
1. Est un événement non prévu (asynchrone) provoquant la suspension de l’exécution du
programme en cours par le µP pour traiter la cause ayant déclenché dudit événement;
2. Sert à traiter les événements asynchrones ;

2) Une interruption fait quoi ?
1.
2.
3.
4.

Suspend l’exécution du programme en cours ;
Sauvegarde l’état (PSW, CS, et IP) de la machine pour la reprise de l’exécution ;
Exécute la tâche définie pour cette interruption ;
Restaure l’état (PSW, CS et IP) de la machine sauvegardé. Le retour au programme
interrompu se fait par IRET ;
5. Reprend l’exécution du programme interrompu.
Prg. Princ
.
.
.
.
.
.
.
.
.
.
.

ProgInterr
.
.
.
.
.
IRET

3) Types d’interruptions
1. Interruption matérielle (externe) : Elle prévient le µP d’événements externes.
Exemple : Top Horloge (Timer), Touche clavier pressée, etc.
Tout dépend du type de µP, ce type d’interruption est reçu :
- Par le µP 8O86 sur la broche (ligne) INTR ;
- Par d’autres µP sur l’une des broches INT0, INT1 ou INT3.
Dans le module système, ce type est appelé Interruption.
2. Interruption logicielle (interne) : Elle est déclenchée suite à l’exécution d’une
instruction d’appel d’une interruption système.
Exemple : instruction INT ; instruction read (en pascal), etc
Dans le module système, ce type est appelé Appel au Superviseur (SVC).
3. Exception (interne) : Suite à une erreur d’exécution
Exemple : Division par zéro, etc.
Dans le module système, ce type est appelé Déroutement.

Plusieurs causes de déclenchement des interruptions Vectorisation des interruptions
Cours Archi II

3

Dr. Mohamed FEREDJ

4) Vectorisation des interruptions :
Suivant l’architecture d’Intel :
1. Les interruptions sont classées dans une table de 256 entrées (du 00H à 0FFH),
appelée Vecteur d’interruptions.
2. Chaque entrée occupe 4 octets et contient l’@ du programme associé à l’interruption :
IP puis CS.
3. Cette table est placée dans la M.C à l’@ 00H et termine à l’@ 3FFH.
Donc, la structure de la table est
M.C
15
Vect 0
Vect 1

Vect 255

0

IP0
CS0
IP1
CS1
.
.
.
.
.
IP255
CS255

Pour la div / zéro
Pour l’exécution pas à pas

Vect5 pour print screen
Vect8 pour le timer (horloge)
Vect9 pour le clavier

La table d’interruptions regroupe 3 catégories d’interruptions :
1. Interruptions réservées par Intel, à 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.

Cours Archi II

4

Dr. Mohamed FEREDJ

5) Broches de réception des interruptions matérielles:
Le µP 8086 comporte 3 broches pour dialoguer avec les demandeurs d’interruptions
matérielles : INTR, INTA* (* = NOT) et NMI:
INTR

18
INTA*

NMI

17

24

8086

RESET

21

5.1) Broche INTR (INTerrupt Request):
A chaque fois qu’un matériel (périphérique) effectue une demande
d’interruption, INTR passe à l’état actif, c-à-d INTR=1.
Les demandes d’interruption INTR ne sont prises en compte par le µP que si le
flag IF = 1.
5.2) Broche INTA* (INTerrupt Acknowledge):
Si la demande d’interruption reçue sur INTR est acceptée, le µP envoi
l’acquittement (confirmation d’acceptation) de cette demande d’interruption sur la
ligne INTA*, en injectant un 0 (INTA* = 0). Cela permet aux périphériques de savoir
si leur demande d’interruption à été acceptée ou non par le µP.
5.3) Broche NMI (No Maskable Interrupt) :
Cette broche permet de signaler au µP toute défaillance au niveau de la
mémoire centrale ou autres erreurs.
Lorsqu’elle survienne, l’interruption NMI est reçue sur la broche NMI et est
toujours prise en compte (l’état du Flag IF n’a aucun effet sur la broche NMI).
Remarque
IF = 0 n’a aucun effet sur les interruptions logicielles.
5.4) Broche RESET:
Cette broche permet de redémarrer l’ordinateur. Quand cette broche est activée,
le µP effectue les opérations fixes suivantes:
PSW ⇐ 0000h
IP ⇐ 0000h
CS ⇐ FFFFh
DS ⇐ 0000h

Branchement à l’adresse FFFF0h (BIOS)

SS ⇐ 0000h
ES ⇐ 0000h

Cours Archi II

5

Dr. Mohamed FEREDJ

Trace d’exécution suite à un appel d’une interruption :
NOM
· Appel d’interruption

MNEMONIQUE
INT type

TRACE
SP ⇐ SP-2
[SS:SP] ⇐ PSW
SP ⇐ SP-2
[SS:SP] ⇐ CS
SP ⇐ SP-2
[SS:SP] ⇐ IP
IF = TF = 0
IP ⇐ [Type*4]
CS ⇐ [Type*4+2]

Trace d’exécution suite à un retour d’interruption :
NOM
· Retour d’interruption

MNEMONIQUE
IRET

TRACE
IP ⇐ [SS:SP]
SP ⇐ SP+2
CS ⇐ [SS:SP]
SP ⇐ SP+2
PSW ⇐ [SS:SP]
SP ⇐ SP+2

Exemple:
La prochaine instruction dans un programme en cours d’exécution se trouve à l’@
0900 :00A0 et est de la forme INT 8.
Après l’exécution de l’instruction précédant INT 8, l’état de des registres SP, SS et PSW est
le suivant :
SP = 0100H, SS = 0300H, PSW = 0240H
Et l’état de la mémoire est :
ADRESSE
…….
0001EH
00020H
00022H
00024H
……
000A0H
000A2H
000A4H

CONTENUE
…….
0010H
0040H
0100H
0105H
…..
0200H
000EH
0300H

Question :
Déterminer les valeurs de SP, SS, IP et CS, et donner la trace de la pile juste après l’appel de
INT 8 et avant sa fin ?
Cours Archi II

6

Dr. Mohamed FEREDJ

D’après les énoncés de cet exemple, on a CS = 0900H et IP = 00A0H qui sont l’@ physique
de INT 8.
Donc, après l’appel de cette interruption, on doit reprendre l’exécution à partir de l’@ IP
00A2H.
15

PILE

SP=00FAH

00A2H

SP=00FCH

0900H
0240H

SP=00FEH

0

SS=0300H:SP=0100H

Les nouvelles valeurs de CS et IP sont :
IP = (8*4) = (00020H) = 0040H
CS = (8*4) + 2 = (00022H) = 0100H

6) Etapes de traitement d’une interruption matérielle:
Les étapes de traitement d’une interruption matérielle.
1. Un périphérique envoi une demande d’interruption vers le µP à travers
la broche INTR;
2. Si IF = 1, le µP accepte la demande d’interruption par l’activation de la
ligne INTA à la fin de l’instruction en cours;
3. Le numéro N de l’interruption est envoyé au µP à travers le bus de
données;
4. Le contexte de retour (PSW, CS et IP) est sauvegardé dans la pile;
5. Les flags IF et TF du registre PSW sont mis à zéro;
6. Chargement des registres IP et CS à partir de la table des interruptions:
IP [4*N]
CS [4*N+2]
7. Commencement de l’exécution de la routine d’interruption;
8. IRET provoque la restitution des valeurs de IP, CS et PSW se trouvant
dans la pile pour le retour au programme suspendu.

Cours Archi II

7

Dr. Mohamed FEREDJ

BD

BC

B@

CPU








IP

D0-D7



INTR



CS
PSW

INTA



Circuit
Interface
Interrupt

Périph




Mémoire
Programme
interrompue

Tables de V. IT










Cours Archi II

Routine
d’IT

Nouveau IP
Nouveau CS
Ancien IP
Ancien CS
Ancien PSW


IRET



 PILE



8

Dr. Mohamed FEREDJ


Chap4-Interruptions.pdf - page 1/7
 
Chap4-Interruptions.pdf - page 2/7
Chap4-Interruptions.pdf - page 3/7
Chap4-Interruptions.pdf - page 4/7
Chap4-Interruptions.pdf - page 5/7
Chap4-Interruptions.pdf - page 6/7
 




Télécharger le fichier (PDF)


Chap4-Interruptions.pdf (PDF, 43 Ko)

Télécharger
Formats alternatifs: ZIP



Documents similaires


chap4 interruptions
chap6 archiii pic
chap5 ent sort
interrupts
annexe2 pic lotfi
cours10 gif1001 h12

Sur le même sujet..