Fonctionnement interne d'un microprocesseur


cours d'initiation atomeaux microprocesseurs
et aux micro-ordinateurs
chip

epingleL'interruption

balleNiveau Hard

Le microprocesseur possède des broches spécialisées pour les interruptions. Si un composant extérieur au microprocesseur veut l'interrompre, il lui suffit de changer la valeur d'une de ces broches (0fleche1 ou 1fleche0 suivant les broches). Le programme qui traite l'interruption ( appelé sous-programme d'interruption) a été placé en mémoire par le concepteur à une adresse connue du microprocesseur.

balleNiveau Soft
Lors d'une interruption, le microprocesseur exécute l'instruction en cours, puis charge le (PC) (pointeur de programme) à l'adresse de la première instruction du sous-programme d'interruption. De manière à pouvoir terminer le programme en cours et revenir à PC +m (adresse de l'instruction suivante), cette adresse est mémorisée dans la pile.

 

interruption

 

Sauvegarde sur la pile

 


Dans notre exemple, l'adresse de l'instruction en cours est 12E30H. Le microprocesseur exécute l'instruction MOV C,B. Il s'aperçoit de la demande d'interruption.

Avant de la traiter, il termine l'instruction, sauvegarde l'adresse de retour dans la pile, c'est à dire l'adresse de l'instruction suivante (dans notre exemple 12E32H). Et enfin il se branche à l'adresse du sous-programme d'interruption.

A la fin de celui-ci, nous pourrons revenir au programme principal en reprenant l'adresse sauvegardée dans la pile, grâce à une instruction de retour (interrupt return IRET).

Le sous-programme d'interruption peut utiliser les registres et donc les modifier. Pour éviter tous problèmes, on sauvegarde sur la pile (empiler: PUSH) tous les registres qui contiennent une donnée.

Cet empilement s'appelle : sauvegarde du "contexte". Le microprocesseur se charge de sauvegarder le (PC) et auxssi le registre d'état F. Les autres registres doivent être gérés par le programmeur du micro-ordinateur.

 hibou

chapitre3precedentesuivante

Retour à la table des matières.

hibou

serveur eudil Dernière mise à jour : le 5 mai 1999 Auteur : Robert Litwak réalisation des pages  Olivier  Scrive