Interruption (informatique)

Une interruption est le cas où un microprocesseur fait quelque chose qu'il n'est pas censé faire à cause de choses qui se produisent en dehors de ce que le programme est censé faire. Les interruptions se produisent le plus souvent parce que le processeur reçoit un signal du matériel, mais elles peuvent également provenir du logiciel qui tourne avec le programme. Parmi les nombreux éléments qui peuvent provoquer des interruptions, on peut citer l'appui sur des touches d'un clavier, le déclenchement de la minuterie intégrée, un transfert de données en cours ou tout autre événement nécessitant une action immédiate du processeur. Les interruptions peuvent se produire à tout moment pendant que le processeur exécute un programme, quel que soit l'endroit où il se trouve dans le code source du programme.

Ce graphique montre ce qui se passe lorsqu'une interruption est appeléeZoom
Ce graphique montre ce qui se passe lorsqu'une interruption est appelée

Comment interrompre le travail

Une demande d'interruption matérielle ou logicielle (appelée demande d'interruption ou IRQ) est prise en charge par un "gestionnaire d'interruption" ou "routine de service d'interruption" (ISR) dans le processeur. Il place ce qu'il fait à ce moment-là sur une pile et suit ensuite certaines instructions qui effectuent une tâche donnée au nom du système, qui ne doit pas nécessairement faire partie du programme qu'il exécute. Une fois qu'il a fini de suivre les instructions, l'ISR reprend alors ce qu'il a mis sur la pile et continue ce qu'il faisait avant l'interruption.

De nombreux contrôleurs d'interruptions des processeurs actuels utilisent un vecteur d'interruption pour trier les interruptions en fonction de leur origine, entre autres. Le vecteur contient généralement le code qui doit être exécuté lorsque l'interruption se produit. Les ISR sont généralement chargés de traiter ou de "réparer" l'interruption, ainsi que de la maintenir en état de marche.

Utilisations des interruptions

  • Déclenchement de tâches à intervalles réguliers
  • Entretien d'un appareil externe qui peut se produire à tout moment
  • Supprimer la nécessité d'un scrutin synchrone
  • Déclenchement d'une action sur un système d'exploitation (OS)

Questions et réponses

Q : Qu'est-ce qu'une interruption ?


R : Une interruption est une action entreprise par un microprocesseur qui ne fait pas partie du programme en cours d'exécution en raison d'événements extérieurs.

Q : Qu'est-ce qui provoque le plus souvent des interruptions sur un processeur ?


R : Les interruptions se produisent le plus souvent sur un processeur en raison de la réception de signaux provenant du matériel.

Q : Les interruptions peuvent-elles être provoquées par des logiciels ?


R : Oui, les interruptions peuvent également être provoquées par un logiciel qui fonctionne parallèlement au programme en cours d'exécution.

Q : Citez quelques exemples d'événements susceptibles de provoquer une interruption.
R : Les exemples d'événements susceptibles de provoquer une interruption sont l'appui sur les touches d'un clavier, le déclenchement d'une minuterie et l'exécution de transferts de données.

Q : Une interruption dépend-elle de l'endroit où le programme s'exécute ?


R : Non, les interruptions peuvent se produire à n'importe quel moment de l'exécution du programme, quelle que soit la position du programme dans son code source.

Q : Une interruption est-elle un événement souhaitable pour un microprocesseur ?


R : Les interruptions sont généralement des événements indésirables pour un microprocesseur car elles perturbent l'exécution du programme et nécessitent une attention immédiate.

Q : Comment un microprocesseur réagit-il à une interruption ?


R : Un microprocesseur suspend temporairement le programme en cours d'exécution et exécute une routine de service d'interruption (ISR) pour gérer l'interruption avant de revenir au programme en cours d'exécution.

AlegsaOnline.com - 2020 / 2023 - License CC3