为了克服串行排队链法可靠性差的缺点,提出了独立请求法(Independent Request Method),如图7.7所示。
图 7.7 识别中断源的独立请求法

  独立请求法的基本原理是:各个中断源使用自己独立的中断请求线INIR,每一根中断请求线在处理机中都有固定的或可编程的中断优先级。如果同时有多个中断源请求中断服务,处理机可以通过它的仲裁线路立即选择其中具有最高优先级的中断源,向它发出中断响应信号INIT。中断源用INIT信号清除它的中断请求信号,于是处理机就可以立即转入这个中断源的中断服务程序。这样,就不需要用软件或硬件对中断源进行扫描,也不需要中断源回送中断源的编号或中断向量等了。
  与串行排队链法相比,独立请求法实际上是把分布在各个中断源内的串行排队器都集中到处理机中,从而克服了串行排队链法可靠性差的缺点,但灵活性差的缺点仍然存在。另外,中断源与处理机的连线比较多。因此,在中断源很多时,要把独立请求法与串行排队链法结合起来。如图7.8所示,把中断源分组,组内采用串行排队链法,组间采用独立请求法。这种方法称为分组独立请求法。
图 7.8 识别中断源的分组独立请求法

  在IBM 370系列机中,就是采用分组独立请求法来识别中断源。它把所有中断源分成六类,每一类都在主存储器的固定地址单元中分别存放有新的和旧的处理机状态字PSW,如表7.1所示。
  处理机响应中断后,按照中断源的种类把处理机当前的状态字PSW存入到主存储器这类中断源的旧PSW地址单元中,同时从相应的新PSW地址单元中取出新的处理机状态字。新PSW中的指令地址字段(第40~63位)就是这类中断源的中断服务程序的入口地址。退出中断服务程序时,通过再次交换处理机状态字PSW,就能返回到中断点,处理机可以继续执行原来的程序。
表 7.1 IBM 370系列机中断源分类情况