不同的计算机其硬件结构和软件指令是不完全相同的,因此,中断系统也是不相同的。 计算机的中断系统能够加强CPU对多任务事件的处理能力。中断机制是现代计算机系统中的基础设施之一,它在系统中起着通信网络作用,以协调系统对各种外部事件的响应和处理。中断是实现多道程序设计的必要条件。 中断是CPU对系统发生的某个事件作出的一种反应。 引起中断的事件称为中断源。中断源向CPU提出处理的请求称为中断请求。发生中断时被打断程序的暂停点称为断点。 CPU暂停现行程序而转为响应中断请求的过程称为中断响应。处理中断源的程序称为中断处理程序。 CPU执行有关的中断处理程序称为中断处理。而返回断点的过程称为中断返回。中断的实现实行软件和硬件综合完成,硬件部分叫做硬件装置,软件部分称为软件处理程序。
响应处理 大多数中断系统都具有如下几方面的操作,这些操作是按照中断的执行先后次序排列的。 1、 接收中断请求。 2、 查看本级中断屏蔽位,若该位为1则本级中断源参加优先权排队。 3、 中断优先权选择。 4、 处理机执行完一条指令后或者这条指令已无法执行完,则立即中止现行程序。接着,中断部件根据中断级去指定相应的主存单元,并把被中断的指令地址和处理机当前的主要状态信息存放在此单元中。 5、 中断部件根据中断级又指定另外的主存单元,从这些单元中取出处理机新的状态信息和该级中断控制程序的起始地址。 6、 执行中断控制程序和相应的中断服务程序。 7、 执行完中断服务程序后,利用专用指令使处理机返回被中断的程序或转向其他程序。
冲突 在一些罕见的情况下,两个ISA设备可以共享相同的 IRQ,只要它们不同时使用即可。为了解决这个问题,后来的PCI 总线允许 IRQ 共享。PCI Express没有物理中断线,并使用消息信号中断(MSI) 到操作系统(如果可用)。 在早期的 IBM 兼容个人计算机中,中断曾经是一种常见的硬件错误,当两个设备尝试使用相同的中断请求(或 中断)向可编程中断控制器(PIC)发出中断信号时会收到该错误。 PIC 期望每条线路仅来自一个设备的中断请求,因此沿同一条线路发送 中断信号的多个设备通常会导致 中断 冲突,从而导致计算机死机。
|