若ti时刻I1、I2和I4级同时产生中断,在各中断处理完成后,tj(ti<tj)时刻发出I3 级中断申请,CPU为I3服务时,I1级发出请求,在CPU为I1服务时,I2级发出请求。请参照图3-1所示的格式,画出CPU的运行轨迹。 设中断优先次序为I1→

admin2008-11-02  34

问题 若ti时刻I1、I2和I4级同时产生中断,在各中断处理完成后,tj(ti<tj)时刻发出I3
级中断申请,CPU为I3服务时,I1级发出请求,在CPU为I1服务时,I2级发出请求。请参照图3-1所示的格式,画出CPU的运行轨迹。

设中断优先次序为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处理轨迹时,可以画回到正常程序,也可以不画回到正常程序。
转载请注明原文地址:https://kaotiyun.com/show/smWZ777K
0

最新回复(0)