版权归原作者所有,如有侵权,请联系我们

[科普中国]-外部中断控制

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

简介

在计算机科学中,中断(Interrupt)是指处理器接收到来自硬件或软件的信号,提示发生了某个事件,应该被注意,这种情况就称为中断。外部中断控制是指处理机是否响应外部中断及调用有关程序处理中断的过程。一般设计到中断的类型、引起中断的原因及中断过程处理。

中断类型按中断处现方式,中断可分为程序中断和简单中断。

按中断产生的方式,中断可分为自愿中断和强迫中断。

按资源的类型,中断可分为硬件中断和软件中断。

按中断发生的位置,中断可分为内部中断和外部中断。

目前在很多中型集合小型机系统中,通常按中断发生的位置来划分。

(1)外部中断:来自于CPU以外,包括:

I/O中断,来自I/O设备,是可屏蔽中断;时钟中断、控制台中断;硬件故障,比如内存故障、电源掉电等,是不可屏蔽中断。这些中断都是异步的,可在任何时候发生,与CPU正在执行的内容无关。

(2)内部中断:来自于CPU内部,包括:

①程序故障,如使用非法指令、地址越界、浮点溢出、除法错等:

系统调用,用户程序中使用系统调用指令请求操作系统的服务,是程序中有意安排的,往往也把这种中断称为自愿中断。

这类中断是在程序执行过程产生的,是同步的,是执行程序中的指令引起的。它们不使用中断控制器,不能被屏蔽。1

引起外部中断原因引起外部中断原因如下:

中断优先级在某一时刻有几个中断源同时发出中断请求时,处理器只响应其中优先权最高的中断源。当处理机正在运行某个中断服务程序期间出现另一个中断源的请求时,如果后者的优先权低于前者,处理机不予理睬,反之,处理机立即响应后者,进入所谓的“嵌套中断”。中断优先权的排序按其性质、重要性以及处理的方便性决定,由硬件的优先权仲裁逻辑或软件的顺序询问程序来实现。

不可屏蔽中断不能由程序控制其屏蔽,处理机一定要立即处理的中断称为非屏蔽中断或不可屏蔽中断。非屏蔽中断主要用于断电、电源故障等必须立即处理的情况。处理机响应中断时。2

中断过程按照事件发生的顺序,中断过程包括 :

①中断源发出中断请求;

②判断当前处理机是否允许中断和该中断源是否被屏蔽;

③优先权排队;

④处理机执行完当前指令或当前指令无法执行完,则立即停止当前程序,保护断点地址和处理机当前状态,转入相应的中断服务程序;

⑤执行中断服务程序;

⑥恢复被保护的状态,执行“中断返回”指令回到被中断的程序或转入其他程序。

上述过程中前四项操作是由硬件完成的,后两项是由软件完成的。