问答题
有5个中断源D1、D2、D3、D4和D5,它们的中断优先级从高到低分别是1级、2级、3级、4级和5级。这些中断源的中断优先级,正常情况下的中断屏蔽码和改变后的中断屏蔽码如下表所示。每个中断源有5位中断屏蔽码,“0”表示该中断开放,“1”表示该中断被屏蔽。
5个中断源的中断优先级和屏蔽码
|
中断源名称 |
中断优先级 |
正常中断屏蔽码 |
改变后的中断屏蔽码 |
D1 D2 D3 D4 D5 |
D1 D2 D3 D4 D5 |
D1 |
1 |
1 1 1 1 1 |
1 0 0 0 0 |
D2 |
2 |
0 1 1 1 1 |
0 1 0 0 0 |
D3 |
3 |
0 0 1 1 1 |
1 0 1 0 0 |
D4 |
4 |
0 0 0 1 1 |
1 1 0 1 1 |
D5 |
5 |
0 0 0 0 1 |
1 1 1 0 1 |
假设从处理机响应中断源的中断服务请求开始,到运行中断服务程序中第一次开中断所用的时间为1个单位时间,处理机运行中断服务程序的其他部分所用的时间为4个单位时间。当处理机在执行主程序时,中断源D3、D4和D5同时发出中断服务请求,经过3个单位时间后,中断源D1和D2同时发出中断服务请求。采用改变后的中断屏蔽码,画出处理机响应各中断源的中断服务请求和实际运行中断服务程序过程的示意图。
【参考答案】
首先响应D3,D3被D4打断,响应D4并执行完D4的中断服务程序,之后相当于D1,D2,D5同时发出中断请求,因为D4处......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)