在一个 8 级中断的系统中, 硬件中断响应从高到低的优先顺序 1→2→3→4→5→6→7→8, 通过中断屏蔽技术, 将中断处理优先顺序设置为 1→3→5→7→2→4→6→8, 如果 CPU 在执行一个应用程序时有 5、 6、 7、 8级的四个中断同时到达, CPU 在按优先顺序处理到第 3 个中断请求的过程中又有一个 3 级中断请求到达 CPU,试画出 CPU 响应这些中断的顺序示意图
硬件中断响应的优先顺序称为响应优先级, 设置中断屏蔽字后实际处理中断的优先顺序称为处理优先级,分析如下:
CPU 在执行现行程序时, 有 5、 6、 7、 8 级的四个中断请求同时到达, 根据响应优先级, CPU 首先响应 5 级中断, 设置中断屏蔽字后, 由于 5 级中断的处理优先级高于 6、 7、 8 级中断, 故 CPU 执行 5 级中断服务程序直至结束, 返回原应用程序; 此时仍有 6、 7、 8 级三个中断请求, 根据响应优先级, CPU 首先响应 6 级中断, 保护现场、 设置中断屏蔽字后开中断, 由于 7 级中断的处理优先级高于 6 级中断, 故 CPU 转而去执行 7 级中断服务程序; 7 级中断服务程序设置中断屏蔽字后, 屏蔽了 6、 8 级中断请求, 故 7 级中断服务程序执行直至结束,返回到 6 级中断服务程序;
6 级中断服务程序执行的过程中, 有一个 3 级中断请求到达, 由于 6 级中断的处理优先级低于 3 级中断, 故CPU 将转而去执行 3 级中断服务程序, 3 级中断服务程序设置中断屏蔽字后, 将屏蔽 6、 8 级中断请求, 故 3 级中断服务程序将执行直至结束, 返回到 6 级中断服务程序;
6 级中断服务程序执行直至结束, 返回到原应用程序, 此时尚有一个 8 级中断请求, 故 CPU 将转向 8 级中断服务程序直至执行结束返回原应用程序。
上述过程的示意图如下:
