Vous êtes sur la page 1sur 41

Université Mohammed V de Rabat Département d’Informatique

École Normale Supérieure de Rabat CLE Informatique

CHAPITRE 3:
LES INTERRUPTIONS

Pr. A. ELMOUNADI

Architecture des Ordinateurs

CLE Informatique - Semestre 4


2021 - 2022
Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
INTRODUCTION

 Un système à Microprocesseur (plus spécialement un ordinateur) comporte plusieurs


périphériques tels que : un Écran, une souris, une imprimante, un disque dur, etc.

 Pour assurer le dialogue avec ces périphériques, il existe en général 3 techniques:

 Le Polling : le Microprocesseur consulte de façon continue le périphérique en


question pour vérifier que des données peuvent être lues ou écrites.

 DMA (Direct Memory Access) : le Microprocesseur ne va pas intervenir dans ce


cas et va laisser par exemple 2 périphériques communiquer de façon directe.

 Les Interruptions : le Microprocesseur va interrompre le traitement en cours pour


prendre en charge un périphérique qui veut lire ou écrire des données.

Architecture des Ordinateurs 2


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
INTRODUCTION

Le Polling :

 Le polling (scrutation) consiste à faire de l’attente active pour


communiquer avec les périphériques.

 Il s’agit d’une façon simple d'accéder à un périphérique. Cependant, le


débit des données transférés depuis/vers un périphérique est en général
beaucoup plus lent que la vitesse de fonctionnement d'un Processeur, et le
Polling peut donc être très inefficace.

Architecture des Ordinateurs 3


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
INTRODUCTION

DMA (Direct Memory Access):

 Cette technique consiste à transférer le bloc de données entre la mémoire


et les périphériques du système, sans la participation du Processeur.
L'unité qui contrôle l'activité d'accès direct à la mémoire est appelée
contrôleur DMA.

 En effet, en cas de transfert de données d’une grande quantité entre 2


périphériques, il peut être plus efficace de laisser communiquer entre eux
les 2 périphériques plutôt que de solliciter le Processeur.

Architecture des Ordinateurs 4


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
INTRODUCTION

DMA (Direct Memory Access):

 Le rôle du Processeur se limite alors à indiquer


au Contrôleur DMA quels sont les périphériques qui doivent
communiquer, le nombre et éventuellement les adresses des données à
transférer, puis il initie le transfert.

 Le Processeur n'est pas sollicité durant le transfert, et une interruption


signale au Processeur la fin du transfert.

Architecture des Ordinateurs 5


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
INTRODUCTION

Les Interruptions :

 Il arrive fréquemment qu'un périphérique ou un programme nécessite


une intervention du Microprocesseur. À cet effet il est possible de
l'interrompre quelques instants pour prendre en charge la requête. Il s’agit
d’une interruption.

Architecture des Ordinateurs 6


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
DÉFINITIONS

 Une interruption est un évènement qui provoque l'arrêt du traitement en


cours effectué par le Processeur et provoque le branchement à un sous-
programme particulier dit de « traitement de l'interruption » .

 En effet, et comme son nom l’indique, une interruption vient interrompre le


déroulement normal des instructions prises en charge par le Microprocesseur.

 Les interruptions sont générées par appel d’un périphérique (cas des
interruptions matérielles). Elles donnent lieu à l’exécution d’un programme,
appel de routine de service ou routine de traitement de l’interruption comme
expliqué ci-dessus.

 Bien entendu, routine ici est synonyme de sous-programme.

Architecture des Ordinateurs 7


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
DÉFINITIONS

 En effet, Lorsqu’un périphérique souhaite communiquer avec le Processeur, il


lui envoie un signal d'interruption. Si celui-ci peut être interrompu (à
condition qu'il ne soit pas en train de traiter une interruption de plus haute
priorité), il stoppe la tâche en cours, sauvegarde son état en mémoire et
appelle la routine correspondant au numéro de l’interruption.

 Le fonctionnement des périphériques se fait d'une manière asynchrone, par


conséquent, plusieurs interruptions peuvent être déclenchées en même temps.
La gestion des interruptions est confiée à un contrôleur d'interruptions qui se
charge de gérer les conflits entre les différentes interruptions.

Architecture des Ordinateurs 8


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
TYPES D’INTERRUPTIONS

 On distingue généralement 2 types d’interruptions:

 Interruptions Logiques : Ou interruptions logicielles (Software Interrupt),


permettent à un Processus utilisateur de faire un appel système.

 Interruptions Matérielles : Déclenchées par une unité électronique externe


(un contrôleur de périphérique en général) ou par l'horloge. Les
interruptions matérielles peuvent également être internes au Processeur.

 Dans ce chapitre, nous étudions les interruptions matérielles (ou externes),


c’est-à-dire celles déclenchées par le matériel (hardware) externe au
Processeur.

