Journal Explication sur APIC

Posté par  .
Étiquettes : aucune
0
13
mai
2003
Bonjour,

est-ce que quelqu'un pourrait m'expliquer à quoi sert l'APIC exactement, et s'il est important de l'activer.

J'ai cherché sur le web, mais je suis tombé sur des documents techniques ( ex : http://www.oberle.org/apic_timer.html ) où je n'ai pas compris grand chose.

Une explication ou un lien vers un document expliquant "simplement" à quoi ça sert , ça serait cool.

Merci.
  • # Re: Explication sur APIC

    Posté par  (site web personnel) . Évalué à 4.

    Un APIC ou Advanced Programmable Interrupt Controller est une amélioration
    de l'ancien système utilisé sur les 80x86 (PIC) qui permet la gestion de 15 lignes d'interruptions matérielles (2*8 - 1 pour la cascade).

    Ce chip développé par intel pour les systèmes multi proc est de plus en plus intégré aux nouvelles carte mères en effet il permet le support de 24 lignes IRQ (IIRC) la réallocation dynamique de ces IRQ et 2/3 autres trucs sympa.

    En résume mieux va l'activer si sa ne plante pas chez toi (certains vieux OS/drivers/programmes spécifiques n'apprécient pas le changement).

    http://www.intel.com/design/chipsets/datashts/290566.htm(...)
    http://www.intel.com/design/chipsets/specupdt/290710.htm(...)
    http://osdev.berlios.de/pic.html(...)
  • # Re: Explication sur APIC

    Posté par  . Évalué à 3.

    google....

    depuis http://www.entrouvert.org/articles/4(...) concernant un règlage du BIOS:
    APIC Function: Enabled - Cette option est nécessaire si on veut activer les fonctions « Local APIC support on uniprocessors (CONFIG_X86_UP_APIC) » et « IO-APIC support on uniprocessors (CONFIG_X86_UP_IOAPIC) » du noyau Linux 2.4. On peut ainsi disposer d'un « watchdog ».

    depuis http://darmicro.free.fr/bios/biossp.htm(...)
    APIC
    IO-APIC Enabled
    Disabled * Permet d'activer la gestion des contrôleurs d'interruption programmables avancés (Advanced Programmable Interrupt Controller - contrôleur d'interruptions programmable avancé).Il dirige les interruptions d'E/S du système vers le ou les microprocesseurs. Ces contrôleurs sont utilisés avec système SMP (Symetric Multi-Processors), mais certaines cartes mères monoprocesseurs les utilisent. L'option "APIC Mode" est activée si un processeur utilisant cette technologie est détecté .


    Mais le plus intéressant: http://www.repaire.net/navig/mont_choisir/irq-1.php(...)
    ... L'APIC permet de traiter jusqu'à 256 requêtes d'interruption différentes - les 16 premières étant équivalentes aux 16 ....
    • [^] # Re: Explication sur APIC

      Posté par  (site web personnel) . Évalué à 1.

      Mais le plus intéressant: http://www.repaire.net/navig/mont_choisir/irq-1(...)
      ... L'APIC permet de traiter jusqu'à 256 requêtes d'interruption différentes - les 16 premières étant équivalentes aux 16 ....


      Devraient lire les specs un peu mieux eux:
      cf les pdf d'intel de mon commentaire:

      24 Programmable Interrupts
      13 ISA Interrupts Supported
      4 PCI Interrupts
      1 Interrupt/SMI# Rerouting
      2 Motherboard Interrupts
      1 Interrupt Used for INTR Input
      3 General Purpose Interrupts
      Independently Programmable for
      Edge/Level Sensitivity Interrupts
      Each Interrupt Can Be Programmed
      to Respond to Active High or Low
      Inputs

      on est loin des 256 ...
      • [^] # Re: Explication sur APIC

        Posté par  . Évalué à 1.

        Mouarfff, Tous le monde a faux et tous le monde a bon. Il y a deux choses completement differentes: L'APIC et l'IO-APIC Le premier est interne au cpu et permet en effet de gerer 256 sources differentes, c'est la partie interne au cpu qui permet de masquer ou pas les interrupts entre autre. Il sert egalement à la gestion du bus de signalisation interprocesseur pour les machines SMP et integre (cpu>pentium) un timer additionnel utilisé par linux pour réaliser un watchdog hard (genère une interruption bas niveau nom masquable (smi)). Il integre plein de gadgets en plus sur les proc recents. L'IO-APIC quand a lui est le remplacant de nos bon vieux 8259 (dénomé xt-pic sous linux). C'est le controleur physique d'interrruption en lui meme qui est en double (cascadé) dans les anciens PC a base de 8259. L'IO-APIC permet en effet de generer 24 interrupt hw differentes. Y a des machines un peut tordu avec plusieurs IO-APIC, ou des IO-APIC "Custom" gérant plusieurs dixaines de lignes d'interruption physiques. Sous Linux, dans /proc/interrupts, les interrupts sont numérotés par rapport au nombre de ligne physiques disponibles (16 ou 24 en gereral), le mapping vers le vecteur APIC est caché (voir la table affiché au boot). Sous Windows (NT), c'est le numéro des vecteur APIC qui est affiché. Sur une machine SMP en mode MPS1.4 (multiprocesseur post 486), les interruptions sont donc numérotés de 0 a 255. Sur ma machine, ma 2940 se retrouve en 30 et des brouettes et ma matrox en 80 et des poussières. Quand on parle d'interruption sur nos pc modernes il faut avoir à l'esprit la chose suivante: Broche physique -> mapping broche physique vs No INT IO-APIC -> mapping INT IO-APIC vs INT CPU APIC -> vecteur d'interruption réel. Pour compliquer un peut plus les tables de mapping, une interrupt peut être routée ver un cpu uniquement, plusieurs, tous ...
    • [^] # Re: Explication sur APIC

      Posté par  . Évalué à 1.

      C'est une des conditions à l'obtention du logo Microsoft "Designed for Windows XP"

      c'est peut-être un peu simpliste comme raisonnement, mais si je vois l'étiquette "Designed for Windows XP", c'est que le bios gère l'APIC ?

      ça doit pouvoir se vérifier sous windows XP ou même dans le bios ( quoique le menu du bios m'avait semblé plutôt léger ).

      en tout cas, merci pour ces précisions.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.