SYSTEMES D’INTERRUPTIONS

SYSTEMES D’INTERRUPTIONS

L’unité centrale peut à tout moment recevoir des appels de l’extérieur. Ces appels correspondent à des demandes d’exécution de programmes. Exemple : appel d’alarme, appel du clavier … etc. L’unité centrale contient un arbitre combinatoire qui reçoit les appels sur ses entrées et les classe par ordre de priorité selon l’entrée sur laquelle se trouve l’appel.On peut armer ou désarmer un niveau (programmation dans un registre). On peut masquer ou démasquer un niveau (programmation dans un registre). Principes fondamentaux : – P1 : Un appel ne doit pas être ignoré sauf si le niveau est désarmé. – P2 : Un appel reste mémorisé tant qu’il n’a pas été exécuté. – P3 : Un niveau masqué est réceptif à l’appel mais n’est pas servi. A chaque appel d’un programme + prioritaire, il faut sauver le contexte du programme en cours, par exemple dans une pile. Décentralisation des interruptions : But : Augmenter le nombre d’appels possibles sans augmenter le nombre de connexions de l’unité centrale. Pour cela, on utilise des gestionnaires de sous-niveau.1- L’appel déclenche un programme. 2- Ce programme vient lire successivement tous les GSNs pour connaître leur état (Appel ou non).

Leur lecture RAZ l’appel. 3- Si le GSN a un appel, le programme se branche sur une branche contenant le programme Pn demandé par l’appel n. Sinon le programme passe à la lecture du GSNn+1 suivant. 4- Quand il les a tous explorés, il se termine par une instruction « Fin d’Interruption ». 5- Si un GSN a été appelé après, l’unité centrale repart en interruption. Exercice 1 : Remplir le chronogramme suivant sachant que : – Le niveau le plus prioritaire est le niveau 2. – Le programme de niveau 0 commence à l’instant t0 et dure 5 unités de temps. – Le programme de niveau 1 dure 3 unités 1- Un appel arrive sur un GSN. Il met la « valeur active » sur la ligne 1 commune, ce qui appelle le niveau N de l’unité centrale. 2- L’unité centrale envoie un signa 2 de demande de vecteur de GSN appelant, à tous les GSN. 3- Le GSN appelant présente sur le bus d’information 3, son vecteur. Le vecteur est lu par l’unité centrale. 4- L’unité centrale concatène « I » et « V » pour constituer l’adresse du programme qui va être lancé.

C’est ce programme qui est appelé par l’appel du sous-niveau. 5- Que ce passe t-il si plusieurs GSN reçoivent un appel en même temps ? Un seul GSN doit envoyer son vecteur (sinon il y aurait conflit sur le bus). Cette sélection d’un GSN se fait par la chaîne de priorité. Exercice 2 : Remplir le chronogramme suivant sachant que : – Le niveau le plus prioritaire est le niveau 2. – Le programme de niveau 0 commence à l’instant t0 et dure 5 unités de temps. – Le programme de niveau 1 appelé par le GSNx dure 3 unités de temps.On considère une machine possédant trois niveaux d’interruptions. Elle doit exécuter un programme de niveau 0 et des programmes de niveaux 1, 2 et 3. Le niveau 3 est le plus prioritaire. Les figures 1A et 1B donnent deux cas de répartition des appels dans le temps. La figure 2 donne la longueur de chaque programme P0, P1, P2 et P3, dans chaque niveau, ainsi que les parties qui masquent ou démasquent des niveaux. Le programme de niveau 0, P0, par exemple, dure 4 unités de temps et masque le niveau 2 dans la 2ème unité de temps. Le programme de niveau 3, P3, dure 3 unités de temps et démasque le niveau 2 pendant la 2ème unité de temps. Remplissez les figures 1A et 1B en répartissant dans le temps les programmes P0, P1, P2 et P3.

 

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *