editor
621
modifications
m (→IRQ) |
(→IRQ : ajout de liens) |
||
Ligne 58 : | Ligne 58 : | ||
== IRQ == | == IRQ == | ||
Une IRQ ('''I'''nterrupt '''R'''e'''Q'''uest) est la demande d'exécution d'un programme qu'on appelle routine d'interruption (ISR '''I'''nterrupt '''S'''ervice '''R'''outine).<br /> | Une IRQ ('''I'''nterrupt '''R'''e'''Q'''uest) est la demande d'exécution d'un programme qu'on appelle routine d'[https://fr.wikipedia.org/wiki/Interruption_%28informatique%29 interruption] ([http://en.wikipedia.org/wiki/Interrupt_handler ISR] '''I'''nterrupt '''S'''ervice '''R'''outine).<br /> | ||
On distingue les interruptions matérielles, qui sont déclenchées lorsqu'un événement matériel se produit (On appuie sur une touche du clavier par exemple)<br /> | On distingue les interruptions matérielles, qui sont déclenchées lorsqu'un événement matériel se produit (On appuie sur une touche du clavier par exemple)<br /> | ||
et les interruptions logicielles, qui peuvent être appelées depuis un programme avec l'instruction INT suivie d'un numéro.<br /> | et les interruptions logicielles, qui peuvent être appelées depuis un programme avec l'instruction INT suivie d'un numéro.<br /> | ||
Ce numéro, appelé vecteur d'interruption, correspond à un index sur un tableau nommée IDT ('''I'''nterruption '''D'''escriptor '''T'''able) constitué d'une liste d'adresses qui pointent sur l'entrée de l'ISR à exécuter.<br /> | Ce numéro, appelé vecteur d'interruption, correspond à un index sur un tableau nommée [http://fr.wikipedia.org/wiki/Interrupt_Descriptor_Table IDT] ('''I'''nterruption '''D'''escriptor '''T'''able) constitué d'une liste d'adresses qui pointent sur l'entrée de l'ISR à exécuter.<br /> | ||
Le déclenchement d'une interruption provoquera la sauvegarde du contexte du programme en cours qui sera restauré par l'exécution de la dernière instruction de l'ISR : IRET ('''I'''nterruption '''RET'''urn), permettant ainsi au programme interrompu de pouvoir poursuivre son exécution. | Le déclenchement d'une interruption provoquera la sauvegarde du contexte du programme en cours qui sera restauré par l'exécution de la dernière instruction de l'ISR : IRET ('''I'''nterruption '''RET'''urn), permettant ainsi au programme interrompu de pouvoir poursuivre son exécution. | ||