电脑系统网-专业的系统软件下载基地!

当前位置:首页 > 系统教程 > 其它教程 > 详细页面

中断处理过程有哪些?中断处理过程的五个阶段

时间:2022-07-02 来源:电脑系统网

中断处理的整个过程是中断源发出中断请求开始,CPU响应这一要求,现行程序被中断,直到中断服务程序完成,CPU回到原程序继续执行的整个过程。那么具体的中断处理过程是什么呢?让我们带你去看看!

中断处理过程有哪些?

中断处理过程的五个阶段

中断处理的基本过程包括中断请求、中断判断、中断响应、中断服务 中断返回等五个阶段。

1.中断请求阶段

1)发生在CPU内部中断(内部中断)不需要中断请求,CPU直接接收内部中断控制逻辑。

2)中断源提出外部中断请求。利用外部中断源CPU中断输入引脚 输入中断请求信号。CPU输入引脚有两个中断要求:可屏蔽中断要求输入引脚和不可屏蔽中断要求输入引脚。

1.请求触发器中断

每个中断源中断请求信号的时间不确定,CPU当响应中断时 不确定。因此,每个中断源都有一个中断请求触发器,锁定自己的中断请求信号,并保持到CPU只有在响应中断请求后才能清除。

1.允许触发器中断

在CPU当它是1时,内部有一个中断允许触发器CPU响应中断称为开中断。如果是0,则不允许CPU中断,中断被屏蔽,称为关中断。

通常%%,当CPU中断允许触发器复位为0,即关闭中断。 CPU中断响应时,CPU禁止接受另一个新的中断。

%中断允许触发器的状态可以用开中断或关中断指令来设置。

2.中断判断阶段

CPU当多个中断源同时向方向时,只能接受一个中断源的请求一次CPU提出中断请求时,CPU必须找出中断优先级最高的中断源,称为中断判断优。

硬件法或软件法可用于中断判断。

2.1软件判优

CPU检测中断请求后,首先阅读中断请求寄存器的内容,逐个检测其状态,检测1,确定相应的中断源有中断请求,并转移到其中断服务程序。

先检测哪一个,哪一个优先级高,测哪个,哪个优先级低,检测顺序是各中断源的优先级。

中断处理过程有哪些?

假设上图中输入端口地址为87FFH。查询程序如下:

MOV DX,87FFH

IN AL,DX ;读中断请求寄存器内容

SHR AL,1

JC IR0 ;IRQ0有请求,转IR0

SHR AL,1

JC IR1 ;IRQ1有请求,转IR1

SHR AL,1

JC IR2 ;IRQ2有请求,转IR2

… …

判断软件需要很长时间。若中断源较多,中断实时性较差,但软件判断优先安排灵活。

2.2硬件判优

中断源的优先级有两种常见的方法:菊花链判断电路和中断控制器判断。

2.2.菊花链判断电路

设计理念:每个中断源都有一个中断逻辑电路,所有中断逻辑电路都形成一个像菊花链一样的链。链前端的中断源优先级最高,设备优先级越低。

中断处理过程有哪些?

实现过程: CPU如果允许中断,收到中断请求,CPU发出中断响应信号。中断响应信号首先到达菊花链的前端。如果中断源1提出中断请求,它将拦截中断响应信号并封锁它,以防止它传输到下一个中断源。无论以下中断源是否提出中断请求,都不可能接收中断响应信号,因此其中断请求不能响应。

2.2.2中断控制器判断

例如,中断控制器Intel8259A,中断源的中断优先级可以通过多种方式设置。中断控制器中有一个中断优先级判别器,它自动识别当前提出中断要求的最高中断源,并将其中断向量码发送到数据总线,CPU接收中断向量码并找到其中断服务程序。

中断处理过程有哪些?

3.中断响应阶段

中断判断后,中断处理进入中断响应阶段。中断响应时,CPU同时,向中断源发出中断响应信号:

① 保护硬件现场;

② 关中断;

③ 保护断点;

④ 获取中断服务程序的入口地址。

4.中断服务阶段

中断服务程序的一般结构如下:

1)保护现场。在中断服务程序的开始部分,安排几个入栈指令,将每个寄存器的内容压入堆栈。

2)打开中断。在中断服务程序执行过程中,允许更高级别的中断请求中断现状 中断服务程序,实现中断嵌套。

3)中断服务。完成中断源的具体要求。

4)恢复现场。在中断服务程序结束之前,主程序的中断现场必须恢复。通常,将存储在堆栈中的现场信息弹出到原始存储器中。

5)中断返回。返回原程序的断点,继续执行原程序。

5.中断返回阶段

返回原程序的断点,恢复硬件现场,继续执行原程序。

中断返回操作是中断响应操作的逆过程。

相关信息

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载

    栏目ID=1的表不存在(操作类型=0)