Interruption matérielle
On nomme IRQ (de l'anglais Interrupt Request) une interruption qui est déclenchée par une ligne d'entrée-sortie matérielle d'un microprocesseur ou d'un microcontrôleur.
Les interruptions matérielles sont utilisées en informatique lorsqu'il est nécessaire de pouvoir réagir en temps réel à un événement asynchrone, ou bien, de manière plus générale, afin d'économiser le temps d'exécution lié à une boucle de consultation (polling loop).
| Sommaire |
Les IRQ sur les architectures compatibles IBM PC
Les micro-ordinateurs compatibles avec l'IBM PC utilisent un microprocesseur compatible avec le Intel 8088, lequel dispose d'un tableau de 256 interruptions programmables. Parmi celles-ci, 16 sont directement déclenchées par des événements d'entrée-sortie externe. Celles-ci sont nommées IRQn, n allant de 0 à 15. Les périphériques (clavier, souris, imprimante) doivent pouvoir fonctionner en même temps, hors le microprocesseur n'est capable d'exécuter qu'une interruption à un moment donné. Le contrôleur d'IRQ a donc pour tâche de sérialiser les appels d'interruption vers le microprocesseur. Certains périphériques étant plus critiques que d'autres, la sérialisation des appels d'interruption est influencée par le numéro d'IRQ qui fixe une priorité. Ainsi l'IRQn est prioritaire sur l'IRQn+1.
Dans le cas des premiers micro-ordinateurs Compatibles PC, les circuits intégrés 8259A et 8259B gèrent ces requêtes.
IRQ et bus ISA historique
À chaque IRQ est associée un périphérique fixé par la conception de l'architecture ; 4 d'entre elles restant disponibles pour des périphériques supplémentaires. La mise en place d'un périphérique (par exemple, d'une carte d'extension) non prévu par ce schéma nécessite deux étapes : configurer le matériel (souvent en positionnant des cavaliers sur la carte), afin de lui indiquer quelle ligne utiliser, et configurer le logiciel afin de lui indiquer quelle ligne est utilisée par la carte. Une inadéquation entre la configuration du logiciel et du matériel, ou un conflit entre deux périphériques configurés tous deux pour utiliser la même ligne, est souvent cause de dysfonctionnement.
Les IRQ sur les premiers IBM PC/XT étaient définies comme suit (par ordre de priorité décroissante) :
- IRQ 0 : Horloge système
- IRQ 1 : Clavier
- IRQ 2 : Second contrôleur d'interruption (PC/AT)
- IRQ 3 : Second port série (COM2)
- IRQ 4 : Premier port série (COM1)
- IRQ 5 : Disque dur
- IRQ 6 : Lecteur de disquettes
- IRQ 7 : Port parallèle (LPT1)
Lors du passage du PC/XT au PC/AT, un second contrôleur d'interruption fut ajouté en cascade du premier. Les IRQ sur les premiers IBM PC/AT étaient donc définies comme suit (la priorité 0 étant la plus forte) :
| Priorité | IRQ | Maître | Esclave | Périphérique |
|---|---|---|---|---|
| 0 | 0 | 0 | Horloge système | |
| 1 | 1 | 1 | Clavier | |
| 2 | 8 | 0 | Horloge temps réel | |
| 3 | 9 | 1 | ||
| 4 | 10 | 2 | ||
| 5 | 11 | 3 | ||
| 6 | 12 | 4 | PS/2 | |
| 7 | 13 | 5 | Coprocesseur arithmétique | |
| 8 | 14 | 6 | Disque dur | |
| 9 | 15 | 7 | ||
| 10 | 2 | 2 | Horloge temps réel | |
| 11 | 3 | 3 | Second port série (COM2) | |
| 12 | 4 | 4 | Premier port série (COM1) | |
| 13 | 5 | 5 | Second port parallèle (LPT2) | |
| 14 | 6 | 6 | Lecteur de disquettes | |
| 15 | 7 | 7 | Premier port parallèle (LPT1) |
Les IRQ 9, 10, 11 et 15 ne sont pas utilisées, et sont disponibles pour des périphériques supplémentaires.
IRQ et bus ISA Plug'n'Play
La spécification ISA Plug and Play, fruit d'une collaboration entre Intel et Microsoft, vise à automatiser l'attribution d'IRQ pour les périphériques utilisant le bus ISA.
IRQ et bus PCI
| Image manquante Symbole-ordinateur.png | Cet article est une ébauche concernant l'informatique, vous pouvez partager vos connaissances en le modifiant. |
