中断源的中断请求一般是随机的,在中断源比较多的情况下,很可能同时发生多个中断请求。CPU必须安排一个响应和处理中断的优先顺序。中断优先级的确定是一个涉及计算机系统全局的问题,主要由下列因素来决定:

  1.中断源的急迫性

  如电源故障、总线错、CPU的地址错、数据错等,这些机器检验性错误引起的中断一般要安排在最高优先级。它们一旦出现,必须及时处理,否则整个系统都将无法正常运行。而那些仅影响局部的故障,其优先级可以安排在低一些的级别,如程序性错误引起的中断请求,外围设备的输入输出中断请求等。

  2.设备的工作速度

  快速设备由于数据存在的时间短,必须及时响应以避免数据丢失,其优先级应安排得高一些。例如,在一些常用得外围设备中,优先级从高到低的次序一般如下:
  实时钟
  磁盘存储器,包括软磁盘
  行式打印机
  控制台终端输出
  控制台键盘输入

  3.数据恢复的难易程度

  数据丢失后无法恢复的设备,其优先级应当高于能够自动或手动恢复数据的设备。

  4.要求处理机提供的服务量

  在大部分时间内能够独立工作而较少要求处理机干预的事件,其优先级应当高于连续需要处理机为它服务的事件。两个极端的例子是:DMA输入输出方式和执行主程序。

  在IBM 370系列机中,把7类中断分为5级,从高到低分别是:
  重新启动引起的中断
  紧急的机器检验错误引起的中断
  程序性错误,调用管理程序,可以抑制的机器检验错误引起的中断,这三类中断是互斥的,不可能同时发生。
  外部事件引起的中断
  外围设备的中断
  DEC公司的机器,其优先级从高到低分别是:
  总线错误引起的中断
  主存刷新中断
  指令错误引起的中断
  程序跟踪中断
  电源掉电中断
  在线停机中断
  在线事件中断,如实时钟等
  外围设备的中断
  用户程序中断
  在有的计算机系统中还设置有0级中断。当机器故障重叠发生或无法排除,系统完全不能正常工作时,由中断系统的硬设备发出机器故障报警信号。对于单处理机,这种机器故障一般只有经过操作人员的干预才能够排除。在多处理机系统中,当发生这种故障时,可以进行处理机之间的任务切换。另外,虽然这种告急状态也使处理机正在执行的程序被中断,但它并不是真正意义上的中断,它并不参与中断优先级的排队,在中断发生后也无法自行恢复。