Vous êtes sur la page 1sur 4

Ecole Nationale Supérieure d’Informatique 2020/2021

ARCHI2
T.D. N° 6 - Les Systèmes d'interruptions.

Compétence visée : Concevoir des systèmes d’interruption de base pour répondre à des besoins
de contrôle élémentaires.
Sous-compétence :
- Schématiser les composantes principales d’un système d’interruption hiérarchique.

Observations :
1- Vous devez obligatoirement déposer sur la plateforme Classroom les circuits réalisés sur le
simulateur Logisim, pour résoudre les exercices 5 et 6. Une note sera attribuée.
2- Un malus sera attribué aux étudiants qui ne remettent pas l’exercice obligatoire.
3- En cas de plagiat, la note zéro sera accordée automatiquement et un malus sera attribué à
tous les travaux suivants.

Date de remise : dimanche 28 février 2021 à 8h30.

Exercice 1 :
Un ordinateur a un répertoire de 36 instructions. Chaque instruction occupe 24 bits en mémoire
centrale. Les instructions de manipulation des interruptions ont pour fonction de masquer ou démasquer
un niveau d'interruption, armer ou désarmer une cause d'interruption ou enfin d'activer ou désactiver
tout le système d'interruption.
Pour chacune de ces instructions, les 5 bits de poids faible indiquent: La cause (sur 3 bits); Le niveau
(sur 2 bits). Ces instructions manipulent un registre masque et des bascules d'armement.

Questions:
1- Faire le schéma du circuit associé au système d'interruption.
2- Quel est l'effet que provoque le chargement de la valeur 3 dans le registre masque ?
3- Quel est l'effet que provoque la mise à zéro de la bascule d'armement ?

Exercice 2 :
Soit une machine disposant d’un système d’interruptions hiérarchisé permettant de valider ou
d’invalider le système d’IT, de masquer un niveau et d’inhiber une cause d’interruption. Les niveaux
sont répartis comme suit:
• Niveau 0 (le plus prioritaire) : 4 causes toutes utilisées pour des interruptions matériel.
• Niveau 1 : 2 causes réparties comme suit:
 Cause 0: utilisée pour une interruption d’Entrée / Sortie.
 Cause 1: inutilisée.
• Niveau 2 : 1 cause inutilisée.
• Niveau 3 (le moins prioritaire): 4 causes utilisées pour des interruptions externes.

Question:
Faire le schéma du système d’interruptions en précisant le contenu des registres masque et inhibition
après avoir allumé la machine.
Soit l’enchaînement suivant (figure I): l’UC exécute un programme P de niveau 3. le programme P
est interrompu par une interruption de niveau 0 (IT-0). Au cours du traitement de l'interruption IT-0, il
se produit une interruption de niveau 1 (IT-1) qui n'est pas prise en compte, mais qui est mémorisée. A
la fin du traitement de l' IT-0, l’ IT-1 est prise en compte. L'UC reprend l'exécution de P-3 à la fin du
programme IT-1.
Figure I
Question:
Donner le contenu du registre masque et de la pile à chaque instant (A, B, C, D, E, F).

Exercice 3 :
Soit une machine possédant 6 niveaux d'interruption:
• Niveau 0: Panne de courant (1 cause).
• Niveau 1: Violation de la protection mémoire (1 cause).
• Niveau 2: Interruption d'E/S canal A (1 cause).
• Niveau 3: Interruption d'E/S canal B (1 cause).
• Niveau 4: Interruption d'E/S canal C (1 cause).
• Niveau 5: Interruptions externes libres (4 causes).
On veut réaliser un système d'interruptions hiérarchisé avec la plus grande priorité au niveau 0 et la
moins grande au niveau 5. Le système d'interruption devra disposer des possibilités suivantes:
• Validation / Invalidation du système d'IT.
• Masquage / Démasquage d'un niveau d'IT.
• Inhibition d'une ou plusieurs causes d'IT (niveau 5 uniquement).
Questions:
1- Proposer un schéma complet pour le système d'IT qu'on désire réaliser.
2- Proposer un complément au schéma pour permettre la reconnaissance par câblage du niveau de
l'interruption la plus prioritaire.

