英特尔8259 PIC - 确认中断

时间:2015-12-16 21:05:57

标签: device interrupt

假设我们的CPU系统与Intel 8259可编程中断控制器完全兼容。所以,这个CPU当然会使用向量中断。

当发生8个中断之一时,PIC只会断言连接到CPU的INTR线。现在PIC等待CPU,直到INTA被断言。这样,PIC选择具有最高优先级的中断(取决于引脚号),然后将其中断向量发送到数据总线。我省略了一些时间,但我认为现在没关系。

以下是问题:

  • 导致中断的整个设备如何知道他的中断 请求被接受,它可以取消中断请求?我读了大约8259,但我没找到。
  • 是否已接受中断的确认设备在ISR中执行?

抱歉我的英文。

1 个答案:

答案 0 :(得分:1)

严格来说,没有这样的事情 as"确认设备中断"。 ISR应该做的事情是处理 中断条件。例如,如果 UART请求中断,因为它 有一个传入的数据,那么你应该阅读 传入的数据。在读取操作之后, UART不再具有传入数据,因此很自然 它停止断言IRQ线。或者, 如果你的程序不再需要阅读 数据,并希望停止通信,它 只会屏蔽接收器中断通过 UART寄存器,再一次是UART寄存器 将停止断言IRQ线。如果是设备 只想告诉你一些状态变化, 那么你应该读新的状态了 设备将知道您有最新的 状态并将释放IRQ线。

因此,简而言之:通常没有任何特定于设备的 承认程序。你需要做的就是 服务中断条件,之后, 这种情况会消失,排除 中断请求。