GIF-1001
Cours 10, p.3
Les interruptions
• Les interruptions peuvent avoir plusieurs sources ou causes dans un
ordinateur. Un numéro est associé à chaque interruption:
– Les périphériques peuvent générer des interruptions. On parle d’interruption matérielle.
– Le processeur peut générer des interruptions s’il n’est pas capable de lire ou d’exécuter une
instruction (opcode invalide, division par 0, mémoire protégée, etc). Dans la littérature, le
terme « Exception » est parfois utilisé pour décrire ce type d’interruption ou pour décrire
l’ensemble des interruptions.
– Le système peut générer des interruptions: reset, NMI (non-maskable Interrupt), faute
matérielle générale, etc.
– Le programme peut générer des interruptions. Il y a une instruction qui permet « d’appeler »
une interruption dans tous les jeux d’instructions. Ce sont des interruptions logicielles.
– Il y a des interruptions pour le debug...
• Les interruptions de l’ordinateur sont gérées par le contrôleur d’interruption.
Ce dernier permet d’activer (masquer) ou de désactiver certaines
interruptions. Il permet aussi de changer la priorité des interruptions.
– Le contrôleur d’interruption est souvent inclus dans le chipset. Dans le cas du processeur
ARM, le contrôleur d’interruption (NVIC) est inclus dans le cœur.
– Le contrôleur d’interruption mémorise les interruptions qui se produisent dans le système.
• Les interruptions ont des priorités: une interruption haute-priorité peut
interrompre une interruption ayant un niveau de priorité plus bas.
– Certaines interruptions peuvent survenir n’importe quand, même pendant une autre
interruption.
– Certaines interruptions, comme reset, ont une priorité qui ne peut pas être changée.
– Habituellement, l’interruption la plus prioritaire est l’interruption Reset. Ensuite, les
interruptions systèmes sont les plus prioritaires, afin les interruptions logicielles sont plus
prioritaires que les interruptions matérielles qui sont les moins prioritaires.