Professional Documents
Culture Documents
Composant
priphrique
Evnements
APPLICATION
Processeur
Demande
d'interruption
Programme
Systme processeur
David SAINT-MELLION
page 1/9
Interruptions
L'application cre les situations particulires, des vnements, qui demandent un traitement
spcifique. Dans les composants priphriques, les vnements de l'application sont accueillis
et transforms en demande d'interruption au processeur qui lie et excute un programme.
L'initialisation
Des instructions
Les demandes
de la priphrie
Le processeur
Programme IT2
Les erreurs
Evnement
Demande IT
Le processeur associe
un programme particulier
Programme ITn
David SAINT-MELLION
page 2/9
Interruptions
L'association interruption et programme repose sur un adressage indirect. Un vecteur est
ladresse o se trouve ladresse du programme dIT (Voir en annexe la table des vecteurs des
processeurs 68xxx et x86)
Le numro de vecteur pour les interruptions matrielles est une donne qu'il faut fournir au
processeur. Pour les autres interruptions, il est dtermin par le processeur.
Exemple :
Soit une interruption dont le programme
d'IT se situe l'adresse 20000h. Le N de
vecteur est 0.
Programme IT
20000h
20000h
adresse du programme
It N de vecteur 0
Une adresse est code sur 4 octets dans les processeurs 68xxx et x86. Il faut
rserver 4 octets pour stocker ladresse du programme d'IT dans la table des
vecteurs. La relation entre le vecteur et le N de vecteur est :
Vecteur IT = 4x N de vecteur.
David SAINT-MELLION
page 3/9
Interruptions
Processeur
Programme courant
Processeur IT
Contexte
Processeur
Processeur
Pile
@
Processeur
Programme IT
Pile
Contexte
Restituer
Remarques :
Le contexte est constitu, au minimum, par l'adresse de l'instruction suivante et le contenu du
registre d'tat (tat du processeur qui est le rsultat des actions et oprations passes). Il est
laiss l'utilisateur, l'initiative de sauver et de restituer les valeurs contenues dans les autres
registres. Ces oprations sont ralises dans le programme IT.
Chaque processeur dispose d'une instruction "Restituer le contexte".
Le processeur 68xxx utilise l'instruction RTE.
Le processeur x86 utilise l'instruction IRET.
Nous pouvons mesurer l'importance de la mmoire pour le traitement des interruptions. Elle
peut tre dcoupe en 3 parties :
La table des vecteurs zone mmoire o le processeur peut acqurir les adresses des
programmes associs aux diffrentes interruptions. C'est une zone accessible en
lecture (*). Son emplacement est fix par le constructeur du processeur (si elle n'est
pas translatable).
La pile : zone mmoire o le processeur peut sauver le contexte et y prlever les
valeurs pour le restituer. C'est une zone accessible en lecture et criture pour le
processeur. Son emplacement est fix par celui qui exploite le processeur.
David SAINT-MELLION
page 4/9
Interruptions
L'initialisation
Lors de la mise sous tension le processeur doit charger ses. Cette opration peut se raliser
partir d'une interruption. La vectorisation montre comment le processeur peut se lier un
programme. Une interruption est cre, par dtection de la prsence de l'alimentation ou
l'appuie sur un bouton de remise zro. Le processeur dispose d'une borne d'accueil RESET.
Le processeur commence donc son activit par l'excution d'un programme d'interruption. C'est
le cas des 68xxx o le vecteur d'initialisation se situe dans la partie basse de la table des
vecteurs (adresse 0).
Il est important de mettre rapidement jour le registre pointeur de pile dans la phase
d'initialisation qui est une donne fixe par l'environnement du processeur. Pour les
processeurs 68xxx, cette donne fait partie du vecteur d'initialisation. Pour les processeurs
xx86 elle doit s'effectuer par programmation.
L'initialisation d'un processeur x86 est ralise par adressage direct. Le processeur va
l'adresse (@ haute -Fh ) chercher la premire instruction qui est un saut (JMP).
page 5/9
Interruptions
Demande IT
Processeur
Demande Nvecteur
N Vecteur
Evnement
Composant priphrique
Demande IT
Demande IT
Processeur
Demande
N Vecteur
Et
N Vecteur
Controleur d'IT
Evnement
Composant
Priphrique E/S
page 6/9
Interruptions
Demande IT
Composant
Priphrique E/S
Processeur
Demande
Evnement
N Vecteur
N Vecteur (Bus donnes)
N Vecteur
David SAINT-MELLION
page 7/9
Interruptions
IT priph 1
Demande IT
Processeur
Gestion des
priorits
IT priph N
Demande N vecteur
Soit, le cas d'un systme centralis pour grer les N de vecteurs, le contrleur d'IT gre les
priorits.
IT priph 1
Gestion des
priorits
Demande IT
Processeur
IT priph N
Gestion des
N Vecteurs
Demande N de vecteur
Controleur d'IT
Soit, lorsque plusieurs composants partagent une ligne de demande IT IRQ, les composants
sont chans (Day Chaining). Le composant de rang X est transparent pour la demande
d'interruption issue du composant de rang X+1, lorsque lui-mme ne demande pas
d'interruption.
La demande d'interruption du composant qui est tte de la chane est la plus prioritaire.
IRQ1
Demande
vers le processeur
David SAINT-MELLION
IRQN
Periph 1
Periph N
page 8/9
Interruptions
9- IT CONCEPTS
1.
2.
3.
4.
David SAINT-MELLION
page 9/9