Les interruptions I Notion dinterruption II Exemple du









- Slides: 9
Les interruptions I. Notion d'interruption II. Exemple du 8051 III. Exemple du 68000 Les interruptions – Ph. Hoppenot
I. Notion d'interruption Evénement extérieur 3 Interruption validée ? 4 Recherche de l'adresse de la routine d'IT Pgm principal: . 2 . 1. . . SP ->. 11 . Contexte 7 9 SP -> Adresse de retour. 5 10. 6 Routine IT: 7 Sauvegarde du contexte Acquittement 8. . . 9 Restitution du contexte Retour 10 Les interruptions – Ph. Hoppenot
I. Notion d'interruption A retenir pour mettre en œuvre une interruption Initialisation - Validation de l'interruption - Choix de l'adresse de la routine d'IT Fonctionnement - Evénement - Sauvegarde du contexte - Acquittement - Restitution du contexte Le reste est exécuté automatiquement par le système. Les interruptions – Ph. Hoppenot
I. Notion d'interruption Notion de priorité Si 2 événements arrivent en même temps L'interruption de niveau le + élevé s'exécute, puis celle de niveau inférieur. Si un événement arrive pendant l'exécution d'une routine d'IT - 1 interruption de niveau inférieur ne peut pas interrompre une interruption de niveau supérieur - 1 interruption de niveau supérieur peut éventuellement interrompre une interruption de niveau inférieur Les interruptions – Ph. Hoppenot
II. Exemple du 8051 Priorité Sources d'interruption Validation Les interruptions – Ph. Hoppenot
II. Exemple du 8051 Adresses des routines d'interruption RESET : INT 0: TIMER 0 : INT 1: TIMER 1 : TI ou RI : Saut à l'adresse saut à l'adresse Saut à l'adresse 0000 h 0003 h 000 Bh 0013 h 001 Bh 0023 h de la mémoire de la mémoire Les interruptions – Ph. Hoppenot
II. Exemple du 8051 org 0000 h ; Prochaine instruction à l'adresse 0000 h de la mémoire prgm ljmp debut ; saut à l'adresse du label debut org 00013 h ; Prochaine instruction à l'adresse 0013 h de la mémoire prgm ljmp pint 1 ; saut à l'adresse du label pint 1 org 0030 h ; Prochaine instruction à l'adresse 0030 h de la mémoire prgm debut: clr PX 1 ; Priorité de l'interruption INT 1 à 0 clr IE 1 ; indicateur d'interruption : en attente setb EX 1 ; demasque l'interruption INT 1 setb EA ; validation générale des interruptions … ; suite des initialisations Princ: … ; programme principal ljmp Princ ; boucle du programme principal pint 1: push PSW ; sauvegarde du contexte push ACC … ; acquittement de l'iterruption … ; traitement pop ACC ; restitution du contexte pop PSW reti ; retour au programme principal Les interruptions – Ph. Hoppenot
III. Exemple du 68000 Sources d'interruptions Reset 7 sources externes BERR IT logicielles Validation des interruptions SR Les interruptions – Ph. Hoppenot
III. Exemple du 68000 Priorité des interruptions Reset BERR Extérieures: en fonction du n° d'IT (IPL) IT logicielles Adresse d'une routine d'interruption VBR Pointeur sur une table de vecteurs d'interruptions A chaque interruption est associé un numéro de vecteur A l'adresse de ce vecteur on trouve l'adresse de la routine d'IT Ex: IT externes n° 25 à 31 n° vecteur: n°IT*4 Vecteur n° 28 4*28 = 112 = $70 Les interruptions – Ph. Hoppenot