计算机CPU一旦响应中断,中断服务器子程序通常要有哪几项工作

2025-12-17 06:08:37
推荐回答(1个)
回答1:

中断的概念和意义
所谓中断,就是在一定条件下,CPU可以随时中断当前任务转向处理内部故障和外部设备请求服务的机制。在外部设备(接口)需要和CPU交换数据的时候,就会向CPU发出中断请求,如果满足中断条件,CPU就会响应外设的中断请求并转向执行中断处理程序。中断的实现,对于计算机系统有着重要的意义,它使得CPU与外界真正意义上的交互成为可能。
中断的类型
1)
内部中断
内部中断是CPU执行指令出现错误而引发的中断或CPU执行INT
n指令产生的中断。内部中断包括除法错中断(类型0)、单步中断(类型1)、断点中断(类型3)、溢出中断(类型4)和其它INT指令中断。5个专用中断除了非屏蔽中断(类型2)以外,其它4个专用中断都是属于内部中断。所有INT
n指令中断都称作软件中断。
8086的INT
n指令提供了直接调用中断处理子程序的软件手段。这种通过中断指令来使CPU执行中断处理子程序的方法就是软件中断。软件中断属于内部中断。
我们在前面已经提到,在5个专用中断中,除了非屏蔽中断,其余的4个中断都是内部中断。
??
除法错中断INT
0,是当除数为0或者有符号数运算所得到的商超出规定的范围时产生的。这类中断既不是由外部硬件产生,也不是由软件指令产生,而是CPU自身产生的。
??
单步中断INT
1,如果想以单步的方式调试程序,可以由调试程序来设置单步调试命令,将标志寄存器TF置为1,并用一个计数单元记录需要执行的单步中断的次数。当CPU测试到TF=1时,就进入单步中断。CPU每执行一条指令,响应一次中断,进入一次单步处理中断服务程序,在单步处理中断服务程序显示所有寄存器内容。单步执行程序直至计数单元减为0,调试程序将TF标志置为0为止。
??
断点中断INT
3,和单步中断类似,用于程序的调试。断点中断允许用户指定断点,当程序执行到断点时转入断点中断处理程序。断点中断处理程序显示断点处所有寄存器的状态。设置断点的过程,就是调试程序在用户程序指定的断点处用断点中断指令INT
3来代替用户程序的原有指令,同时将用户程序指令保存起来。当程序运行到断点时,便转向执行断点中断处理程序。在断点中断处理程序返回之前,再将用户指令还原。
??
溢出中断,当运算结果超出数据规定的范围时,就会产生溢出中断。溢出中断是由执行指令发生溢出设置的标志位引起的。
(2)
外部中断
外部中断的中断源来自CPU外部,是由外部设备产生的,当外设需要即时和CPU进行数据交互时,请求CPU中断当前执行的程序。此时,由外设的中断请求电路向CPU发出中断请求。所以也把外部中断称为硬件中断。8086的外部中断有非屏蔽中断MNI和可屏蔽中断INTR。非屏蔽中断NMI为类型2的中断