中断处理的全过程

摘要:
中断处理的整个过程分为三个阶段:中断检测、中断响应和中断处理。

中断处理的全过程分为中断检测中断响应中断处理3个阶段。

1.中断检测

中断检测在每条指令结束时进行,检测是否有中断请求或是满足异常条件。

2.中断响应

中断响应是由处理器内部硬件完成的中断序列,而不是由程序执行的。在Intel 80x86中,中断响应过程的操作如下:

●对可屏蔽中断,从8259中断控制器芯片读取中断向量号;

将标志寄存器EFLAG,CS和IP压栈

●对于硬件中断,复位标志寄存器中的IF和TF位,禁止可屏蔽外部中断和单步异常;

根据中断向量号,查找中断向量表,根据中断服务程序的首址转移到中断服务程序执行

3.中断处理即执行中断服务程序。中断服务程序的主要内容如下:

保存中断服务程序将要使用的所有寄存器的内容,以便于在退出中断服务程序之前进行恢复;

●如果中断向量被多个设备所共享,为了确定产生该中断信号的设备,需要轮询这些设备的中断状态寄存器;

●获取中断相关的其他信息;

对中断进行具体的处理

恢复保存的上下文

●执行中断返回指令,使CPU的控制返回到被中断的程序继续执行。

免责声明:文章转载自《中断处理的全过程》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇android 动态注册JNI函数过程源码分析【串口通信】labview实现串口通信下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

单片机用定时器分配任务的程序结构总结

转载请注明本文地址:http://blog.sina.cn/dpool/blog/s/blog_6f2b6ba80101bwka.html?vt=4 http://blog.sina.cn/dpool/blog/s/blog_6f2b6ba80101bwka.html?vt=4本文是2013年写的,后来整理成了系统文章,请访问 http://nicekwe...

uboot完全手册---14

1. u-boot介绍 本次移植采用的是U-Boot-1.2.0版本。 3. U-Boot源码分析 3.1 源码入口的解释 可能大多数的同学上网查资料后都了解到,stage1阶段的启动代码,主要就在start.s文件里。此start.s也是系统上电后执行的第一个代码。它全部由汇编编写。在讲述start.s之前,我们先来了解一下,系统怎么知道它要先去star...

STM32 Timer (2) 定时器中断代码框架

3. 代码框架3.1 分频系数的计算 x1/x2 /N(预分频) APB1时钟------->F(CK_PSC)--------------->CK_CNT 如果APB1的分频系数为1, CK_INT的倍频系数就是x1 如果APB1的分频系数不为1, CK_INT的倍频系数就是x2 STM32F1(MHz...

ZYNQ 7020学习笔记之PL侧普通信号中断PS的实验

1、参考 UG585 网络笔记 2、理论知识 见中断部分 3、实验目的 练习使用PL侧的普通信号来中断PS处理器。 4、实验过程 建立工程,设置并初始化串口中断,在运行程序之后,如果串口接收到N(1-63)个字节数据,则产生串口中断,Zynq响应中断,将数据从RXFIFO读出之后写入到DDR3预定的地址中。 5、实验平台 Microphase ZUS zy...

RS485通信和Modbus协议(转)

转自:http://www.51hei.com/bbs/dpj-23230-1.html     在工业控制、电力通讯、智能仪表等领域,通常情况下是采用串口通信的方式进行数据交换。最初采用的方式是RS232接口,由于工业现场比较复杂,各种电气设备会在环境中产生比较多的电磁干扰,会导致信号传输错误。除此之外,RS232接口只能实现点对点通信,不具备联网功能,...

AVR单片机教程——UART进阶

本文隶属于AVR单片机教程系列。   在第一期中,我们已经开始使用UART来实现单片机开发板与计算机之间的通信,但只是简单地讲了讲一些概念和库函数的使用。在这一篇教程中,我们将从硬件与软件等各方面更深入地了解UART。 USART组件 一直在讲的UART其实是USART组件的一部分,USART比UART多了同步的一部分,但这一部分用得太少(我从来没用过),而...