设某计算机有四级中断A、B、C、D,其硬件排队优先级次序为A>B>C>D。下表列出了执行每级中断服务程序所需的时间。 如果以执行中断服务程序的时间作为确定中断优先级的尺度:时间越短优先级越高。 (1)请指出如何为各级中断服务程序设置

admin2014-12-08  27

问题 设某计算机有四级中断A、B、C、D,其硬件排队优先级次序为A>B>C>D。下表列出了执行每级中断服务程序所需的时间。
   
   如果以执行中断服务程序的时间作为确定中断优先级的尺度:时间越短优先级越高。
    (1)请指出如何为各级中断服务程序设置屏蔽码?
    (2)如果A、B、C、D分别在6μs、8μs、10μs、0μs时刻发出中断请求,请画出CPU执行中断服务程序的序列。
    (3)基于上题,请计算上述四个中断服务程序的平均执行时间。

选项

答案(1)如果以执行中断服务程序的时间长短来确定中断优先级(时间越短优先级越高),可知中断处理的次序为:C>A>D>B。中断服务程序屏蔽码见下表。 [*] (2)根据各级中断源发出的中断请求信号的时刻,画出CPU执行中断服务程序的序列,如下图所示。 [*] 中断处理的优先级别是C>A>D>B。0μs时,D请求来到,由于没有其他的中断请求,所以开始执行中断服务程序D。第6μs时,A请求来到,A的优先级高于D,转去执行中断服务程序A。第8μs时,B请求来到,由于B的优先级低于A,所以不响应B请求,继续执行中断服务程序A。第10μs时,C请求来到,C的优先级最高,虽然此时中断服务程序A还没有结束,也必须暂停转去执行中断服务程序C。中断服务程序C所需时间为3μs,当第13μs时,中断服务程序C执行完毕,返回执行中断服务程序A。第14μs时,中断服务程序A执行完毕(总共执行时间5μs),返回执行中断服务程序D。第20μs时中断服务程序D执行完毕(总共执行时间12μs),返回现行程序。因为B请求还存在,所以此时开始执行中断服务程序B,直至第3 5μs时结束(总共执行时间3 5μs)。 (3)由于在35μs时间内,完成了4级中断的处理,所以平均执行时间=35÷4=8.75μs。

解析 硬件排队电路次序又称中断响应次序,它是不可以改变的,在不改变硬件排队电路的前提下,通过改变中断屏蔽字可以改变中断处理的优先级,使原级别较低的中断源变成较高的级别,这便称为中断升级。实际上中断升级是一种动态改变优先级的方法。
转载请注明原文地址:https://kaotiyun.com/show/5dxi777K
0

最新回复(0)