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

admin2017-04-28  31

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

假设从处理机响应中断源的中断服务请求开始,到运行中断服务程序中第一次开中断所用的时间为1个单位时间,处理机运行中断服务程序的其他部分所用的时间为4个单位时间。当处理机在执行主程序时,中断源D3、D4和D5同时发出中断服务请求,经过3个单位时间后,中断源D1和D2同时发出中断服务请求。采用改变后的中断屏蔽码,画出处理机响应各中断源的中断服务请求和实际运行中断服务程序过程的示意图。

选项

答案首先响应D3,D3被D4打断,响应D4并执行完D4的中断服务程序,之后相当于D1,D2,D5同时发出中断请求,因为D4处理完后立即返回D3,所以此时中断屏蔽寄存器的内容为D3的中断屏蔽码,由于D3可以被D2打断,所以响应D2,D2被D1打断,响应D1,D1又被D5打断,执行完D5的中断服务程序。然后再依次返回D1、D2、D3,最后返回主程序。由上面的分析可画出处理机响应各中断源的中断服务请求和实际运行中断服务程序过程的示意图如图3—18所示。这题目容易弄错的一点是:当处理完D4之后以为按响应优先级去响应D1,要注意的是D4处理完后立即返回D3,此时中断屏蔽寄存器的内容为D3的中断屏蔽码,而D3只能被D2打断,因此转去响应D2。 [*]

解析
转载请注明原文地址:https://jikaoti.com/ti/nBfjFFFM
0

最新回复(0)