问答题
设某计算机有四级中断A、B、C、D,其硬件排队优先级次序为A>B>C>D。
下表列出了执行每级中断服务程序所需的时间。
表
|
中断服务程序 | 所需时间 |
A | 5μs |
B | 15μs |
C | 3μs |
D | 12μs |
如果以执行中断服务程序的时间作为确定中断优先级的尺度,时间越短优先级越高。
问答题
指出如何为各级中断服务程序设置屏蔽码;
【正确答案】如果以执行中断服务程序的时间长短来确定中断优先级(时间越短优先级越高),可知中断处理的次序为:C>A>D>B。中断服务程序屏蔽码见下表所列。
表
|
中断源 | 中断屏蔽码 |
A | B | C | D |
A | 1 | 1 | 0 | 1 |
B | 0 | 1 | 0 | 0 |
C | 1 | 1 | 1 | 1 |
D | 0 | 1 | 0 | 1 |
【答案解析】
问答题
如果A、B、C、D分别在6μs、8μs、10μs、0μs时刻发出中断请求,画出CPU执行中断服务程序的序列;
【正确答案】根据各级中断源发出的中断请求信号的时刻,画出CPU执行中断服务程序的序列,如下图所示。

【答案解析】
问答题
基于上题,请计算上述四个中断服务程序的平均执行时间。
【正确答案】由于在35μs时间内,完成了4级中断的处理,所以平均执行时间=35÷4=8.75μs。
【答案解析】[解析] 硬件排队电路次序又称中断响应次序。它是不可以改变的,在不改变硬件排队电路的前提下,通过改变中断屏蔽字可以改变中断处理的优先级,使原级别较低的中断源变成较高的级别,这便称为中断升级。实际上中断升级是一种动态改变优先级的方法。
中断响应次序与中断处理次序是两个不同的概念。中断处理次序是可以由中断屏蔽码来改变的,所以把中断屏蔽码看成软排队器。正常情况下,中断处理次序就等于中断响应次序,但如果由程序员改变了中断屏蔽码,中断处理次序就不同于中断响应次序了。
首先需要确定中断处理次序,然后根据各级中断源发出中断请求信号的时刻,可以画出CPU执行中断服务程序的序列。