Architecture des Ordinateurs 9


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
INTERRUPTIONS MATÉRIELLES

 Les interruptions permettent au matériel de communiquer avec le


Processeur.

 En effet, une interruption est signalée au Processeur par un signal


électrique sur une borne spéciale.

 Lors de la réception de ce signal, le Processeur traite l’interruption dès la


fin de l’instruction en cours.

Architecture des Ordinateurs 10


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
INTERRUPTIONS MATÉRIELLES

 Le traitement de l’interruption consiste soit :

 À l’ignorer, et passer normalement à l’instruction suivante: Ceci reste


applicable uniquement pour un certain type d’interruptions, les interruptions
masquables. En effet, Il est parfois nécessaire de pouvoir ignorer les
interruptions pendant un certain temps, pour effectuer des traitements plus
urgents. Entre temps, les interruptions seront masquées. Lorsque le traitement
est terminé, le Processeur démasque les interruptions et les prend alors en
compte.

Architecture des Ordinateurs 11


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
INTERRUPTIONS MATÉRIELLES

 Le traitement de l’interruption consiste soit :

 À exécuter un gestionnaire d’interruption (Interrupt Handler): Un


gestionnaire d’interruption (ou routine d’interruption) est un programme qui
sera systématiquement appelé lorsqu’une interruption survient. L’adresse de
début de la routine est donnée par la table des vecteurs d’interruptions.
Lorsque le traitement réservé à l’interruption est terminé, l’exécution reprend
à partir de l’endroit où elle avait été interrompue.

Architecture des Ordinateurs 12


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
INTERRUPTIONS MATÉRIELLES

Diagrammes des broches du 8086


(Architecture externe):

 VCC (Broche 40):

 Utilisée pour l’alimentation et


les signaux de fréquence.

 Utilise une alimentation 5V.

Architecture des Ordinateurs 13


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
INTERRUPTIONS MATÉRIELLES

Diagrammes des broches du 8086


(Architecture externe):

 CLK (Broche 19):

 Offre la synchronisation des


opérations.

 Sa fréquence est différente selon


les versions, à savoir 5MHz,
8MHz et 10MHz.

Architecture des Ordinateurs 14


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
INTERRUPTIONS MATÉRIELLES

Diagrammes des broches du 8086


(Architecture externe):

 Adresses/bus de données:

 Fournis via les broches 2-16 /


39.

 Il s'agit de 16 bus d'adresses/de


données.

Architecture des Ordinateurs 15


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
INTERRUPTIONS MATÉRIELLES

Diagrammes des broches du 8086


(Architecture externe):

 Bus d'adresses / d'états :

 Fournis par les broches A16-


A19 / S3-S6.

 Ce sont les 4 bus d'adresses /


états.

Architecture des Ordinateurs 16


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
INTERRUPTIONS MATÉRIELLES

Diagrammes des broches du 8086


(Architecture externe):

 ALE (Broche 25):


 Une impulsion positive est générée à
chaque fois que le Processeur
commence une opération. Ce signal
indique la disponibilité d'une adresse
valide sur les lignes d'adresse / de
données.

Architecture des Ordinateurs 17


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
INTERRUPTIONS MATÉRIELLES

Diagrammes des broches du 8086


(Architecture externe):

 READY (Broche 22) :

 Offre un signal d'acquittement


des périphériques d'E/S
indiquant que les données sont
bel et bien transférées.

Architecture des Ordinateurs 18


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
INTERRUPTIONS MATÉRIELLES

Diagrammes des broches du 8086


(Architecture externe):

 RESET (Broche 21):


 Utilisée pour redémarrer l'exécution.
Cela oblige le Processeur à mettre
immédiatement fin à son activité
actuelle.

Architecture des Ordinateurs 19


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
INTERRUPTIONS MATÉRIELLES

Diagrammes des broches du 8086


(Architecture externe):

 INTR (Broche 18):

 Sert à indiquer l’arrivée d’une


interruption.

 Utilisée pour les interruptions


masquables.

Architecture des Ordinateurs 20


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
INTERRUPTIONS MATÉRIELLES

Diagrammes des broches du 8086


(Architecture externe):

 NMI (Broche 17):


 Utilisé pour les interruptions non
masquables.

Architecture des Ordinateurs 21


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
INTERRUPTIONS MATÉRIELLES

Diagrammes des broches du 8086


(Architecture externe):

 INTA (Broche 24):

 Indique un signal d'acquittement


d'interruption.

 Lorsque le Microprocesseur
reçoit ce signal, il acquitte
l'interruption.

Architecture des Ordinateurs 22


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
INTERRUPTIONS MATÉRIELLES

 Pour faire simple, nous distinguons que le Microprocesseur 8086 possède


3 bornes d'interruption principales : NMI, INTR et INTA.
 NMI (Non Maskable Interrupt) est utilisée pour envoyer des interruptions non
