0

Apic 用于向处理器提供中断。那么 io 设备如何使用它来产生中断以及谁生成向量号以选择合适的中断处理程序以及 apic 如何区分 io 设备?

4

1 回答 1

2

当前系统中的 I/O 设备以两种方式之一产生中断:中断消息或 PCI 中断。PCI 中断向 I/O APIC 发送信号,后者将其转换为中断消息。所以无论哪种方式,中断都会作为中断消息进入 APIC。向量编号是消息的一部分。操作系统将中断消息编程到 I/O APIC 或 I/O 设备中断消息表中。

APIC 不区分 I/O 设备。中断消息告诉它向量编号和消息应该被传递到哪个处理器,但不告诉它消息来自哪个设备。

您可以在软件开发人员手册的 APIC 章节中查看中断消息格式。

涉及 IOMMU、中断重新映射和发布中断的复杂性要多得多,我不打算在这里讨论。

于 2017-10-05T03:14:41.733 回答