机器有5级中断,中断响应次序为1→2→3→4→5,现要求实际中断处理次序为2→3→1→5→4。 (1)设计各级中断处理程序的中断级屏蔽位的状态,令“0”为开放,“l”为屏蔽; (2)若运行用户程序时,同时发生3级中断请求,而在l级中断服务未完成时,又发生2、3、4、5级中断,请画出处理机执行程序全过程的示意图(标出交换PSW的时间)。
【正确答案】:
现要求其实际的中断处理次序为2→3→1→5→4,设置中断级屏蔽位如下表(1表示对该中断屏蔽)设置方法:中断处理次序最低为4,那么在所有中断级上,对应4级这一列都设置屏蔽,即“4级”这一列,都是1;次序次低的5,那么在中断级上,除了比它低的第4级对应“5级”这一列的项为0,表示不屏蔽,其他都是1;依次得到下表所有值。
中断处理程序级别 | 中断屏蔽位 |
| 1级 | 2级 | 3级 | 4级 | 5级 |
| 第1级 | 1 | 0 | 0 | 1 | 1 |
| 第2级 | 1 | 1 | 1 | 1 | 1 |
| 第3级 | 1 | 0 | 1 | 1 | 1 |
| 第4级 | 0 | 0 | 0 | 1 | 0 |
| 第5级 | 0 | 0 | 0 | 1 | 1 |
(2)若运行用户程序时,同时发生1、3级中断请求,而在l级中断服务未完成时,又发生2、3、4、5级中断,处理机执行程序全过程的示意图如下(标出交换PSW的时间)