masquables au Processeur. Le Processeur ne peut pas ignorer ce signal, et va
exécuter le gestionnaire d’interruption correspondant. En général, ce signal est
utilisé pour détecter des erreurs matérielles (mémoire principale défaillante par
exemple).

 INTR (INTerrupt Request) signale une demande d’interruption masquable. En


effet, cette borne permet d’indiquer au Processeur l’arrivée d’une interruption.

 INTA (INTerrupt Acknowledge) est mise à 0 lorsque le Processeur traite


l’interruption signalée par INTR.

Architecture des Ordinateurs 23


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
MASQUAGE DES INTERRUPTIONS

 À un instant donné, les interruptions sont soit masquées, soit autorisées.

 Le masquage des interruptions est déterminé par l’état d’un indicateur


spécial du registre d’état, IF (Interrupt Flag):

 Si IF = 1, alors le Processeur va accepter les demandes d’interruptions


masquables et les traite immédiatement.

 Si IF = 0, alors le Processeur ignore ces interruptions.

 L’état de l’indicateur IF peut être modifié à l’aide de 2 instructions, CLI


(CLear IF pour la mise à 0 de IF), et STI (SeT IF, pour la mise à 1 de IF).

Architecture des Ordinateurs 24


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
MASQUAGE DES INTERRUPTIONS

 Enfin, Toutes les demandes d'interruption (IRQ) émises par les


périphériques d'E/S donnent lieu à des interruptions masquables. Une
interruption masquable peut être dans 2 états : masquée ou non masquée.

 Une interruption masquée est ignorée par l'unité de contrôle tant qu'elle
reste masquée.

 Seuls quelques événements critiques (tels que les pannes matérielles)


donnent lieu à des interruptions non masquables. Les interruptions non
masquables sont toujours reconnues par l'unité centrale de traitement.

Architecture des Ordinateurs 25


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
CONTRÔLEUR D’INTERRUPTIONS

 Le contrôleur d’interruptions (PIC, Programmable Interrupt


Controller) est un circuit spécial, externe 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.

 En effet, L’ordinateur est relié à plusieurs périphériques, mais nous


venons de voir qu’il n’y avait qu’une seule borne pour la demande
d’interruption, à savoir INTR.

Architecture des Ordinateurs 26


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
CONTRÔLEUR D’INTERRUPTIONS

Bus de données

IRQ0
Microprocesseur PIC
IRQ1

INTA INTA IRQ2


INTR INT


NMI IRQn

Architecture des Ordinateurs 27


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
CONTRÔLEUR D’INTERRUPTIONS

 Le 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 la borne INTR).

 Avant d’envoyer l’interruption, le contrôleur attend d’avoir reçu un signal


d’acquittement sur la borne INTA, indiquant que le Processeur a bien
traité l’interruption précédente.

Architecture des Ordinateurs 28


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
TRAITEMENT D’UNE INTERRUPTION EXTERNE MASQUABLE

 Reprenons les différents évènements liés à la réception et le traitement


d’une interruption masquable :

1. Un signal INT est émis par un périphérique (ou plutôt par l’interface
gérant celui-ci).

2. 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 au Processeur sur
sa borne INT.

Architecture des Ordinateurs 29


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
TRAITEMENT D’UNE INTERRUPTION EXTERNE MASQUABLE

 Reprenons les différents évènements liés à la réception et le traitement


d’une interruption masquable :

3. 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=1, la demande
d’interruption est acceptée, sinon, elle est ignorée.

4. Dans le cas où la demande est acceptée, le Processeur met sa sortie


INTA au niveau 0 pendant 2 cycles d’horloge, pour indiquer au
contrôleur qu’il prend en charge sa demande.

Architecture des Ordinateurs 30


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
TRAITEMENT D’UNE INTERRUPTION EXTERNE MASQUABLE

 Reprenons les différents évènements liés à la réception et le traitement


d’une interruption masquable :

5. En réponse à cela, le PIC place le numéro de l’interruption associé à la


borne IRQi sur le bus de données.

6. Le Processeur lit le numéro de l’interruption sur le bus de données et


l’utilise pour trouver le vecteur d’interruption (afin de traiter
l’interruption). Ensuite, tout se passe comme pour un appel système,
c’est-à-dire que le Processeur :

Architecture des Ordinateurs 31


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
TRAITEMENT D’UNE INTERRUPTION EXTERNE MASQUABLE

 Reprenons les différents évènements liés à la réception et le traitement


d’une interruption masquable :

 Sauvegarde les indicateurs du registre d’état sur la pile (i.e. il sauvegarde


le contexte d’exécution du programme en cours).

 Met l’indicateur IF à 0 pour masquer les interruptions suivantes.

 Cherche dans la table des vecteurs d’interruptions l’adresse de la routine


