Interrupt Request

Interrupt Request

Interruption matérielle

On nomme IRQ (de l'anglais Interrupt Request, en français: demande d'interruption) 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

Description vulgarisée

De nombreux ensembles de circuits électroniques spécialisés placés dans les ordinateurs assurent chacun une fonction bien précise, par exemple gérer l'affichage sur l'écran ou bien l'activité d'un disque ou d'une interface réseau. Ils sont dits spécialisés car sont incapables de réaliser d'autres fonctions que celles pour lesquelles ils furent conçus tandis que le processeur principal (CPU) reste leur chef d'orchestre et carrefour des communications. Les composants de chaque ensemble se trouvent d'ordinaire rassemblés sur une carte d'extension ou sur une zone de la carte-mère.

La plupart de ces ensembles spécialisés ne peuvent assurer seuls toutes les fonctions nécessaires à leurs missions donc sollicitent parfois l'assistance du processeur principal, ne serait-ce que pour fournir ou obtenir des informations issues d'autres éléments de la machine. Pour ce faire le processeur peut à intervalles réguliers interroger chacun d'eux afin de déterminer s'il a besoin d'aide, par exemple afin de fournir ou bien d'obtenir des informations.

Ces interrogations répétées et souvent inutiles le distraient de sa mission qui consiste à animer les programmes de l'utilisateur. De surcroît la fraction des ressources du processeur principal constamment mobilisée par ces interrogations augmente avec le nombre et la puissance des ensembles spécialisés.

Divers moyens techniques épargnent au CPU ces interrogations périodiques en fournissant aux ensembles spécialisés un moyen d'attirer son attention à n'importe quel moment afin qu'il les assiste, donc en ne le distrayant de l'exécution des programmes de l'utilisateur qu'en cas de besoin.

Pour cela certaines pattes (contacts physiques) du processeur se trouvent reliées à des pistes électriques le reliant aux ensembles spécialisés. Chacun de ces derniers peut s'y manifester en modifiant le niveau logique de la ligne afin de requérir de l'aide, donc d'inviter le processeur à prendre les dispositions nécessaires.

Pour répondre à une requête le CPU devra :

  • préserver le contexte d'exécution du programme en cours afin de pouvoir, à terme, en reprendre l'exécution
  • lire en mémoire l'emplacement du programme destiné à gérer l'événement particulier (appelé routine de gestion d'interruption ou interrupt handler), pré-établi lors de la prise en charge, par l'ordinateur, de l'ensemble spécialisé (souvent lors de l'amorçage)
  • exécuter la routine, court programme grâce auquel le processeur interagira avec l'ensemble spécialisé qui le sollicite afin de satisfaire ses attentes
  • restaurer le contexte d'exécution du programme interrompu
  • continuer a exécuter ce dernier

Notes :

  • cette séquence d'événements peut survenir très fréquemment (plusieurs dizaines de milliers de fois par seconde),
  • des composants auxiliaires (en particulier un circuit gestionnaire d'interruptions) assistent le processeur lors de ces traitements
  • lorsque plusieurs interruptions surviennent simultanément, le processeur (voire le système d'exploitation, lorsqu'il fournit la routine de gestion) dispose de moyens de déterminer leurs priorités respectives donc l'ordre de prise en compte.

Les pistes électriques délivrant ces informations au CPU sont appelées lignes d'interruption ou lignes d'IRQ. Dans un lointain passé chacune se trouvait associée, à un moment donné, à un seul ensemble spécialisé mais des astuces permettent à présent de laisser plusieurs ensembles solliciter le CPU par le biais de la même ligne d'IRQ, même de façon simultanée.

L'acronyme IRQ désigne tout à la fois le concept même d'interruption de l'exécution sur requête tierce ainsi que l'une de ces requêtes.

Les IRQ sur les architectures compatibles IBM PC

Les micro-ordinateurs compatibles avec l'IBM PC utilisent un microprocesseur compatible avec l'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 externes. 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, or le microprocesseur n'est capable d'exécuter qu'une interruption à un moment donné. Le contrôleur d'interruption ou 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 matériel 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 : Port série (COM2/COM4)
  • IRQ 4 : Port série (COM1/COM3)
  • IRQ 5 : Disque dur
  • IRQ 6 : Lecteur de disquettes
  • IRQ 7 : Port parallèle (LPT1)

On remarque que les COM1 et COM3 ainsi que les ports COM2 et COM4 utilisent les mêmes interruptions. Cela semble illogique. Il est en fait possible d'utiliser le port COM1 et le port COM3 (idem pour COM2 et COM4) à condition qu'ils ne soient pas actifs simultanément.

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) :

  • IRQ 0 : Horloge Système
  • IRQ 1 : Clavier
  • IRQ 2 : N/A (cascade du second contrôleur)
  • IRQ 3 : Port série (COM2/COM4)
  • IRQ 4 : Port série (COM1/COM3)
  • IRQ 5 : LPT2 (carte de son)
  • IRQ 6 : Lecteur de disquettes
  • IRQ 7 : Port parallèle (LPT1)
  • IRQ 8 : Horloge temps réel
  • IRQ 9 : N/A (PCI)
  • IRQ 10 : N/A
  • IRQ 11 : N/A (USB)
  • IRQ 12 : N/A (PS/2)
  • IRQ 13 : Coprocesseur math.
  • IRQ 14 : Disque dur primaire
  • IRQ 15 : Disque dur secondaire


Les IRQ 9, 10, 11 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

  • Portail de l’informatique Portail de l’informatique
Ce document provient de « Interruption mat%C3%A9rielle ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Interrupt Request de Wikipédia en français (auteurs)

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • Interrupt Request — Interrupt Request,   IRQ …   Universal-Lexikon

  • Interrupt request — IRQ redirects here. For the country with the ISO 3166 1 country code, see Iraq. The computing phrase interrupt request (or IRQ) is used to refer to either the act of interrupting the bus lines used to signal an interrupt, or the interrupt input… …   Wikipedia

  • Interrupt Request — Die Artikel Interrupt und Unterbrechungsanforderung überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Beteilige dich dazu an der Diskussion über diese Überschneidungen. Bitte entferne diesen… …   Deutsch Wikipedia

  • Interrupt Request Line —   [dt. »Unterbrechungsanforderungs Leitung«], Interrupt Leitung …   Universal-Lexikon

  • interrupt request —    Abbreviated IRQ. Hardware lines that carry a signal from a device to the processor.    A hardware interrupt signals that an event has taken place that requires the processor s attention. The interrupt may come from the keyboard, the network… …   Dictionary of networking

  • interrupt request (IRQ) signal —    A method by which I/O peripherals request attention from a PC s CPU …   IT glossary of terms, acronyms and abbreviations

  • interrupt request — noun The act of interrupting any of several hardware processes in a computer …   Wiktionary

  • Interrupt —   [dt. »Unterbrechung«] der, eine Unterbrechung des aktuellen Prozesses, die ein Prozessor in regelmäßigen Abständen oder bei Vorliegen einer entsprechenden Anfrage vornimmt, um Systemroutinen bzw. die Anforderung abzuarbeiten. Der Prozessor… …   Universal-Lexikon

  • Interrupt — This article is about computer interrupts. For the study of the effect of disruptions on job performance, see Interruption science. In computing, an interrupt is an asynchronous signal indicating the need for attention or a synchronous event in… …   Wikipedia

  • Interrupt priority level — The interrupt priority level (IPL) is a part of the current system interrupt state, which indicates the interrupt requests that will currently be accepted. The IPL may be indicated in hardware by the registers in a Programmable Interrupt… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”