Département Informatique
Département Informatique Architecture des systèmes
Module INFO-TC-ASR2 Fonctionnement des ordinateurs
Cours n°3 Entrées - sorties Interruptions
Département Informatique Département Informatique
L'UC (unité centrale) peut utilise plusieurs méthodes pour dialoguer avec les périphériques :
• échange programmé
• interruption
• DMA (accès direct à la mémoire)
Chacune possède ces avanges et inconvénients, et sera utilisé suivant la nature du périphérique et/ou de l'échange
Dialogue entre l'UC et les périphériques
Département Informatique Département Informatique
C'est le mode le plus simple.
L'échange entre l'UC et le périphérique est programmé dans le programme par une ou plusieurs instructions, donc prévu initialement par le programmeur à un
moment donné.
Ex : lecture d'un caractère au clavier par getch en C.
Avantages : simple à programmer. Mise au point simple.
Inconvénients : instructions surabondantes. Echanges synchrones.
Echange programmé
Département Informatique Département Informatique
Dans ce mode, ce n'est ni le programmeur ni le CPU qui décide du moment de l'échange :
C'est le périphérique lui-même.
Lors de l'appui sur une touche, le clavier va signaler via un signal électrique au CPU qu'il a des informations à lui
transmettre.
Le CPU interromps alors son travail et demande au clavier de lui transmettre ses informations.
Exemple : clavier
Interruptions
Département Informatique
Le système des interruptions permet donc un dialogue asynchrone entre l'UC et les périphériques.
programme Reprise du programme
Interruption Retour d'interruption (IRET)
Traitement de l'interruption
L'UC doit s'assurer, lors de l'interruption, que le
programme pourra être repris comme s'il n'avait pas été interrompu.
Département Informatique Département Informatique
Le périphérique demande une interruption.
Le CPU termine l’exécution de l’instruction en cours, puis autorise l'interruption
. Le CPU empile (presque) tous les registres afin de pouvoir revenir dans le même état.
Le CPU charge ensuite EIP avec l’adresse du programme d’interruption (suivant son numéro)
Le CPU « saute » à l’adresse EIP et exécute le programme d’interruption, jusqu’à l’instruction IRET
Il dépile tous les registres, pour pouvoir continuer l’exécution normale dans l’état précédent.
Déroulement d'une interruption
Département Informatique Département Informatique
Une nouvelle interruption peut très bien survenir alors que l'UC traite déjà une interruption.
Deux cas se présentent :
• soit la nouvelle interruption est plus prioritaire, auquel cas elle interrompt le programme
d'interruption en cours
• soit elle est moins prioritaire, elle est alors ignorée.
Il faut donc que l'UC puisse classer les interruptions par priorité, si plusieurs périphériques différents
utilisent ce système.
Priorité des interruptions
Département Informatique
Contrôleur d'interruptions (encodeur) Demande
d'interruption (IRQ)
CPU Autorisation d'interruption 0
Périph.
n
Périph.
1 Périph.
Numéro
d'interruption (IN)
Département Informatique
Département Informatique Interruptions matérielles
Une interruption matérielle est déclenchée par un périphérique
Dans le cas du 386, elle peut être interdite (bit IF à 0) Le contrôleur d'interruption lié au 386 peut contrôler seize interruptions matérielles différentes.
Département Informatique
Département Informatique Interruptions logicielles
Ce type d'interruption est déclenché par programme.
Le 386 possède une instruction pour déclencher une interruption logicielle : INT.
INT 10h déclenche l'interruption 10h
Leur utilité n'est pas la même que les interruptions matérielles.
Elles servent surtout à appeler des programmes résidents dont l'adresse n'est pas connue (BIOS, OS....) et qui ne peuvent donc pas être appelés par CALL.
Département Informatique
Département Informatique Table des vecteurs d'interruption
Pour traiter une interruption, le CPU exécute un
programme spécial, appelé gestionnaire d'interruption.
Mais pour cela il doit connaître son adresse.
Lors d'une interruption, la seule chose connue est son numéro (8 bits).
Il faut donc une table de correspondance entre le numéro d'une interruption est l'adresse de son
gestionnaire.
Cette table doit être à un emplacement fixe, mais peut être modifiée par programme.
Département Informatique
Prochain cours : Périphériques :
Système VGA
A la semaine prochaine !