(简答题) 某计算机有5个中断源,其中断响应优先级是1>2>3>4>5,在中断处理过程中拟将优先级动态调整为1>4>5>2>3,假设此中断系统中的中断允许触发器始终为1。 ① 设计各个中断源的中断服务程序中设置的新屏蔽字(1为屏蔽,0为开放); ② 在运行CPU主程序时,同时出现中断源2和4的请求,并且在执行2服务程序中, 1、3和5同时发生中断请求,描述CPU执行各中断服务程序的轨迹图。
时间: 2024-02-21 21:00:35 浏览: 80
计算机中断处理机制(interrupt)
① 根据中断响应优先级,原来的屏蔽字可以设计为:
中断源 | 原屏蔽字
--- | ---
1 | 0
2 | 1
3 | 1
4 | 1
5 | 1
根据新的动态调整优先级,重新设计屏蔽字如下:
中断源 | 新屏蔽字
--- | ---
1 | 0
2 | 0
3 | 1
4 | 0
5 | 1
② 在执行CPU主程序时,如果中断源2和4同时请求,则根据中断响应优先级,中断源2会被先处理,CPU转向中断服务程序2。在执行2服务程序时,如果1、3和5同时发生中断请求,则根据新的动态调整优先级,中断源4会被先处理,CPU转向中断服务程序4。接着,中断源2的服务程序执行完毕,CPU回到主程序中继续执行。如果此时1、3和5中有任意一个中断请求,则根据新的动态调整优先级,中断源1会被处理,CPU转向中断服务程序1;否则,继续执行主程序。执行完中断服务程序1后,CPU返回主程序中继续执行。如果此时还有中断请求,则继续按照动态调整后的优先级处理。图示如下:
```
CPU主程序 ────────────────────────────>
├─ 中断服务程序2 ────────>
│ └─ 中断服务程序1 ──>
├─ 中断服务程序4 ────────>
└─ 中断服务程序1 ────────>
```
阅读全文