1.中断的概念
:::warning
中断:当CPU正在执行某一程序时,发生了异步事件,此时,CPU将打断正在执行的程序(称为现行程序),转去执行一段处理该事件的有关程序
:::
- 中断源:引起中断的事件。
- 中断请求:中断源向CPU发出的请求处理信号。
- 中断点:发生中断时行程序的暂停点
- 中断响应:CPU暂停现行程序转去响应中断请求的过程
- 中断处理程序:处理中断源的程序
- 中断处理过程:CPU执行相关中断处理程序的过程
- 中断返回:返回断点的过程。
- 关中断:即禁止中断,CPU内部的程序状态字psw中的中断允许位已被清除,从而不允许CPU响应中断。
- 开中断:程序状态自重的中断允许为被重新设置后,才能接收中断,这一过程称为开中断。
2.中断类型与中断优先级
**外中断:**来自处理器和内存外部的中断,包括IO设备发出的中断,外部信号中断,各种定时器引起的时钟中断,以及调试程序中设置的断点等引起的调试中断。
内中断:处理器和内存中产生的中断,也称为陷入。它包括程序运算时引起的各种错误,比如地址非法,数据溢出,用户执行特权指令,分时系统的时间片中段以及从用户态到核心态的切换等。
根据系统对中断处理的需要,操作系统一般对各种中断赋予不同的处理优先级。
3.中断响应与中断处理
中断响应只发生在两条相继机器指令执行的间隙。如下图所示:
每当CPU执行完成一条指令,便立即查询有无中断请求。
系统一旦响应中断,便开始中断处理过程。他的主要工作是保护现场,以便之后可以恢复现场。系统为美丽中断源,预先安排好了中断处理程序,它的入口地址存于固定的存储单元中。