简述中断处理过程(中断处理过程讲解)

中断全过程指的是从中断源发出中断请求开始,CPU响应这个请求,现行程序被中断,转至中断服务程序,直到中断服务程序执行完毕,CPU再返回原来的程序继续执行的整个过程。

步骤

请求中断→响应中断→关闭中断保留断点引出中断服务程序保护现场开启中断执行中断服务程序关闭中断恢复现场打开中断→中断返回

注:

2.保存断点:保证中断程序执行完能够回来继续执行后面的程序,其实保存的是程序计数器

3.引出中断服务程序:其实就是读取我们要执行的程序的地址,以便一会去执行

4.保存现场:保存寄存器中的数据,以便回来执行的时候恢复数据。为使中断处理程序不破坏主程序中寄存器的内容,应先将断点处各寄存器的内容压入堆栈保护起来,再进入的中断处理。

开中断和关中断:加锁

将CPU不响应更高级中断请求

在进入中断服务程序时, CPU已经自动禁止了本CPU上的中断响应,因为CPU不能假定中断服务程序是可重入的。

如果在保存寄存器值时被中断了,那么另外的操作很可能就把寄存器改写了,现场无法恢复

10.中断返回

在中断服务子程序的最后要安排一条中断返回指令IRET,执行该指令,系统自动将堆栈内保存的IP/EIP和CS值弹出,从而恢复主程序断点处的地址值,同时还自动恢复标志寄存器FR或EFR的内容,使CPU转到被中断的程序中继续执行

上一篇: 女销售原来靠这样卖房(楼盘置业顾问提成大概多少)
下一篇: unix系统中进程由几部分组成「UNIX系统中进程由几部分组成」