中断是计算机系统中的一种重要的事件处理机制,它可以暂停当前正在执行的程序或操作,转而处理更为紧急或重要的事件。而中断接口则是连接外部设备和 CPU 的重要桥梁,下面将介绍中断接口的组成。
中断请求线是连接中断源和 CPU 的一组信号线。它由多条中断请求线组成,每个中断源都有其对应的请求线,与每个请求线相连的是一个中断控制器,用于对中断请求进行管理。当外部设备发送中断请求时,对应的中断源将相应的中断请求线置为活动状态,使中断控制器感知到。
中断向量是区分和识别中断源的一种标识方式。在CPU内部有一个中断向量表,每个中断源对应一个中断向量,当 CPU 接收到中断请求信号时,中断控制器将向 CPU 发送相应的中断向量,用于CPU在中断向量表中查找并确定中断源,之后会跳转到相应的中断处理程序中进行处理。
中断控制器负责管理和协调各个外部中断源,对各个中断请求进行优先级的排队、转发和响应。现代计算机系统中一般采用芯片形式集成于主板上,如 Intel 公司的 8259A 可编程中断控制器。
中断处理程序是每个中断源对应的特定的处理程序,在处理完特定的中断后返回到断点处继续执行。不同的中断源对应不同的处理程序,处理程序的长度及所占的计算机资源也因中断源的不同而异。处理程序通常由操作系统提供,并以动态链接库的方式实现,程序员可以根据需要编写自己的中断处理程序并作为操作系统的一部分。