d’interruption correspondante.

Architecture des Ordinateurs 32


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
TRAITEMENT D’UNE INTERRUPTION EXTERNE MASQUABLE

 Reprenons les différents évènements liés à la réception et le traitement


d’une interruption masquable :

7. La routine d’interruption se lance. Pendant ce temps, les interruptions


sont bien entendu masquées (IF = 0).

8. La procédure se termine par l’instruction IRET qui permet de


reprendre le programme qui avait été interrompu auparavant.

Architecture des Ordinateurs 33


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
TRAITEMENT D’UNE INTERRUPTION EXTERNE MASQUABLE

 Lorsqu'une interruption de numéro n est levée, le Processeur charge le


pointeur présent à l'adresse mémoire (n x 4) dans les registres CS:IP,
après avoir sauvegardé leur contenu (les 2 registres) sur la pile.

 En effet, L’adresse de début de la routine d’interruption est rangée en


mémoire à partir de l’adresse n x 4 (IP bas, IP haut, CS bas puis CS haut).

Architecture des Ordinateurs 34


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS
TRAITEMENT D’UNE INTERRUPTION EXTERNE MASQUABLE

Vue sur la table de vecteurs


d’interruption du Intel 8086:

Architecture des Ordinateurs 35


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS

EXEMPLE 1: L’HORLOGE

 L’horloge d’un ordinateur (à ne pas confondre avec l’horloge système


utilisée pour cadencé la fréquence de la CPU) peut être considéré comme
un périphérique d’un type particulier. Il s’agit d’un circuit électronique
cadencé par un oscillateur à quartz qui est utilisé pour gérer l’heure et la
date, que de nombreux programmes utilisent.

Architecture des Ordinateurs 36


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS

EXEMPLE 1: L’HORLOGE

 Pour gérer l’heure, le Système d’Exploitation installe un gestionnaire


pour l’interruption 08h. Celui-ci incrémente un compteur qui est un
nombre entier codé sur 4 octets et qui est toujours rangé à l’adresse
0040:006C en mémoire principale. Ainsi, si un programme désire
connaître l’heure, il lui suffit de lire cet emplacement mémoire, qui
change automatiquement à hauteur de 18,2 fois / seconde.

 En langage C, on pourra utiliser la fonction time( ) qui effectue un appel


système pour connaître l’heure courante.

Architecture des Ordinateurs 37


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS

EXEMPLE 2: LECTURE DE DONNÉES À PARTIR D’UN DISQUE DUR

 Soit un programme lisant des données sur un Disque Dur, les traitant et les
affichant à l’écran. Voici l’algorithme général sans utiliser d’interruption :

 Étape 1:

Répéter :

1. Envoyer au contrôleur de disque une demande de lecture d’un bloc de


données.

2. Attendre, tant que le disque ne répond pas (scrutation).

3. traiter les données.

4. Afficher les résultats.

Architecture des Ordinateurs 38


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS

EXEMPLE 2: LECTURE DE DONNÉES À PARTIR D’UN DISQUE DUR

 Cette méthode simple est appelée Entrée/Sortie par scrutation.

 L’étape 2 est une boucle de scrutation qui peut être exprimée comme suit :

Répéter :

Regarder si le transfert du disque est terminé.

Tant qu’il n’est pas terminé.

 La scrutation est simple mais inefficace : L’ordinateur passe la majorité de


son temps à attendre que les données soit transférées depuis le disque dur.
Pendant ce temps, il répète la boucle de scrutation. Par conséquent, cela cause
une perte considérable du temps CPU.

Architecture des Ordinateurs 39


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS

EXEMPLE 2: LECTURE DE DONNÉES À PARTIR D’UN DISQUE DUR

 Ce temps pourrait être mis à profit pour réaliser une autre tâche. En gros,
les E/S par interruption fonctionnent sur le modèle suivant:

1. Installer un gestionnaire d’interruption disque qui traite les données reçues et


les affiche.

2. Envoyer au contrôleur de disque une demande de lecture des données.

3. Faire autre chose (d’autres opérations).

Architecture des Ordinateurs 40


Université Mohammed V de Rabat Département d’Informatique
École Normale Supérieure de Rabat CLE Informatique

LES INTERRUPTIONS

EXEMPLE 2: LECTURE DE DONNÉES À PARTIR D’UN DISQUE DUR

 Le contrôleur de disque envoie une interruption (via le contrôleur


d’interruptions) au Processeur, qui arrête temporairement le traitement 3
pour s’occuper des données qui arrivent. Lorsque les données sont
traitées, le traitement 3 reprend (IRET).

 Pendant l’opération de lecture des données à partir du disque dur, le


Processeur s’occupe à effectuer d’autres tâches en parallèle.

Architecture des Ordinateurs 41

Vous aimerez peut-être aussi