早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

设中断优先次序为I1→I4→I3→I2。若ti时刻I1、I2和I4级同时产生中断,在各中断处理完成后,tj(ti

题目

设中断优先次序为I1→I4→I3→I2。若ti时刻I1、I2和I4级同时产生中断,在各中断处理完成后,tj(ti<tj)时刻发出I3级中断申请,CPU为I3服务时,I1级发出请求,在CPU为I1服务时,I2级发出请求。请画出这种情况下CPU的运行轨迹。

参考答案
正确答案:
解析:在同样的中断请求的情况下,尽管CPU中断响应的优先次序不变(I1→I2→I3→I4),但是由于中断屏蔽码不同,CPU的运行轨迹发生了变化,详见参考答案。其中ti时刻I1、 I2和I4三个请求同时到达,CPU首先响应I1级请求,紧接着响应I2级请求,但是I2级的屏蔽吗是对I4级开放的,当I2级的程序执行到开中断指令时,立即被I4级中断,CPU转去执行I4级程序,待服务完毕后,再返回处理I2级。如果忽略上述细节,也可简单的画出CPU按I1、I4和I2的处理次序执行。在tj时刻,CPU处理完I4级程序后,I3级发出申请,CPU响应并为其服务。在为I3级服务的过程中,又来了I1级请求,I3级可被I1级中断,故CPU转为I1级服务。在CPU为I1级服务的过程中,I2级发出申请,但因I2级的处理级别最低,故CPU不理睬I2级的请求,直至I3级服务完毕,再响应I2级请求。本题主要考查考生对多重中断处理的理解,在画CPU处理轨迹时,可以画回到正常程序,也可以不画回到正常程序。