2017-10-04 9 views

Répondre

2

Les périphériques d'E/S des systèmes actuels génèrent des interruptions de deux manières: un message d'interruption ou une interruption PCI. Une interruption PCI envoie un signal à l'APIC d'E/S, qui le convertit en un message d'interruption. Donc de toute façon, l'interruption arrive dans l'APIC sous la forme d'un message d'interruption. Le numéro de vecteur fait partie du message. Le système d'exploitation programme le message d'interruption dans l'APIC d'E/S ou dans la table des messages d'interruption d'unité d'E/S.

L'APIC ne différencie pas les périphériques d'E/S. Le message d'interruption lui indique le numéro du vecteur et le processeur auquel le message doit être remis, mais pas de quel périphérique provient le message.

Vous pouvez voir le format du message d'interruption dans le chapitre APIC du manuel du développeur de logiciel.

Il y a beaucoup plus de complexité impliquant l'IOMMU, le remappage des interruptions, et les interruptions postées, que je ne vais pas aborder ici.

+0

et comment les numéros de vecteurs sont attribués (sur quelle base)? –