试题详情
简答题当正在执行某一中断源的中断服务程序时,如果有新的中断请求出现,问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求?
  • 1.一个中断源的中断请求被响应,需满足以下条件:
    (1)该中断源发出中断请求。
    (2)CPU开中断,即中断总允许位EA=1。
    (3)申请中断的中断源的中断允许位=1,即该中断没有被屏蔽。
    (4)无同级或更高级中断正在被服务。
    2.中断响应是有条件的,并不是查询到的所有中断请求都能被立即响应,当遇到下列三种情况之一时,中断响应被封锁:
    (1)CPU正在处理相同的或更高优先级的中断。因为当一个中断被响应时,要把对应的中断优先级状态触发器置“1”(该触发器指出CPU所处理的中断优先级别),从而封锁了低级中断和同级中断。
    (2)所查询的机器周期不是所执行指令的最后一个机器周期。作这个限制的目的是使当前指令执行完毕后,才能进行中断响应,以确保当前指令完整的执行。
    (3)正在执行的指令是RETI或是访问IE或IP的指令。因为按MCS-51中断系统特性的规定,在执行完这些指令后,需要再执行一条指令才能响应新的中断请求。如果存在上述三种情况之一,CPU将不能进行中断响应。
  • 关注下方微信公众号,在线模考后查看

热门试题