Lorsqu'une IT est prise en compte, les opérations suivantes sont effectuées:


a. Invalidation du système d'IT par câblage.
b. Sauvegarde du compteur ordinal.
c. Sauvegarde des registres internes.
d. Sauvegarde du registre masque du programme interrompu.
e. Modification du masque en fonction du niveau de l'interruption.
f. Validation du système d'IT.
g. Exécution du sous-programme d'interruption.
h. Invalidation du système d'interruption.
i. Restauration des registres internes.
j. Restauration du registre masque.
k. Validation du système d'interruption par l'instruction VSI.
l. Restauration du compteur ordinal.
Questions :
1- Si une nouvelle interruption plus prioritaire arrive entre les opérations k et l, que risque-t-il de se
passer ?
2- Comment résoudre ce problème ?
3- Pourquoi doit on sauvegarder et restaurer le contenu du registre masque ?
4- Supposons qu'une interruption de niveau 2 survienne, que doit contenir son registre masque (valeur
du registre masque pendant l'exécution du programme de cette interruption).
5- Que doit contenir le registre masque lorsqu'on vient d'allumer la machine ?
Page 2 sur 4
Exercice 4 :
Le système d'interruption de la machine M15 est constitué de 32 niveaux tels que:
• A chaque niveau est associé un mot mémoire (pointeur) indiquant l'adresse d'une zone
correspondant à ce niveau. Cette zone mémoire est divisée en deux parties: une partie pour la
sauvegarde du contexte, la deuxième partie pour le nouveau contexte à charger pour exécuter le
sous-programme d'interruption.
• Les 32 pointeurs sont regroupés dans une table dont l'adresse est indiquée par le registre 10.
Lorsqu'une interruption apparaît, les actions suivantes se déroulent:
• Elle est mémorisée dans une bascule (il y a une bascule par signal).
• Son niveau est comparé par hardware au niveau du programme en exécution dans l'unité centrale
(ce dernier se trouve dans le registre 8).
Si l'interruption est prise en compte:
• Le contexte du programme interrompu est rangé en mémoire centrale par hardware.
• Son niveau (de 0 à 31) est chargé dans le registre 8.
• Le contexte de son programme de traitement est chargé dans l'unité centrale.
• A la fin du traitement, l'interruption est acquittée et le contexte rangé en mémoire centrale.

Questions:
1- Faire le schéma d'un circuit dont :
• Les entrées sont :
* Les 32 signaux d'interruption.
* Le contenu du registre 8.
• Les sorties sont :
* Un signal d'interruption indiquant à l'UC la prise en compte d'une interruption.
* Le niveau de l'interruption qui vient d'être prise en compte.
* L'adresse mémoire du contexte du programme associé à l'interruption qui vient d'être prise
en compte.
2- A quel endroit est rangé le contexte du programme interrompu: zone du programme interrompu ou
zone de la nouvelle interruption?
3- A quel moment la bascule de mémorisation d'une interruption est-elle remise à zéro ? Quel problème
pourrait se poser si les interruptions étaient acquittées au début du traitement et non à la fin ?
4- En fin de traitement d'une ITi, revient-on obligatoirement au programme interrompu par l'ITi ?

Exercice 5 : Remise obligatoire sur Classroom


