Interruption matérielle

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). L’autre sorte d’interruption est l’interruption logicielle (software interrupt ou soft IRQ en anglais), généralement déclenchée par une instruction spéciale du processeur. Les deux sortes d’interruptions déclenchent un basculement de contexte vers le gestionnaire d’interruption associé.

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 à l'écran ou bien l'activité d'un disque ou d'une interface réseau. Ils sont dits spécialisés car ils sont incapables de réaliser d'autres fonctions que celles pour lesquelles ils furent conçus, tandis que le processeur principal (UCT) 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 ils 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 processeur 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'au 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 processeur 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é gestionnaire d'interruption ou routine de gestion d'interruption (interrupt handler en anglais)), 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 ; et enfin
  • continuer à 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.

Le sigle 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 interruptions restantes sont des interruptions logicielles.

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 IRQs 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 IRQs 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


Wikimedia Foundation. 2010.

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

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • 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… …   Wikipédia en Français

  • Interruption materielle — 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… …   Wikipédia en Français

  • Interruption (informatique) — Pour les articles homonymes, voir Interruption. En informatique, une interruption est un arrêt temporaire de l exécution normale d un programme informatique par le microprocesseur afin d exécuter un autre programme (appelé routine d interruption) …   Wikipédia en Français

  • Sécurité matérielle des cartes à puce — La sécurité matérielle des cartes à puce et des autres microcontrôleurs est l un des éléments clefs de la sécurité des informations sensibles qu ils manipulent. La littérature scientifique a produit un grand nombre de publications visant à… …   Wikipédia en Français

  • Vecteur d'interruption — Sur les autres projets Wikimedia : « Vecteur d interruption », sur le Wiktionnaire (dictionnaire universel) Un vecteur d interruption, est l adresse mémoire du gestionnaire d interruption du noyau d un système d exploitation. Il s… …   Wikipédia en Français

  • 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… …   Wikipédia en Français

  • A653 — ARINC 653 ARINC 653 est un standard de partitionnement temporel et spatial de ressources informatiques. Ce standard définit également des interfaces de programmation et de configuration qui permettent d assurer l indépendance de l application vis …   Wikipédia en Français

  • ARINC 653 — est un standard de partitionnement temporel et spatial de ressources informatiques. Ce standard définit également des interfaces de programmation et de configuration qui permettent d assurer l indépendance de l application vis à vis du logiciel… …   Wikipédia en Français

  • Espace utilisateur — Quand le processeur d un système informatique possède au moins deux modes de fonctionnement, dont un mode dit superviseur qui n impose pas de restrictions sur les instructions exécutées, et un mode dit utilisateur qui limite ce que peuvent faire… …   Wikipédia en Français

  • Système d'exploitation — Pour les articles homonymes, voir SE et OS (homonymie). Le système d exploitation est un intermédiaire entre les logiciels d application et le matériel. Le système d exploitation …   Wikipédia en Français

Share the article and excerpts

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