设某机器有5级中断L0~L4,其中断响应优先级从高到低为L0→L1→L2→L3→L4,现要求将中断处理次序改为L1→L3→L0→L4→L2,问: 各级中断处理程序的各中断屏蔽值如何设置?每级对应一位,该位为0表示允许中断,为1表示中断屏蔽
时间: 2023-11-18 08:14:41 浏览: 405
根据中断响应优先级和要求的中断处理次序,各级中断处理程序的中断屏蔽值可以设置如下:
L0:0000,不需要屏蔽其他中断,因为它的优先级最高,其他中断会自动被屏蔽。
L1:1000,需要屏蔽L0和L2~L4中断。
L2:0010,需要屏蔽L0~L1和L3~L4中断。
L3:1001,需要屏蔽L0~L2和L4中断。
L4:0101,需要屏蔽L0~L3中断。
这样设置之后,当某个中断被触发时,处理器会首先检查该中断的屏蔽位,如果对应位为0,就执行该中断的处理程序;否则,该中断会被忽略。按照要求的中断处理次序,中断处理程序会依次执行L1、L3、L0、L4、L2。
相关问题
某机有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 中断处理程序。如果在处理某个中断时,有更高优先级的中断到来,就需要先处理更高优先级的中断。
下述几种情況会提出中断清求某计算机有五级中断L4~10,中断屏蔽字为,M4M3M2M1M0, Mi=1 (0≤i≤4) 表示对Li级中断 进行屏蔽。若中断响应优先级从高到很的顺序是 L4L0L2L1L3,则L1 的中断处理程序中设置的中断屏薇字是
根据中断响应优先级从高到低的顺序,L4 的中断优先级最高,L3 的中断优先级次高,依次是 L0、L2、L1。
因此,当 L1 中断发生时,L4、L0、L2 的中断处理程序都没有执行,而 L3 的中断处理程序已经执行完毕,因此 L3 的中断屏蔽位 M3=1,其他屏蔽位为 0。
因此,L1 的中断处理程序中设置的中断屏蔽字为:M4=0,M3=1,M2=0,M1=0,M0=0。即屏蔽 L4 和 L2,开放 L0、L1、L3 中断。
阅读全文