Soit un calculateur disposant d’un système d’interruption. La reconnaissance du niveau d’interruption
se fait à l’aide d’une cellule Daisy-Chain modifiée.
Sur chaque cellule Daisy-Chain, on peut connecter 4 entrées d'interruptions générées par des contrôleurs
d'Entrées/Sorties. Le fonctionnement de cette cellule Daisy-Chain est le suivant :
A la réception d’un signal d’interruption, l’UC envoie un signal d’acquittement égal à "0". Lorsqu’une
cellule reçoit le signal d’acquittement, trois cas de figure se présentent :
• Si elle a envoyé un signal d’It, et que le signal d’acquittement en entrée est égal à "0", alors c’est
elle qui est la plus prioritaire. Elle met le numéro du contrôleur le plus prioritaire qui a envoyé un
signal d'interruption, sur le bus et positionne le signal d’acquittement en sortie à "1";
• Si elle a envoyé un signal d'It, mais que le signal d'acquittement en entrée est égal à "1", alors il y a
une cellule plus prioritaire qui a envoyé un signal d'It. Rien ne se passe, et le signal d'acquittement
en sortie reste à "1".
• Si elle n'a pas envoyé de signal d'It, alors elle laisse passer le signal d'acquittement en entrée tel qu'il
est vers la sortie (s'il est à "1", il reste à "1", et s'il est à "0", il reste à "0").

Questions :
1. Donner le schéma interne détaillé de la cellule Daisy-Chain modifiée décrite plus haut sur Logisim
et le déposer sur l’espace classroom.
2. Montrer sur le schéma, la connexion de cellules Daisy-Chain modifiées avec l'UC pour gérer les
interruptions de 16 contrôleurs d'entrées/sorties.
Page 3 sur 4
Exercice 6 : Remise obligatoire sur Classroom
On veut réaliser un calculateur pour gérer une entreprise. Il doit disposer d’un système d’interruptions
hiérarchisé. Le système doit être capable de prendre en compte :
- Les pannes de courant (avertir d’une coupure pour permettre de faire les sauvegardes nécessaires
en utilisant les batteries de secours)
- Les pannes urgentes sur le matériel.
On considére ces deux types de pannes de la même urgence.
Le système doit également être capable de gérer 8 périphériques répartis en deux familles :
- Une première famille de 4 disques prioritaires, permettant le fonctionnement du calculateur ; dans
un premier temps, seuls 2 disques sont connectés.
- Une deuxième famille de 4 périphériques permettant d’assurer les entrées/sorties les moins
prioritaires ; 3 périphériques sont connectés.
Le calculateur sera également utilisé pour gérer un système d’alarmes pour surveiller au maximum 6
locaux. Dans un premier temps, seuls 4 locaux sont connectés, en attendant la connexion des locaux en
cours de câblage.
Les logiciels exécutés par la machine sont affectés à la plus faible priorité.

Questions :
1- Donner le nombre de niveaux nécessaires, et regrouper toutes les causes dans une liste en précisant
le numéro du niveau de la cause, ainsi que son état (inhibée ou active).
2- Faire un schéma détaillé du système d’It sur Logisim et le déposer sur l’espace classroom. Vous
devez identifier clairement toutes les causes et les connecter. Préciser le contenu des registres
importants au démarrage de la machine.

Remarque : il est inutile de représenter le niveau correspondant au logiciel

Un exemple type d’exécution sur cette machine est représenté dans la séquence décrite dans le tableau
suivant :

Durée
Temps Programme
(unités temps)
T Système libre
T+15 Lancement de l’exécution d’un programme de gestion des stocks 30
T+20 Une alarme se déclenche dans le local N°2 20
T+22 Une interruption est générée par le contrôleur du disque 0 prioritaire 18
T+25 Une panne survient dans une barrette mémoire 30
T+30 Une panne de courant survient 30

Question :
3- Faire un schéma complet de la séquence en affectant à chaque étape une étiquette (exemple : Instant
A, ...). Identifiez clairement chacune des étapes importantes de la séquence tel que vu en cours.
Indiquer le contenu de la pile et du registre masque à chaque instant. Représenter l’échelle des
temps en précisant l’instant de chaque évènement.

Page 4 sur 4

Vous aimerez peut-être aussi