0% ont trouvé ce document utile (0 vote)
52 vues6 pages

Comprendre les Interruptions en Informatique

Transféré par

theoneandtheonly
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
52 vues6 pages

Comprendre les Interruptions en Informatique

Transféré par

theoneandtheonly
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Les interruptions

Introduction :

Définition : C’est quoi une interruption ?

C’est un signal lorsqu’ il arrive au CPU ce dernier interrompe l’exécution du programme


principal, et passe à un autre programme approprié à l’interruption.

On distingue principalement trois façons pour la gestion des E/S.

Figure1.La gestion des E/S.

1. La gestion par programme (polling) :

Pendant que le CPU exécute le programme principal, il va lire périodiquement l’état


des périphériques d’entrée et modifie si nécessaire l’état des interfaces de sortie.
Le CPU va sonder (inspecter) l’état de tous les périphériques
Cette opération est périodique et sans arrêt.

2. Gestion par DMA (Accès direct à la mémoire.)


Cette technique est utile lorsque on a un transfert de DATA considérable entre la
mémoire et un périphérique sans l’intermédiaire du CPU.

Exemple :
Grâce à DMA (accès direct à la mémoire), le périphérique réseau peut déplacer les
données de paquets directement dans la mémoire du système, ce qui réduit l'utilisation
du CPU.
Microprocesseur

Entrées Sorties

Mémoire

Figure 2 :Périphérique d’entrée vers la mémoire


et de la mémoire vers une interface de sortie

3. Gestion par interruption


Dans cette méthode c’est le périphérique qui prévient le CPU via une ligne prévue.
Lorsque cette interruption arrive au CPU ce dernier interrompe la tache en cours et fait
un saut vers un autre programme associé à l’interruption.
A la fin de l’interruption le CPU revient au programme interrompu et poursuit
l’exécution de sa tâche principale juste après la dernière instruction.

II ) Interruption matérielle et logicielle :

Interruption Matériel :
Une interruption matérielle se produit lorsque le processeur reçoit un signal électrique
sur une borne spéciale.

Les interruptions pour le CPU 8086 :


Le CPU 8086 possède trois lignes principales d'interruption : INTR, NMI,
et RESET.

Figure 3 : Le CPU et les trois broches pour les interruptions.


L'arrivée d'une demande interruption externe est possible grâce à ces trois entrées.
RESET, INTR et NMI
i) Contrôleur des interruptions :
Il y a plusieurs périphériques connectés au CPU, mais nous venons de constater qu'il n'y
avait qu'un seul signal de demande d'interruption, INTR. Le contrôleur d'interruptions
est un circuit spécial qui ne fait pas partie du processeur et qui sert à distribuer et à
mettre en attente les demandes d'interruptions provenant des différents périphériques.

Figure 4: Le contrôleur d'interruptions


(PIC : Programmable Interruption Controler)

Le PIC communique avec les interfaces gérant les périphériques via les bornes IRQx
(InteRrupt reQuest).
Il assure la gestion des demandes d'arrêt envoyées par les périphériques, afin de les
envoyer une par une au processeur (via INTR).
Programmer le contrôleur permet d'attribuer des priorités différentes à chaque
périphérique.
Avant d'envoyer la prochaine interruption, le contrôleur doit attendre d'avoir reçu le
signal INTA, qui prouve que le processeur a correctement traité l'interruption en cours.
Le rôle des interruptions :
a. Assure la communication entre le CPU et les périphériques presque de manière
instantanée. (Matériel)
Exemple1:
si une imprimante veut faire un travail elle va informer le CPU grâce à une
interruption.et le CPU va exécuter le programme qui permet l’impression.

Exemple2:
Si on clique sur une souris pour définir sa position c’est à l’aide d’une interruption
spécifique le CPU va exécuter le programme nécessaire.

Remarque importante :
L’utilisation des interruptions à réduit les délais d’attente par la technique POLLING
cette dernière consomme un temps énorme pour tester tous les périphériques et
détecter celle désirant communiquer .

b. Les interruptions logicielles sont utilisées pour exécuter des tâches logicielles ayant une
priorité sur le programme principal .
Veiller pour une bonne exécution des taches par priorité dans un processeur.
Exemple : INT 21H fonction 02h

Les types d’interruptions:

1) Les interruptions logicielles : (soft ware)


Ce sont des programmes stockés dans la mémoire
La forme :
Elles sont de la forme INT n
Commence de INT 00h……… INT FFh

Donc il y’a 256 interruptions

Chacune possède plusieurs fonctions

Exemple : INT 21h possède :fonction 01h


fonction 02h
fonction 08h
…………..
etc

Exemples sur les interruptions logicielles :

Exemple 1: INT 10h mode vidéo.


MOV ah, 0h ; définir le mode vidéo
MOV al, 03h ; mode texte 40 X 25. 16 couleurs .8 pages
Int 10 h
Pour cette interruption il y’a autre mode de texte:
Al=13h, mode de texte 40 X25. 256 couleurs.320X200 pixels. 1 page.

Exemple 2 :
Mov al,13h ; la fonction 13 de l’interruption 10
Mov ah,0 ; mode vidéo
Int 10h ; interruption 10.

Exemple 3 : Int 21h ; Lecture d’un caractère.


Int 21h / ah=1 ; lire 1 caractère depuis une entrée standard avec un écho
(affichage), le résultat est enregistré dans AL
S’il n’y a pas de caractère dans le buffer du clavier ,la fonction patiente jusqu’à
une touche soit tapée.
MOV ah, 1 ; fonction de lecture avec écho (affichage)
Int 21h ; interruption 21

Exemple 4: Int 21h ; écriture (affichage) d’un caractère.


Int 21h / ah=2 ; écrire un caractère pour afficher sur une sortie standard
(écran).
Faire entrer DL=caractère à écrire. Apres exécution Al= dl
Mov ah,2 ;
Mov dl,’x’ ;
Int 21h

2) Les interruptions matérielles : (Hard ware)


Ce sont des signaux qui arrivent sur les lignes des interruptions.
Ils se divisent en deux groupes :

i. Masquable
Ce sont des interruptions ignorées pendant un intervalle de temps.
Le CPU peut les mettre en attente et l’exécuté plus tard.
Broche 18 : INTR (Masquable).
Exemple : Interruption provenant d’un périphérique (scanner).

ii. Non Masquable (NMI)


Ne peut pas être ignorées
Broche 17 : NMI (Non Masquable Interruption).

Le CPU interrompe immédiatement le programme principal est saute


vers un autre programme spécifié pour cette interruption NMI

Ce programme appelé routine de cette interruption.

Ces interruptions sont prioritaires.

Exemple : Panne matérielle, dépassement de temps d’exécution d’une


tache

Déroulement d’une interruption NMI :

a. Le CPU stop le programme principal.


b. Met le flag IF=0 (masque interruption).
c. Sauvegarde l’adresse de la dernière instruction exécutée contenue de CS qui se
trouve dans le registre IP dans le SS , afin qu’il puisse revenir après l’exécution de la
routine de l’interruption.
d. Aller à la table des routines des interruptions, qui contient leurs adresses.
e. Lire l’adresse et la sauvegarde dans CS : IP.
f. Exécute la routine de l’interruption complètement.
g. Met le flag IF=1 (démasque interruption).
h. Récupère l’adresse enregistrée dans la pile et poursuit l’exécution du programme
principal.

Vous aimerez peut-être aussi