IO-APIC

IO-APIC est l'acronyme de I/O Advanced Programmable Interrupt Controller, qui est un contrôleur programmable d'interruptions.



Catégories :

Microprocesseur

Recherche sur Google Images :


Source image : slist.lilotux.net
Cette image est un résultat de recherche de Google Image. Elle est peut-être réduite par rapport à l'originale et/ou protégée par des droits d'auteur.

Page(s) en rapport avec ce sujet :

  • Nom du Système ŒM : VIA Standard Host Bridge... APIC 1. Modèle : VIA I/O APIC Interrupt Controller Révision : A1 Version : 0.03. Multiplicateur : 1/2x. Interruptions Maximums : 24. Descripteur IRQ Engagé : Oui... (source : clubic)
  • Dispositifs sur Carte To Be Filled By O. E. M.  : Adaptateur Vidéo (Activé)... Modèle : VIA K8M890CE I/O APIC Interrupt Controller Révision : A1 Version : 0.03... Interruptions Maximums : 24. Descripteur IRQ Engagé : Oui... (source : forum.hardware)

IO-APIC est l'acronyme de I/O Advanced Programmable Interrupt Controller, qui est un contrôleur programmable d'interruptions.

C'est une architecture Intel pour gérer les interruptions dans les ordinateurs multiprocesseurs.

Elle est mise en œuvre par la puce Intel 82093AA et se trouve sur l'ensemble des cartes Intel SMP.

C'est une des nombreuses tentatives pour résoudre les problèmes d'IRQ. Il ne faut pas la confondre avec l'ACPI (Advanced Configuration and Power Interface).

Dans la vue du niveau du dispositif, il y a deux parties d'APIC. Une d'entre elles est dans le processeur, et appelée "Local APIC", tandis que l'autre est membre du dispositif des Entrées/Sorties avec le nom de "IOAPIC". Elles sont connectées par un bus APIC dédié. Le Local APIC gère l'ensemble des interruptions locales pour le processeur local. En plus, il est capable d'accepter et de générer des interruptions interprocesseurs sur le bus APIC. L'unité IOAPIC contient une table de redirections. Elle redirige les interruptions d'un APIC local vers un autre par l'intermédiaire du bus. Le mécanisme APIC rend envisageable la gestion des interruptions dans un environnement multiprocesseur, tandis que l'ancien mécanisme PIC ne peut le faire.

Ce peut être une cause de défaillance du dispositif, car certaines versions de certains dispositifs d'exploitation ne le gèrent pas correctement. Si c'est le cas, la désactivation du IO-APIC peut régler le problème. Pour Linux, il faut essayer le paramètre noyau "noapic" ; pour FreeBSD, la variable d'environnement noyau "hint. apic. 0. disabled"

Dans Linux, les problèmes avec IO-APIC sont une des nombreuses causes de messages d'erreur concernant "spurious 8259A interrupt : IRQ7. ". Il est aussi envisageable que l'IO-APIC cause des problèmes avec les interfaces réseau basées sur le pilote via-rhine, causant un dépassement de délai de transmission. Les noyaux monoprocesseurs avec l'APIC activée peut provoquer la génération d'interruptions spécieuses.

Détails de mise en œuvre

Chaque processeur contient un Local APIC et il peut y avoir plusieurs I/O APIC répartis dans le reste du dispositif (dans le chipset ou bien dans des bridges PCI-PCIe par exemple). Le bus interconnectant ces différents APIC est un bus "logique", dans le sens qu'il ne s'agit pas de "nouveaux fils dédiés" (pour le PCI, il y a toujours le fil d'interruption classique, et pour le PCIe, les interruptions peuvent voyager sous forme de message, les MSI).

Chaque I/O APIC (qui possède 24 entrées) peut se voir attribuer par le BIOS une "base" qui définit quels numéros d'interruption il va générer : ainsi, un I/O APIC qui a comme base 0 générera les interruptions 0+0=0 à 0+23=23, tandis qu'un I/O APIC qui a comme base 24 générera les interruptions 24+0=24 à 24+23=47, et ainsi de suite...

Si le dispositif est bien conçu (ce qui n'est pas nécessairement le cas de l'ensemble des cartes mères), alors chaque périphérique peut se voir attribuer un numéro d'interruption unique qu'il n'aura pas à partager avec d'autres périphériques.

Bien que les dispositifs d'exploitation modernes (Windows XP ou Linux) soient capables de gérer le partage d'interruptions, ce mécanisme est intéressant pour la conception de dispositifs temps réel ou on veut éviter d'interroger inutilement un périphérique pour savoir si c'est lui qui vient de générer l'interruption : si les interruptions ne sont pas partagées, quand on reçoit un numéro d'interruption donné, on sait en effet immédiatement quel périphérique a signalé cette interruption, ce qui diminué la latence et augmente le déterminisme de son traitement.

Liens externes

Recherche sur Amazone (livres) :




Ce texte est issu de l'encyclopédie Wikipedia. Vous pouvez consulter sa version originale dans cette encyclopédie à l'adresse http://fr.wikipedia.org/wiki/IO-APIC.
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 07/04/2010.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.
Accueil Recherche Aller au contenuDébut page
ContactContact ImprimerImprimer liens d'évitement et raccourcis clavierAccessibilité
Aller au menu