中断处理的基本过程 |
您所在的位置:网站首页 › dsp中断处理过程 › 中断处理的基本过程 |
中断处理的基本过程包括中断请求、中断判优、中断响应、中断服务 和中断返回等五个阶段。 1.中断请求阶段1)发生在CPU内部的中断(内部中断),不需要中断请求,CPU内部的中断控制逻辑直接接收处理。 2)外部中断请求由中断源提出。外部中断源利用CPU的中断输入引脚 输入中断请求信号。一般CPU设有两个中断请求输入引脚:可屏蔽中断请求输入引脚和不可屏蔽中断请求输入引脚。 1.1中断请求触发器每个中断源发中断请求信号的时间是不确定的,而CPU在何时响应中断也 是不确定的。所以,每个中断源都有一个中断请求触发器,锁存自己的中断请求信号,并保持到CPU响应这个中断请求之后才将其清除。 1.2中断允许触发器在CPU内部有一个中断允许触发器,当其为“1”时,允许CPU响应中断, 称为开中断。若其为“0”,不允许CPU响应中断,中断被屏蔽,称为关中断。 %%通常,当CPU复位时,中断允许触发器也复位为“0”,即关中断。当 CPU中断响应时,CPU自动关闭中断,禁止接受另一个新的中断。 %%中断允许触发器的状态可以用开中断或关中断指令来设置。 2.中断判优阶段CPU一次只能接受一个中断源的请求,当多个中断源同时向CPU提出中断请求时,CPU必须找出中断优先级最高的中断源,这一过程称为中断判优。 中断判优可以采用硬件方法,也可采用软件方法。 2.1软件判优CPU检测到中断请求后,首先读取中断请求寄存器的内容,逐位检测它们的状态,检测到某一位为1,就确定对应的中断源有中断请求,转去执行它的中断服务程序。 先检测哪一个,哪一个的优先级就高,后检测哪一个,哪一个优先级就低,检测的顺序就是各中断源的优先级顺序。 利用专门的硬件电路确定中断源的优先级,有两种常见的方式:菊花链判优电路和中断控制器判优。 2.2.1菊花链判优电路设计思想:每个中断源都有一个中断逻辑电路,所有的中断逻辑电路形成一个链,犹如菊花链。排在链前端的中断源优先级最高,越靠后的设备优先级越低。 中断控制器,如Intel8259A,可以以多种方式设置中断源的中断优先级。 中断控制器中有一个中断优先级判别器,它自动判别出目前提出中断请求的优先级最高的中断源,并将它的中断向量码送到数据总线,CPU接收中断向量码并据此找到它的中断服务程序。 经过中断判优,中断处理就进入中断响应阶段。中断响应时,CPU向中断源发出中断响应信号,同时: ① 保护硬件现场; ② 关中断; ③ 保护断点; ④ 获得中断服务程序的入口地址。 4.中断服务阶段中断服务程序的一般结构为: 1)保护现场。 在中断服务程序的起始部分安排若干条入栈指令,将各寄存器的内容压入堆栈保存。 2)开中断。 在中断服务程序执行期间允许级别更高的中断请求中断现 行的中断服务程序,实现中断嵌套。 3)中断服务。 完成中断源的具体要求。 4)恢复现场。 中断服务程序结束前,必须恢复主程序的中断现场。通常是将保存在堆栈中的现场信息弹出到原来的寄存器中。 5)中断返回。 返回到原程序的断点处,继续执行原程序。 5.中断返回阶段返回到原程序的断点处,恢复硬件现场,继续执行原程序。 中断返回操作是中断响应操作的逆过程。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |