La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Les interruptions – Ph. Hoppenot Les interruptions I.Notion d'interruption II.Exemple du 8051 III.Exemple du 68000.

Présentations similaires


Présentation au sujet: "Les interruptions – Ph. Hoppenot Les interruptions I.Notion d'interruption II.Exemple du 8051 III.Exemple du 68000."— Transcription de la présentation:

1 Les interruptions – Ph. Hoppenot Les interruptions I.Notion d'interruption II.Exemple du 8051 III.Exemple du 68000

2 Les interruptions – Ph. Hoppenot I. Notion d'interruption Evénement extérieur Pgm principal:................. Routine IT: SP -> Sauvegarde du contexte Acquittement Restitution du contexte Retour............ Adresse de retour Contexte Interruption validée ? 1 2 3 5 6 7 8 9 10 7 9 11 Recherche de l'adresse de la routine d'IT 4

3 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.

4 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

5 Les interruptions – Ph. Hoppenot II. Exemple du 8051 Sources d'interruption Validation Priorité

6 Les interruptions – Ph. Hoppenot II. Exemple du 8051 Adresses des routines d'interruption RESET :Saut à l'adresse0000h de la mémoire INT0:Saut à l'adresse0003hde la mémoire TIMER0 :saut à l'adresse000Bhde la mémoire INT1:Saut à l'adresse0013hde la mémoire TIMER1 :Saut à l'adresse001Bhde la mémoire TI ou RI :Saut à l'adresse0023hde la mémoire

7 Les interruptions – Ph. Hoppenot II. Exemple du 8051 org0000h; Prochaine instruction à l'adresse 0000h de la mémoire prgm ljmpdebut; saut à l'adresse du label debut org00013h; Prochaine instruction à l'adresse 0013h de la mémoire prgm ljmppint1; saut à l'adresse du label pint1 org0030h; Prochaine instruction à l'adresse 0030h de la mémoire prgm debut:clr PX1 ; Priorité de l'interruption INT1 à 0 clr IE1; indicateur d'interruption : en attente setb EX1; demasque l'interruption INT1 setb EA; validation générale des interruptions …; suite des initialisations Princ:…; programme principal ljmp Princ; boucle du programme principal pint1: push PSW; sauvegarde du contexte push ACC …; acquittement de l'iterruption …; traitement pop ACC; restitution du contexte pop PSW reti; retour au programme principal

8 Les interruptions – Ph. Hoppenot III. Exemple du 68000 Sources d'interruptions Reset 7 sources externes BERR IT logicielles Validation des interruptions SR

9 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 VBRPointeur 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° 284*28 = 112 = $70


Télécharger ppt "Les interruptions – Ph. Hoppenot Les interruptions I.Notion d'interruption II.Exemple du 8051 III.Exemple du 68000."

Présentations similaires


Annonces Google