判断下列叙述是否正确 并对错误的叙述加以修改。 (1)一个更高级的中断请求一定可以中断另一个
问题详情
判断下列叙述是否正确,并对错误的叙述加以修改。 (1)一个更高级的中断请求一定可以中断另一个正在执行的中断处理程序。 (2)所谓关中断就是屏蔽所有的中断源。 (3)一旦有中断请求出现,CPU立即停止当前指令的执行,转去执行中断服务程序。 (4)为了保证中断服务程序执行后能正确返回到被中断的程序断点处继续执行程序,必须进行现场保护。 (5)中断级别最高的是不可屏蔽中断。 (6)CPU响应中断后,由用户通过关中断指令置“0”允许中断触发器。 (7)在多重中断系统中,CPU响应中断后可以立即响应更高优先级的中断请求。 (8)CPU响应中断时暂停当前程序的运行,自动转去执行中断服务程序。
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:上述说法中(4)、(8)正确其余有错修改如下:(1)如果CPU处于关中断状态(允许中断触发器EINT=0)或者更高级的中断源被屏蔽则优先级高的中断源就不能中断另一个正在执行的中断处理程序。(2)关中断是指允许中断触发器EINT=0CPU不允许响应任何中断这和屏蔽中断源是两个概念。(3)一旦有中断请求出现CPU必须执行完当前指令后才能转去受理中断请求(如果允许中断触发器为“1”)。(5)级别最高的中断不一定是不可屏蔽中断这与机器的设计有关。例如8086/8088中内部中断的优先级比不可屏蔽中断的级别更高。(6)CPU响应中断后不是由用户通过关中断指令置“0”允许中断触发器的而是由硬件(中断隐指令)自动完成的。(7)在多重中断系统中CPU响应中断后在保护断点和现场以及开中断之前CPU不能立即响应更高优先级的中断请求。
上述说法中,(4)、(8)正确,其余有错,修改如下:(1)如果CPU处于关中断状态(允许中断触发器EINT=0),或者更高级的中断源被屏蔽,则优先级高的中断源就不能中断另一个正在执行的中断处理程序。(2)关中断是指允许中断触发器EINT=0,CPU不允许响应任何中断,这和屏蔽中断源是两个概念。(3)一旦有中断请求出现,CPU必须执行完当前指令后才能转去受理中断请求(如果允许中断触发器为“1”)。(5)级别最高的中断不一定是不可屏蔽中断,这与机器的设计有关。例如8086/8088中,内部中断的优先级比不可屏蔽中断的级别更高。(6)CPU响应中断后,不是由用户通过关中断指令置“0”允许中断触发器的,而是由硬件(中断隐指令)自动完成的。(7)在多重中断系统中,CPU响应中断后,在保护断点和现场以及开中断之前,CPU不能立即响应更高优先级的中断请求。