计组-5.5 异常和中断机制
5.5 异常和中断机制
异常:CPU内部产生的意外事件
中断:CPU外部的设备向CPU发出的中断请求
异常和中断的分类
异常:
- ① 硬件中断
- 终止
- ② 软件中断(程序性异常)
- 故障:在引起故障的指令启动后,执行结束前被检测到的异常事件。无法通过异常处理程序恢复故障,必须终止进程的执行。
- 自陷:预先安排的一种“异常”事件。
中断:
- 可屏蔽中断
- 不可屏蔽中断
==异常和中断的不同点==:
- 关联问题:一些异常(eg缺页溢出)是由特定指令在执行过程中发生的。而中断不和任何指令相关联,也不阻止任何指令的完成。
- 检测问题:异常的检测由CPU自身完成。对于中断,CPU必须通过中断请求线获取中断源的信息,才能知道哪个设备发生了何种中断。
==断点(处理结束后返回的点)==
- 异常:一般是返回原点【特殊情况是非法指令 除数为零时,回不到原点了,终止进程】
- 中断:回到下一条指令的地址(因为中断是在指令结束后的中断周期检测出来的,所以回到下一条指令处)
异常和中断的相应过程
- 关中断
- 保存断点和程序状态
- 识别异常和中断并转到相应的处理程序
- 异常大多使用软件识别的方式:CPU设置一个异常状态寄存器,用于记录异常原因。
- 中断可以采用软件识别和硬件识别的方式:又称向量中断。
评论

