有5个中断源D1、D2、D3、D4和D5,它们的中断优先级从高到低分别是1级、2级、3级、4级和5级。这些中断源的中断优先级,正常情况下的中断屏蔽码和改变后的中断屏蔽码如表3-4所示。每个中断源有5位中断屏蔽码,“0”表示该中断开放,“1”表示该中断被屏蔽

admin2017-11-20  6

问题 有5个中断源D1、D2、D3、D4和D5,它们的中断优先级从高到低分别是1级、2级、3级、4级和5级。这些中断源的中断优先级,正常情况下的中断屏蔽码和改变后的中断屏蔽码如表3-4所示。每个中断源有5位中断屏蔽码,“0”表示该中断开放,“1”表示该中断被屏蔽。

当使用改变后的中断屏蔽码时,处理机响应各中断源的中断服务请求的顺序是什么?实际的中断处理顺序是什么?

选项

答案因为中断屏蔽码不改变中断的响应优先级,所以使用改变后的中断屏蔽码时,处理机响应各中断源的中断服务请求的顺序仍为D1、D2、D3、D4、D5;处理优先级的分析如下:首先处理机响应D1,它可以被D2打断,因而转去响应D2,D2又被D3打断,转去响应D3,D3又被D4打断,而D5不能打断D4,所以D4中断服务程序可以全部执行完。然后响应D5,D5后面没有中断源,所以此时可以执行完D5的中断服务程序,之后返回到D3未执行完的中断服务程序处,执行完D3的中断服务程序,然后再返回到D2未执行完的中断服务程序处,执行完D2的中断服务程序,最后执行完D1的中断服务程序,返回主程序。实际的中断处理顺序为D4、D5、D3、D2、D1。

解析
转载请注明原文地址:https://kaotiyun.com/show/1ARi777K
0

最新回复(0)