如果CPU对新的请求不予响应,待执行完当前的服务程序后再响应,即为单重中断。
实现多重中断的条件1. 提前设置“开中断”指令多重中断“开中断”指令的位置前于单重中断,从而保证了多重中断允许出现中断嵌套。
2. 优先级别高的中断源有权中断优先级别低的中断源为了保证级别低的中断源不干扰级别高的中断源的中断处理过程,可采用屏蔽技术。
多重中断的断点保护中断系统对断点的保存都是在中断周期内由中断隐指令实现的,对用户是透明的。
断点可以保存在堆栈中,由于堆栈先进后出的特点,出栈时按相反顺序便可准确返回到程序的间断处。
断点也可保存在特定的存储单元内,例如约定一律将程序断点存至主存的0号地址单元内。在中断服务程序中的开中断指令之前,必须先将0地址单元的内容转存至其他地址单元中,才能真正保存每一个断点。
8.4.7 中断屏蔽技术屏蔽触发器与屏蔽字屏蔽触发器我们也可以将上文中提到的排队器和屏蔽触发器结合使用
无论INTR是1还是0,且前面传过来的是1还是0
只要MASK=1,即被屏蔽了
- 先做非运算得0
- 再经过与非门得1
- 再经过非门得0 ,即中断请求无效,不能进入排队器
对应每个中断请求触发器就有一个屏蔽触发器,将所有屏蔽触发器组合在一起,便构成一个屏蔽寄存器,屏蔽寄存器的内容称为屏蔽字。
屏蔽字与中断源的优先级别是一一对应的。
在中断服务程序中设置适当的屏蔽字,能起到对优先级别不同的中断源的屏蔽作用。
屏蔽字屏蔽的是其他中断
当一个中断的屏蔽字为全1时,表示不允许其他中断打断当前的中断,所以屏蔽字为全1的中断优先级最高