设某机有5级中断:L0, L1, L2, L3, L4。其中断响应优先次序为: L0最高,L1 次之,L4最低。 (1)CPU响应0级设备时, IM0 IM1 IM2 IM3 IM4=? (2)CPU响应1级设备时, IM0 IM1 IM2 IM3 IM4=? (3)CPU响应2级设备时, IM0 IM1 IM2 IM3 IM4=? (4)CPU响应3级设备时,IM0 IM1 IM2 IM3 IM4=? (5)CPU响应4级设备时,IM0 IM1 IM2 IM3 IM4=?
时间: 2024-03-04 18:49:58 浏览: 135
好的,根据你的问题,我来回答一下:
(1)CPU响应0级设备时,IM0 IM1 IM2 IM3 IM4= 1 0 0 0 0
(2)CPU响应1级设备时,IM0 IM1 IM2 IM3 IM4= 1 1 0 0 0
(3)CPU响应2级设备时,IM0 IM1 IM2 IM3 IM4= 1 1 1 0 0
(4)CPU响应3级设备时,IM0 IM1 IM2 IM3 IM4= 1 1 1 1 0
(5)CPU响应4级设备时,IM0 IM1 IM2 IM3 IM4= 1 1 1 1 1
以上是根据题目中的中断响应优先次序和中断屏蔽寄存器的设置规则来计算得出的。
相关问题
设某机有5级中断:L0、L1、L2、L3、L4,其中断响应优先次序为:L0最高、L1次之、……、L4最低。现在要求将中断处理次序改为L1→L3→L0→L4→L2,试问: (1)各级中断服务程序中的各中断屏蔽码应如何设置(设每级对应一位,当该位为“0” ,表示中断允许;当该位为“1” ,表示中断屏蔽)? (2)若这5级同时都发出中断请求,试画出进入各级中断处理过程示意图。
(1) 为了满足新的中断处理次序,各级中断服务程序中的中断屏蔽码应该设置为:
L0:01110
L1:10001
L2:00001
L3:00100
L4:11000
其中,L0的中断屏蔽码为01110,表示屏蔽L1、L2、L3、L4级中断;L1的中断屏蔽码为10001,表示屏蔽L0、L2、L3、L4级中断;L2的中断屏蔽码为00001,表示只屏蔽L4级中断;L3的中断屏蔽码为00100,表示只屏蔽L2级中断;L4的中断屏蔽码为11000,表示屏蔽L0、L1、L3级中断。
(2) 若这5级同时都发出中断请求,按照新的中断处理次序,应该是L1先响应,然后是L3、L0、L4、L2。进入各级中断处理过程的示意图如下:
```
+---------------+
| L1 |
+---------------+
|
v
+---------------+
| L3 |
+---------------+
|
v
+---------------+
| L0 |
+---------------+
|
v
+---------------+
| L4 |
+---------------+
|
v
+---------------+
| L2 |
+---------------+
```
其中,箭头表示中断请求的响应顺序。由于L0的中断屏蔽码中屏蔽了L1、L2、L3和L4级中断,因此L1会先响应。当L1处理完后,L3会被响应,然后是L0、L4和L2。
设某机有五个中断源 L0、L1、L2、 L3、L4,按中断响应的优先次序由高向低排序为 L0、L1、L2、L3、L4,现要求中断处理程序改为L1、L4、L2、L0、L3,请写出各中断源的屏蔽字。
根据中断响应的优先次序,五个中断源的屏蔽字可以表示为二进制数,其中1表示该中断源被屏蔽,0表示该中断源可以响应中断。原来的中断响应优先次序为 L0、L1、L2、L3、L4,所以五个中断源的屏蔽字可以表示为:
L0:111110
L1:111101
L2:111011
L3:110111
L4:101111
现在要求中断处理程序改为L1、L4、L2、L0、L3,所以五个中断源的新的屏蔽字可以表示为:
L1:111110
L4:111111
L2:111111
L0:111111
L3:110111
其中,L1的屏蔽字变为了0,表示L1可以响应中断;L4的屏蔽字变为了1,表示L4被屏蔽;L2和L0的屏蔽字也被置为1,表示它们被放到了更低的优先级,需要被屏蔽;L3的屏蔽字不变。