中断

编辑
本词条由“匿名用户” 建档。
在数字计算机中,中断(有时称为陷阱)是请求处理器中断当前正在执行的代码(如果允许),以便及时处理事件。 如果请求被接受,处理器将暂停其当前活动,保存其状态,并执行一个称为中断处理程序(或中断服务例程,ISR)的函数来处理该事件。 这种中断通常是暂时的,允许软件在中断处理程序完成后恢复正常活动,尽管中断可能指示致命错误。 硬件设备通常使用中断来指示需要时间敏感注意的电子或物理状态变化。 中...
目录

中断

编辑

数字计算机中,中断(有时称为陷阱)是请求处理器中断当前正在执行的代码(如果允许),以便及时处理事件。 如果请求被接受,处理器将暂停其当前活动,保存其状态,并执行一个称为中断处理程序(或中断服务例程,ISR)的函数来处理该事件。 这种中断通常是暂时的,允许软件在中断处理程序完成后恢复正常活动,尽管中断可能指示致命错误

硬件设备通常使用中断来指示需要时间敏感注意的电子或物理状态变化。 中断也常用于实现计算机多任务处理,尤其是在实时计算中。 以这些方式使用中断的系统被称为中断驱动的。

类型

编辑

中断信号可以响应硬件或软件事件而发出。 这些分别被分类为硬件中断或软件中断。 对于任何特定的处理器,中断类型的数量受架构限制。

硬件中断

硬件中断是与硬件状态相关的条件,可以由外部硬件设备发出信号,例如 PC 上的中断请求 (IRQ) 线,或由处理器逻辑中嵌入的设备(例如 CPU 计时器检测 在 IBM System/370 中),以传达设备需要来自操作系统 (OS) 的关注,或者,如果没有操作系统,则来自运行在 CPU 上的裸机程序。 这些外部设备可能是计算机的一部分(例如磁盘控制器),也可能是外 围设备。 例如,按下键盘键或移动插入 PS/2 端口的鼠标会触发硬件中断,从而导致处理器读取击键或鼠标位置

硬件中断可以相对于处理器时钟异步到达,并且可以在指令执行期间的任何时间到达。 因此,所有传入的硬件中断信号都通过将它们与处理器时钟同步来进行调节,并且仅在指令执行边界处起作用。

在许多系统中,每个设备都与特定的 IRQ 信号相关联。 这使得可以快速确定哪个硬件设备正在请求服务,并加快对该设备的服务。

在一些较旧的系统上,例如 1964 CDC 3600,所有中断都进入同一位置,并且操作系统使用专门的指令来确定优先级最高的未屏蔽未屏蔽中断。 在现代系统上,每种类型的中断(或每个中断源)通常都有一个不同的中断例程,通常实现为一个或多个中断向量表。

掩蔽

屏蔽中断就是禁用它,因此它会被处理器推迟或忽略,而取消屏蔽中断就是启用它。

处理器通常有一个内部中断屏蔽寄存器,它允许有选择地启用(和禁用)硬件中断。 每个中断信号都与屏蔽寄存器中的一个位相关联。 在某些系统上,当该位被设置时中断被启用,当该位被清除时被禁用。 在其他情况下,情况正好相反,设置位会禁用中断。 当中断被禁用时,相关的中断信号可能会被处理器忽略,或者它可能会保持挂起状态。 受屏蔽影响的信号称为可屏蔽中断。

一些中断信号不受中断屏蔽的影响,因此不能被禁用; 这些称为不可屏蔽中断 (NMI)。 这些指示在任何情况下都不能忽略的高优先级事件,例如来自看门狗定时器的超时信号。

虚假中断

虚假中断是无法找到源的硬件中断。 幻影中断或幽灵中断也可以用来描述这种现象。 寄生中断往往是连接到电平敏感处理器输入的线或中断电路的问题。

中断

当系统行为不当时,此类中断可能难以识别。

在线或电路中,寄生电容通过中断线的偏置电阻充电/放电会在处理器识别中断源已被清除之前引起一个小的延迟。

如果在中断服务例程 (ISR) 中清除中断设备的时间太晚,则在 ISR 的当前实例终止之前,中断电路将没有足够的时间返回到静止状态。 结果是处理器会认为另一个中断正在挂起,因为其中断请求输入端的电压不会高或低到足以建立明确的内部逻辑 1 或逻辑 0。

内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/196138/

(3)
词条目录
  1. 中断
  2. 类型
  3. 硬件中断
  4. 掩蔽
  5. 虚假中断

轻触这里

关闭目录

目录