中断机制包括硬件中的中断装置和软件中的中断服务程序。
中断的过程
中断装置由特定寄存器和控制线路组成,中央处理器和外围设备等识别到的事件保存到特定的寄存器中,由于某
些事件(中断源)的出现,正在运行的进程被中止,每执行完一条指令,均由中断装置判别是否有中断事件发生。
如果没有,CPU继续执行;若有则中断装置中断现在占用CPU的程序,让操作系统的处理中断事件服务程序占用
CPU,对出现的中断事件处理,事件处理完后,在让原来的程序继续占用CPU执行。整个过程叫做中断响应,下面具
体说明这个过程。
每个程序都有一个程序状态字,程序状态字存放在程序状态字寄存器中,处理器总是按照程序状态字寄存器中的
指示控制程序的执行。程序状态字划分了三种,一种是正在占用CPU的程序的状态字叫当前PSW,要占用CPU的中
断程序PSW叫做新PSW,原来占用,现在离开CPU的程序状态字叫做旧PSW.
发现中断事件后中断装置把中断事件存入当前PSW的中断码位置,接着当前程序离开CPU,中断服务程序的占
用CPU,最后,执行中断服务程序过程中,读取旧PSW的中断码,判断事件类型并处理中断事件。
中断的类型
硬件故障中断
由机器故障引起。排除这类故障必须进行人工干预。中断处理程序把访问主存单元的进程状态改成“等待干
预”,输出信息向操作员报告出错主存单元的地址和错误性质。待操作员排除故障后,重新启动进程,使“等待干
预”状态的进程编程“就绪”状态。
程序中断
程序执行到某条机器指令时可能出现的各种问题而引起的中断。 此中断一般与程序的具体编制有关,不同的用
户对出现的时间可以有不同的处理要求,中断服务程序将事件交给用户处理。
外部中断
由外部事件引起。
输入/输出中断
输入输出控制系统发现外围设备完成了输入输出操作引起的中断,或者执行输入输出操作时通道产生错误引起的
中断。
防管中断
正在运行的进程为了请求调用操作系统的某个功能而执行一条防管指令所引起的中断。
小结
了解CPU响应中断事件过程,能更好地理解程序状态字的作用,明白程序在CPU内部是如何执行,也知道了中断
提示的来源。
原文地址:http://blog.csdn.net/wangju2013/article/details/45132125