【发布时间】:2015-03-21 14:45:07
【问题描述】:
我正在阅读"Intel 8259A" document,其中有一段我无法完全理解(第7页结束):
当 8259A PIC 接收到中断时,INT 变为活动状态并启动中断确认周期。如果在两个 INTA 脉冲之间发生更高优先级的中断,则 INT 线在第二个 INTA 脉冲之后立即变为非活动状态。经过一段未指定的时间后,INT 线再次被激活,表示更高优先级的中断等待服务。此非活动时间未指定,并且可能因部件而异。设计人员在设计使用 8259A 的系统时应注意这一点。建议遵循适当的异步设计技术。
我了解在第一个 INTA(最初确认中断)之后和第二个 INTA(CPU 想要 8 位中断向量)之前,如果“激活”更高优先级的中断线(我不是电子工程师),INT 线到 CPU 被停用并在未指定的时间段后重新激活。
我不明白的是:
作为准系统(OS 内核)开发人员,所讨论的行为对我有什么影响?
提到的“异步设计技术” - 这些是硬件设计技术,还是对编写内核的人的暗示?在我看来,如果在两个 INTA 脉冲之间出现中断,我无能为力 - 这一切都发生在我作为内核开发人员真的无法控制的层面上,可以吗?
【问题讨论】:
-
您和您的驱动程序/内核必须以一种或另一种方式正确处理此问题。
-
谢谢马丁。需要指出的是,错误地处理这个问题从来都不是我的设计蓝图的一部分 ;-) 而且我们似乎又回到了原点。
标签: x86 operating-system interrupt-handling