L
LE
ES
S
T
TE
EC
CH
HN
NI
IQ
QU
UE
ES
S
D
DE
E
G
GE
ES
ST
TI
IO
ON
N
D
DE
ES
S
E
E/
/S
S
I. GENERALITES
La connexion d'un périphérique avec l'unité centrale requiert la mise en place d'une
interface. On distingue trois techniques pour établir une communication entre les
périphériques et l'unité centrale :
la scrutation
les interruptions
l'accès direct à la mémoire
1. La scrutation ou spolling
Périodiquement, le processeur va interroger chaque dispositif pour savoir si il a besoin
d'un service. Si un périphérique requiert un service, la routine va être enclenchée. Le
processus qui consiste à interroger un dispositif et à reçevoir une réponse en retour
s'appelle le « handshaking »
Cette technique est avantageuse car elle est facile à mettre en place. Mais le système
perd du temps à scruter tout les périphériques.
2. Les interruptions
Avec cette technique, c'est chaque dispositif qui va informer le processeur qu'il a
besoin de quelque chose par l'intermédiaire d'un bus système. A la fin de chaque
instruction, le processeur teste s'il y a eu une demande d'interruption.
Pour le processeur, gérer l'interruption consiste à
accepter la demande d'interruption : l'acceptation ou le refus d'une interruption
dépend de la valeur du bit IF (Interrupt enable Flag).
identifier la demande d'interruption : cette identification peut être faîte de
façon matérielle, logicielle ou la combinaison des deux.
Identification matérielle : un composant matériel, le contrôleur d'interruptions
va reçevoir les interruptions puis les relayer au processeur. Si ce dernier les
accepte, le contrôleur d'interruptions va placer sur le bus de données l'adresse qui
identifie le périphérique demandeur.
Identification logicielle : lorsqu'une interruption intervient, le processeur va
scruter chaque périphérique pour savoir lequel a déclenché cette interruption.
Identification combinée : pas compris.
traiter l'interruption : pour traiter l'interruption, le processeur va sauvegarder le
contexte du processeur, traiter l'interruption puis restituer le contexte.
Exemple avec les interruptions du 8086 :
Cette architecture gère deux types d'interruptions :
les interruptions internes : elles interviennent lors d'une divison par zéro ou
d'une erreur d'overflow, mais peuvent aussi placer le processeur dans un mode
particulier, comme le fonctionnement pas à pas.
Les interruptions externes : reset. Une interruption est déclenchée en cas de
baisse de tension.