一、中断响应机制
处理器的控制部件中设置有中断信号扫描结构,它在每条指令执行周期内的最后时刻扫描中断寄存器,查看是否有中断信号到来。若有中断到来,处理器接收由硬件中断装置发来的中断向量代号。接着,处理器开始为后续的软件处理中断做必要的准备工作:保存中断点的程序执行上下文环境(又称保存现场)。这是因为中断处理结束之后,处理器还要继续被中断程序的执行,所以原有中断点程序执行的所有必要信息都必须保存下来。这个上下文环境通常包括程序状态字PSW,程序计数器PC中的下一条指令位置和一些寄存器的值。它们一般保存在一个专门的系统堆栈结构中。处理器状态此时被切换到管态。
处理器根据中断向量代号查询中断向量表,获得与该中断源相联系的中断处理程序的入口地址,并将PC置成该地址。随后控制权转移到中断处理程序。
处理器的控制权转移到中断处理程序之后,中断处理程序开始工作,其中包括I/O相关的状态信息,操作I/O设备或者在设备和内存之间传送数据等。
在中断处理程序结束工作之后,处理器会检测到一条中断返回指令。在执行中断返回指令时,处理器把原先被中断的程序的上下文环境从系统堆栈中恢复。处理器状态也从管态恢复成被中断时的目态。整个中断处理结束。
二、中断处理程序在执行前或执行中是可以被中断的。一般在处理某级的某个中断请求时,是不能被与它同级的或比它低一级的中断请求所中断的。只有比它高一级的中断请求才能中断其处理,等响应和处理完后再继续处理原先的那个中断请求(但通过改变中断级屏蔽位可以改变中断响应次序)
中断响应硬件(硬件中断装置):通过优先级电路实现
四、假设某系统有4个中断级,相应地每一级中断处理程序的现行PSW中都有4位中断级屏蔽位。如果中断屏蔽位为1,表示对该级中断开放,允许其进入中断响应排队器,如果中断级屏蔽位为0,对该级中断屏蔽,不让其进入中断响应
例1:简述中断的概念,中断的分类依据及其目的
中断的概念:
CPU终止正在执行的程序,转去处理随机提出的请求,待处理完后再回到被打断的程序继续恢复执行的过程。
将中断源性质相近,及处理过程类似的归为一类。
分类目的:
减少中断程序的入口,每一类给一个中断程序总入口,可以减少中断服务程序入口地址形成的硬件数量。
例2:
例3:
例4: