问答题 在一个8级中断系统中,硬件中断响应从高到低的优先顺序是:1→2→3→4→5→6→7→8,设置中断屏蔽寄存器后,中断处理的优先顺序变为1→5→8→3→2→4→6→7。
问答题 应如何设置屏蔽码?
【正确答案】中断屏蔽码见下表。
表 中断屏蔽码
[*]
【答案解析】
问答题 如果CPU在执行一个应用程序时有5、6、7级3个中断请求同时到达,中断请求8在6没有处理完以前到达,在处理8时中断请求2又到达CPU,试画出CPU响应这些中断的顺序示意图。
【正确答案】中断处理示意图如下图所示。
[*]
图 中断处理示意图

5、6、7级中断请求同时到达,CPU按响应优先顺序首先执行中断服务程序⑤,在中断⑤执行完后回到现行程序,再按响应优先顺序先进入中断服务程序⑥。由于中断请求⑧的处理优先级高于中断⑥,因此中断⑥被打断,进入中断服务程序⑧。当处理中断⑧的过程中又有一个中断请求②到达,由于②的优先级低于中断⑧,因此中断服务程序⑧可继续执行。中断⑧执行完后回到被打断的中断⑥,但中断⑥又被中断请求②打断,而进入中断服务程序②。中断②执行完后才回到中断⑥,中断⑥执行完后回到现行程序,再按响应优先顺序进入中断服务程序⑦。中断⑦执行完后回到现行程序,整个中断处理完毕。
设置新屏蔽码的方法非常简单,首先写出处理级别最高的中断屏蔽码,所有位均为1。然后按中断处理级别依次写出各级中断的屏蔽码,注意每一级屏蔽码均在比其优先级别高的位置上置0,其余位为1。所以,最低级别的屏蔽码中只有1位为1,且这个1出现在自己原来级别的位置上。
【答案解析】