、CPU响应中断的条件 1设置中断请求触发器 每个中断源向cPU发出中断请求信号是随 机的,而大多数cPU都是在现行周期结束时, 才检测有无中断请求发出,故在现行指令执 行期间,必须把随机输入的中断请求信号锁 存起来,并保持到cPU响应这个中断请求后 才可以清除中断请求。因此,要求每一个中 断源有一个中断请求触发器,如图7-2中所示
一、CPU响应中断的条件 1.设置中断请求触发器 每个中断源向CPU发出中断请求信号是随 机的,而大多数CPU都是在现行周期结束时, 才检测有无中断请求发出,故在现行指令执 行期间,必须把随机输入的中断请求信号锁 存起来,并保持到CPU响应这个中断请求后 才可以清除中断请求。因此,要求每一个中 断源有一个中断请求触发器,如图7-2中所示
AB地址 译码 AB150 CS数据 DB 数据 外设 端口 PU RD WR 控制 INTR & 端口 READY +5V中断 ORD 屏蔽 请求 中断 图7-2具有中断屏蔽的接口电路
2设置中断屏蔽触发器 在存在多个中断源的情况下,为增加控制 的灵活性,常要求在每一个外设的接口电路 中,设置一个中断屏蔽触发器,只有当此触 发器为“1”时,外设的中断请求才能被送到 cPU,如图7-2中所示,可把8个外设的中断 屏蔽触发器组成一个中断屏蔽寄存器端口, 用输出指令来控制它们的状态
2.设置中断屏蔽触发器 在存在多个中断源的情况下,为增加控制 的灵活性,常要求在每一个外设的接口电路 中,设置一个中断屏蔽触发器,只有当此触 发器为“1”时,外设的中断请求才能被送到 CPU,如图7-2中所示, 可把8个外设的中断 屏蔽触发器组成一个中断屏蔽寄存器端口, 用输出指令来控制它们的状态
3CPU内部设置中断允许触发器的状态 在CPU内部有一个中断允许触发器,只有当其为“l 时,CPU才能响应中断;若其为“0”时,即使中断 请求线上有中断请求,CPU也不响应 可用允许中断和禁止中断指令来设置中断允许触发 器的状态 当cPU复位时,中断允许触发器也复位为“0”,即 关中断。当中断响应后,CPU就自动关闭中断,以 禁止接受另一个新的中断,因而通常在中断服务程 序结束之前,必须要执行两条指令,即允许中断指 令和中断返回指令
3.CPU内部设置中断允许触发器的状态 ◼ 在CPU内部有一个中断允许触发器,只有当其为“l” 时,CPU才能响应中断;若其为“0”时,即使中断 请求线上有中断请求,CPU也不响应 ◼ 可用允许中断和禁止中断指令来设置中断允许触发 器的状态 ◼ 当CPU复位时,中断允许触发器也复位为“0” ,即 关中断。当中断响应后,CPU就自动关闭中断,以 禁止接受另一个新的中断,因而通常在中断服务程 序结束之前,必须要执行两条指令,即允许中断指 令和中断返回指令
4.cPU在现行指令结束后响应中断 在满足上面三个条件的情况下,cPU在执行 现行指令的最后一个机器周期(总线周期)的 最后一个时钟周期(T状态)时,才测试中断输 入线INTR(或NM工),若发现中断请求有效, 则把内部的中断锁存器置“1”,下一总线周 期进入中断响应周期
4.CPU在现行指令结束后响应中断 ◼ 在满足上面三个条件的情况下,CPU在执行 现行指令的最后一个机器周期(总线周期)的 最后一个时钟周期(T状态)时,才测试中断输 入线INTR(或NMI),若发现中断请求有效, 则把内部的中断锁存器置“1” ,下一总线周 期进入中断响应周期