中断是否用于表示输出已准备好或输入已完成?

Tim*_*Tim 0 io interrupt

操作系统概念 说:

在 I/O 期间,各种设备控制器在准备好服务时会引发中断。这些中断表示

  • 该输出已完成,或
  • 输入数据可用,或
  • 检测到故障。

中断是否用于表示输出已准备好或输入已完成?

如果不是,它们是否需要以其他方式表示?

And*_*aKo 5

放在标题中或放在标题中是一件好事,因为答案是肯定的。

也就是说,确切的答案取决于您所询问的确切中断。我们以 SPI 端口和 DMA 为例。SPI 是双向串行接口。

例如,DMA 中断标记所谓的水位是很常见的。当 DMA 缓冲区已满、“几乎已满”(例如 3/4)、“几乎为空”(例如 1/4)以及完全为空时,您将有一个中断。

对于 SPI 端口,您将有两个 DMA 通道。一个将处理来自外部设备的数据,另一个将处理将从您的计算机发送到设备的数据。
因此,当输出 DMA 通道中断指示缓冲区为空时,即表示输出已完成。当输入 DMA 通道中断指示缓冲区不为空时,表示该输入数据可用。