问答题
在一个8级中断系统中,硬件中断响应优先级高低优先顺序为:1~2~3~4~5~6~7~8,设置中断屏蔽寄存器后,中断响应的优先顺序为1~3~5~7~2~4~6~8。
问答题
应如何设置屏蔽码?
【正确答案】
【答案解析】屏蔽码的设置如下表所示。
中断屏蔽字
|
|
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
|
程序1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
|
程序2
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
|
程序3
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
1
|
|
程序4
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
|
程序5
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
|
程序6
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
|
程序7
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
|
程序8
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
问答题
如果CPU在执行一个应用程序时有5,6,7,8级4个中断同时到达,CPU在按优先顺序处理到第3个中断请求的过程中又有一个3中断请求到达CPU,试画出CPU响应这些中断的顺序示意图。
【正确答案】
【答案解析】如下图技法,当5,6,7,8级4个中断同时到达时,CPU按响应优先顺序先进入中断处理程序5,中断处理程序5执行完后回到主程序,再按响应优先顺序先进入中断处理程序6,由于中断7的响应优先级高于中断6,所以中断6要等待,而进入中断处理程序7,中断处理程序7执行完后回到被打断的中断处理程序6,在处理中断请求6的过程中又有一个3中断请求到达CPU,由于中断3的响应优先级高于中断6,所以中断6又要被打断,而进入中断处理程序3,中断处理程序3执行完后回到被打断的中断处理程序6,中断处理程序6执行完后回到主程序,再按响应优先顺序进入中断处理程序8,中断处理程序8执行完后回到主程序,中断响应完毕。