L3,L4,按中断响应的优先次序由高向低排序为L0→L1→L2→L3→L4,现要求中断处理次序改为L1→L4→L2→L0→L3,写出各中断源的屏蔽字。
时间: 2023-11-18 11:21:48 浏览: 234
假设有以下中断源:
- 中断源A:属于L0级别
- 中断源B:属于L1级别
- 中断源C:属于L2级别
- 中断源D:属于L3级别
- 中断源E:属于L4级别
按照新的中断处理次序,屏蔽字应该为:
- L1级别的中断源B:不屏蔽任何中断
- L4级别的中断源E:屏蔽所有L4及以下级别的中断,即屏蔽L4、L3、L2、L1级别的中断
- L2级别的中断源C:屏蔽L2、L1级别的中断
- L0级别的中断源A:屏蔽所有中断,即屏蔽L4、L3、L2、L1、L0级别的中断
- L3级别的中断源D:屏蔽L3、L2、L1级别的中断
因此,各中断源的屏蔽字为:
- 中断源A:0b11111
- 中断源B:0b00000
- 中断源C:0b00011
- 中断源D:0b01110
- 中断源E:0b11111
相关问题
设某机有五个中断源 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的屏蔽字不变。
某机有5级中断:L0~L4,按中断响应优先级从高到低为L0→L1→L2→L3→L4,现要求将中断处理次序改为L1→L3→L0→L4→L2。 (1)请写出各中断源的屏蔽字。 (2)若这5级中断同时都发出中断请求,按更改后的次序画出进入各级中断处理程序的过程示意图。
(1) 每个中断源的屏蔽字需要满足以下条件:
- L0 中断源的屏蔽字为 0,表示不屏蔽任何中断。
- L1 中断源的屏蔽字为 0b10000,表示屏蔽 L0,L2,L3,L4 中断。
- L2 中断源的屏蔽字为 0b11000,表示屏蔽 L0,L1,L3,L4 中断。
- L3 中断源的屏蔽字为 0b11100,表示屏蔽 L0,L1,L2,L4 中断。
- L4 中断源的屏蔽字为 0b11110,表示屏蔽 L0,L1,L2,L3 中断。
(2) 若这5级中断同时都发出中断请求,按照更改后的次序进入各级中断处理程序的过程如下图所示:
```
L1
┌───────────────────────────────────────┐
│ L1 中断处理程序 │
└───────────────────────────────────────┘
L3
┌───────────────────────────────────────┐
│ L3 中断处理程序 │
└───────────────────────────────────────┘
L0
┌───────────────────────────────────────┐
│ L0 中断处理程序 │
└───────────────────────────────────────┘
L4
┌───────────────────────────────────────┐
│ L4 中断处理程序 │
└───────────────────────────────────────┘
L2
┌───────────────────────────────────────┐
│ L2 中断处理程序 │
└───────────────────────────────────────┘
```
当五个中断都发生时,首先进入 L1 中断处理程序,处理完毕后再进入 L3 中断处理程序,然后依次进入 L0、L4 和 L2 中断处理程序。如果在处理某个中断时,有更高优先级的中断到来,就需要先处理更高优先级的中断。
阅读全文