中断 订阅
中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。 [1] 展开全文
中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。 [1]
信息
应    用
计算机编程
外文名
Interrupt Request
分    类
硬性中断、软性中断
中文名
中断
学    科
计算机
顺    序
高级中断优先
中断术语解释
指处理机处理程序运行中出现的紧急事件的整个过程.程序运行过程中,系统外部、系统内部或者现行程序本身若出现紧急事件,处理机立即中止现行程序的运行,自动转入相应的处理程序(中断服务程序),待处理完后,再返回原来的程序运行,这整个过程称为程序中断;当处理机接受中断时,只需暂停一个或几个周期而不执行处理程序的中断,称为简单中断.中断又可分为屏蔽中断和非屏蔽中断两类.可由程序控制其屏蔽的中断称为屏蔽中断或可屏蔽中断.屏蔽时,处理机将不接受中断.反之,不能由程序控制其屏蔽,处理机一定要立即处理的中断称为非屏蔽中断或不可屏蔽中断.非屏蔽中断主要用于断电、电源故障等必须立即处理的情况.处理机响应中断时,不需执行查询程序.由被响应中断源向CPU发向量地址的中断称为向量中断,反之为非向量中断.向量中断可以提高中断响应速度。 [2] 
收起全文
精华内容
参与话题
问答
  • 中断

    万次阅读 2018-10-03 18:54:31
    整个过程称为中断处理,简称中断,而引起这一过程的事件称为中断事件。中断是计算机实现并发执行的关键,也是操作系统工作的根本。 分类  中断按事件来源分类,可以分为外部中断和内部中断中断事件来自于CPU...

    定义

           在计算机科学中,中断指计算机CPU获知某些事,暂停正在执行的程序,转而去执行处理该事件的程序,当这段程序执行完毕后再继续执行之前的程序。整个过程称为中断处理,简称中断,而引起这一过程的事件称为中断事件。中断是计算机实现并发执行的关键,也是操作系统工作的根本。

    分类

           中断按事件来源分类,可以分为外部中断和内部中断。中断事件来自于CPU外部的被称为外部中断,来自于CPU内部的则为内部中断。

           进一步细分,外部中断还可分为可屏蔽中断(maskable interrupt)和不可屏蔽中断(non-maskable interrupt)两种,而内部中断按事件是否正常来划分可分为软中断和异常两种。

           外部中断的中断事件来源于CPU外部,必然是某个硬件产生的,所以外部中断又被称为硬件中断(hardware interrupt)。计算机的外部设备,如网卡、声卡、显卡等都能产生中断。外部设备的中断信号是通过两根信号线通知CPU的,一根是INTR,另一根是NMI。CPU从INTR收到的中断信号都是不影响系统运行的,CPU可以选择屏蔽(通过设置中断屏蔽寄存器中的IF位),而从NMI中收到的中断信号则是影响系统运行的严重错误,不可屏蔽,因为屏蔽的意义不大,系统已经无法运行。

           内部中断来自于处理器内部,其中软中断是由软件主动发起的中断,常被用于系统调用(system call);而异常则是指令执行期间CPU内部产生的错误引起的。异常也和不可屏蔽中断一样不受eflags寄存器的IF位影响,区别在于不可屏蔽中断发生的事件会导致处理器无法运行(如断电、电源故障等),而异常则是影响系统正常运行的中断(如除0、越界访问等)。

    中断描述符表

           中断描述符表(Interrupt Descriptor Table,IDT)是保护模式下用于存储中断处理程序入口的数据结构,实模式中采用中断向量表(Interrupt Vector Table,IVT)。当CPU接收一个中断时,需要用中断向量在此表中检索对应的中断描述符,在该描述符中找到中断处理程序的起始地址,然后才能执行中断处理程序。

           中断描述符表中不仅仅有中断描述符,还可以有任务门描述符和陷阱门描述符,它们实质上都是记录着某段程序的起始地址,因此可以统称为门。

    中断处理过程及保护

           中断过程因中断来源而异,外部中断由外设发出,经中断代理芯片接收并处理后将该中断的中断向量号发送到CPU,最后由CPU执行该中断向量号对应的中断处理程序。内部中断则不经过中断代理芯片。

           中断在处理器内部的处理程序如下:

    (1)处理器根据中断向量号定位中断门描述符。

           中断向量号是中断描述符的索引,当处理器收到一个外部中断向量号后,它用此向量号在中断描述符表中查询对应的中断描述符,然后再去执行该中断描述符指向的中断处理程序。中断描述符占8字节,因此处理器用中断向量号乘8后再与IDTR中的中断描述符表地址相加得到中断描述符的位置。

    (2)特权级检查

           中断向量号只是一个整数,其中没有RPL,所以在对由中断引起的特权级转移特权级检查时并不涉及RPL。

           如果是由软中断int n、int3、和into这些由用户进程引发的中断,由用户代码控制,处理器要检查当前特权级CPL和门描述符DPL,数值上CPL≤门描述符DPL才能通过检查。通过上一步检查后还需要检查CPL和门描述符中所记录的选择子对应的目标代码段DPL,数值上CPL>目标代码段DPL才能通过检查,因为除返回指令外,特权转移只能由低到高。

           若中断是由外部设备或异常引起的,只检查CPL和目标代码段的DPL即可。

    (3)执行中断处理程序

           特权级检查通过后,将门描述符中目标代码段选择子加载到段寄存器CS中,把门描述符中的中断处理程序的偏移地址加载到EIP,然后开始执行中断处理程序。

           中断发生后,eflags中的NT位和TF位都会被置0。如果中断对应的门描述符是中断门,标志寄存器eflags中的IF位也会被置0以避免中断嵌套(中断处理过程中又处理新的中断),即默认情况下处理器对中断门描述符的中断例程处理是不可中断的。若中断发生时对应的门描述符是任务门或陷阱门的话,CPU不会将状态寄存器中的IF位清0,即允许中断嵌套。

     

                                                                                                   本文部分内容摘自《操作系统真象还原》,有改动

    展开全文
  • 中断和硬中断

    千次阅读 2020-08-26 21:36:10
    中断:由与系统相连的外设(比如网卡、硬盘)自动产生的。主要是用来通知操作系统系统外设状态的变化。比如当网卡收到数据包的时候,就会发出一个中断中断: 通常是硬中断服务程序对内核的中断;2.为了满足实时...

    硬中断:由与系统相连的外设(比如网卡、硬盘)自动产生的。主要是用来通知操作系统系统外设状态的变化。比如当网卡收到数据包的时候,就会发出一个中断

    软中断:

    1. 通常是硬中断服务程序对内核的中断;
      2.为了满足实时系统的要求,中断处理应该是越快越好。linux为了实现这个特点,当中断发生的时候,硬中断处理那些短时间就可以完成的工作,而将那些处理事件比较长的工作,放到中断之后来完成,也就是软中断(softirq)来完成

    差别
    ①硬中断是由外部事件引起的因此具有随机性和突发性;
    软中断是执行中断指令产生的,无面外部施加中断请求信号,因此中断的发生不是随机的而是由程序安排好的。
    ②硬中断的中断响应周期,CPU需要发中断回合信号(NMI不需要);
    软中断的中断响应周期,CPU不需发中断回合信号。
    ③硬中断的中断号是由中断控制器提供的(NMI硬中断中断号系统指定为02H);
    软中断的中断号由指令直接给出,无需使用中断控制器。
    ④硬中断是可屏蔽的(NMI硬中断不可屏蔽);
    软中断不可屏蔽。

    展开全文
  • 51 中断系统 外部中断0 外部中断1

    千次阅读 2019-06-14 22:26:11
    51单片机的中断系统结构 中断允许控制 CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。 EX0(IE.0),外部中断0允许位; ET0(IE.1),定时/计数器T0中断允许位; EX1(IE.2),...

    51单片机的中断系统结构

    中断允许控制

    CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。

    EX0(IE.0),外部中断0允许位;

    ET0(IE.1),定时/计数器T0中断允许位;

    EX1(IE.2),外部中断0允许位;

    ET1(IE.3),定时/计数器T1中断允许位;

    ES(IE.4),串行口中断允许位;

    EA (IE.7), CPU中断允许(总允许)位。

    中断请求标志

    1、TCON的中断标志

    IT0(TCON.0),外部中断0触发方式控制位。

            当IT0=0时,为电平触发方式。

            当IT0=1时,为边沿触发方式(下降沿有效)。

    IE0(TCON.1),外部中断0中断请求标志位。

    IT1(TCON.2),外部中断1触发方式控制位。

    IE1(TCON.3),外部中断1中断请求标志位。

    TF0(TCON.5),定时/计数器T0溢出中断请求标志位。

    TF1(TCON.7),定时/计数器T1溢出中断请求标志位。      

     

    中断源

     

    中断响应条件

     中断源有中断请求;

    n此中断源的中断允许位为1;

     CPU开中断(即EA=1)。

    以上三条同时满足时,CPU才有可能响应中断

     

     

     

    
    #include "reg51.h"   
    #include "intrins.h"
    typedef unsigned char u8;
    typedef unsigned int u16;
    
    
    sbit k1=P3^3;	 
    sbit led=P2^0;	
    void delay(u16 i)
    {
    	while (i--);
    } 
    
    //外部中断0条件
    void Int0Init()
    {
    	IT0 = 1;	//设置外部中断的触发方式为下降沿触发。
    	EX0 = 1;	//开启外部中断0
    	EA = 1;		//中断总开关
    }
    
    //外部中断1条件
    void Int1Init()
    {
    	IT1 = 1;	//设置外部中断1的触发方式为下降沿触发。
    	EX1 = 1;	//开启外部中断1
    	EA = 1;		//中断总开关
    }
    
    void main()
    {
    	Int1Init();
    	while(1);
    }
    void Int0()	   interrupt 0
    {
    	  delay(1000);
    	  if(k1 == 0)
    	  {
    	  	led= ~led;
    	  }
    }
    
    void Int1()	   interrupt 2
    {
    	  delay(1000);
    	  if(k1 == 0)
    	  {
    	  	led= ~led;
    	  }
    }
    

     

    proteus 8 电路原理图,k3接p32,k4接p33。p32默认高电平,按下k3后,电平拉低,产生下降沿,触发中断0。同样k4按下,触发为中断1。

     

    #include "reg51.h"   
    #include "intrins.h"
    typedef unsigned char u8;
    typedef unsigned int u16;
    
    sbit k3=P3^2;
    sbit k4=P3^3;	 
    sbit led=P2^0;	
    void delay(u16 i)
    {
    	while (i--);
    } 
    
    //外部中断0条件
    void Int0Init()
    {
    	IT0 = 1;	//设置外部中断的触发方式为下降沿触发。
    	EX0 = 1;	//开启外部中断0
    	EA = 1;		//中断总开关
    }
    
    //外部中断1条件
    void Int1Init()
    {
    	IT1 = 1;	//设置外部中断1的触发方式为下降沿触发。
    	EX1 = 1;	//开启外部中断1
    	EA = 1;		//中断总开关
    }
    
    void main()
    {
    	Int0Init();
    	while(1);
    }
    void Int0()	   interrupt 0
    {
    	  delay(1000);
    	  if(k3 == 0)
    	  {
    	  	led= ~led;
    	  }
    }
    
    void Int1()	   interrupt 2
    {
    	  delay(1000);
    	  if(k4 == 0)
    	  {
    	  	led= ~led;
    	  }
    }

     

    展开全文
  • 这里写目录标题先验知识回顾控制寄存器回顾1、8086中断类型1、外部可屏蔽中断2、外部不可屏蔽中断3、除法错中断4、单步中断5、断点中断6、溢出中断7、软中断2、8086中断向量表3、8086中断响应1、外部可屏蔽中断响应2...

    先验知识回顾

    控制寄存器回顾

    1
    PSW是Program Status Word的缩写,即程序状态字(也叫程序状态寄存器)
    CS:段代码寄存器。

    1、8086中断类型

    8086用8位二进制码表示一个中断类型,共有256个中断,可分为两大类:
    1
    中断结构:
    2

    1、外部可屏蔽中断

    由INTR引入,受到标志寄存器中的中断允许标志位IF控制。
    IF=0:CPU不响应INTR中断;
    IF=1:CPU响应INTR中断;
    INTR中断的类型码范围:8~255;

    2、外部不可屏蔽中断

    由NMI引入,不受到中断允许寄存器标志位IF控制。
    NMI信号有效,且8086现行指令执行结束,且没有DMA请求:响应NMI中断
    NMI中断类型码:2

    3、除法错中断

    在执行DIV或者IDIV指令时,除数为0或商超过寄存器能够表达的范围(商溢出):执行中断。
    中断类型号:0.
    (我寻思着,在做除法操作的时候就可以避免这种现象的存在,没有必要搞个中断啊。。。)

    4、单步中断

    受到标志位寄存器中的陷阱标志位TF控制。
    TF=1:CPU每执行完一条指令就引起一个内部中断。
    TF=0:无
    中断类型号:1
    用途:用于实现但不操作,是一种强有力的调试手段。(联系debug中相关操作)

    5、断点中断

    由INT3指令产生的内部中断。
    在程序调试过程中,需要跟踪程序走向,了解程序执行过程中的中间结果时,可以用INT3指令临时替代原有的指令,称为设置断点。
    中断类型号:3

    6、溢出中断

    受到标志寄存器中的溢出标志位OF控制。
    若上条指令执行结果使OF=1,则产生中断。
    中断类型号:4

    7、软中断

    由INTn指令产生。
    中断类型码:n

    2、8086中断向量表

    两个知识点:
    中断向量:中断指针,是中断服务程序的入口地址
    中断向量表:中断类型号与对应的中断服务函数入口地址的换算表。
    8086的中断向量表如下:
    1

    3、8086中断响应

    1、外部可屏蔽中断响应

    1、等待当前指令结束,然后进入中断响应周期。
    2、CPU获取中断类型号
    3、当前的PSW、CS、IP的内容依次压入栈中。(保存了断点的状态和断点地址,以便返回时恢复)
    4、清除PSW中的IF位和TF位。(IF=0意味着关中断,这里不包含中断嵌套)
    5、把中断服务函数的入口地址置入IP和CS
    6、完成响应,进入中断服务函数

    2、外部不可屏蔽中断响应

    中断请求在NMI端加入。
    等待当前指令执行结束.如果同时出现非屏蔽和可屏蔽中断请求,CPU优先响应非可屏蔽。
    中断类型号由硬件决定,不需要从外部获取。其他操作与可屏蔽中断相同

    3、内部中断响应

    内部中断的响应操作的共同特点:
    1、中断类型号来源于:指令码、CPU硬件,不需要从外部获取
    2、没有INTA’信号的响应周期
    3、不受到IF位的控制,但单步中断受TF位控制
    4、除单步中断之外,其他内部中断都比外部中断优先响应
    5、同样执行可屏蔽中断的3、4、5操作
    特别说明:
    中断响应时应清除TF标志位意味着什么?
    TF=1,没执行完一条指令都引起一次单步中断。如果不清除,将不停地引起中断,每次中断都执行同一条指令而不能反悔。
    所以,中断服务函数期间TF=0,等到IRET指令恢复PSW值是,才恢复TF位。

    4、8086中断返回

    无论内部外部中断,中断返回都是由中断服务函数的末尾设置IRET指令实现的。
    IRET指令的操作是:恢复断点处的地址和PSW内容:依次从堆栈中弹出保存的IP、CS、PSW值,使被中断的程序继续执行


    参考书籍:

    《微机原理与接口技术》

    展开全文
  • 外部中断和定时器中断

    万次阅读 多人点赞 2018-11-20 13:53:27
    1.什么是中断 2.中断有什么用 3.双重功能的P3引脚 4.8051的 中断体系 5.中断特殊寄存器 6.中断的优先级 7.中断服务程序的编写 8.外部中断实现代码 9.定时器/计数器中断工作原理 10.定时器/计数器定时值的...
  • 重要声明: 以下代码有粘贴 截取他人劳动成果的成分 如有雷同 不胜荣幸 如您不能容忍 请不要独自忍受@weChat:iisssssssssii 联系小民 主动删除  中断含义:  ...引起中断的原因或者说发出中断请求的
  • 是指中断系统正在执行一个中断服务时,有另一个优先级更高的中断提出中断请求,这时会暂时终止当前正在执行的级别较低的中断源的服务程序,去处理级别更高的中断源,待处理完毕,再返回到被中断了的中断服务程序继续...
  • 所谓中断是指CPU在正常执行程序的过程中,由于内部/外部事件的触发或由程序的预先安排,引起CPU暂时中断当前正在运行的程序,而转去执行为内部/外部事件或程序预先安排的事件的服务子程序,待中断服务子程序执行完毕...
  • Arduino 定时器中断 外部中断

    千次阅读 2019-04-09 17:29:31
    但如果此时发生了某一件事件B请求CPU迅速去处理(中断发生),CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务),待CPU将事件B处理完毕后,再回到原来被中断的地方继续执行程序(中断返回),这一过程成...
  • 中断中断处理过程

    千次阅读 2019-07-24 22:00:23
    1. 中断和异常的概念区别 Intel的官方文档里将中断和异常理解为两种中断当前程序执行的不同机制。这是中断和异常的共同点。 不同点在于: 中断(interrupt)是异步的事件,典型的比如由I/O设备触发;异常...
  • 中断和软中断

    万次阅读 多人点赞 2014-03-27 16:21:59
    本文主要内容:硬中断 / 软中断的原理和实现 内核版本:2.6.37 Author:zhangskd @ csdn blog   概述   从本质上来讲,中断是一种电信号,当设备有某种事件发生时,它就会产生中断,通过总线把电信号发送给...
  • STM32中断(外部中断和定时器中断)

    千次阅读 2019-05-27 17:22:00
    一、外部中断 spi,iic的中断和51单片机不一样,这些在stm32属于外设,是外部中断。 因为STM32的中断非常多,因此必须设置中断优先级 STM32有两个优先级的概念:抢占式优先级和响应式优先级(亚优先级,副优先级) ...
  • 中断向量 中断向量表

    千次阅读 2015-05-27 11:24:39
    1、中断标识码(中断类型号):由硬件(通常是中断控制器)产生,以标识不同的中断源。 2、中断向量:早期的微机系统中将由硬件产生的中断标识码(中断源的识别标志,可用来形成相应的中断服务程序的入口地址或存放...
  • 本能篇主要讲一下AXI GPIO 中断,AXI GPIO 中断也是共享外设中断的一种。本讲和上一讲说的中断很像,区别就是AXI GPIO 中断需要AXI GPIO核。 本章也是使用PL逻辑产生一组方波信号来做中断信号,方波的周期也是2秒。...
  • 硬件中断与软件中断

    千次阅读 2018-08-05 23:26:52
    中断定义:指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程。 硬件中断是由与系统相连的外设(比如网卡 硬盘 键盘等)自动产生的. 每个设备或设备集都有他自己的IRQ(中断请求), 基于...
  • 【STM32】NVIC中断优先级管理(中断向量表)

    万次阅读 多人点赞 2018-04-08 19:55:22
    Cortex-M3内核支持256个中断,其中包含了16个内核中断(异常)和240个外部中断,并且具有256级的可编程中断设置。但是,STM32并没有使用CM3内核的全部东西,而是只用了它的一部分。STM32有84个中断,包括16个内核...
  • STM32系统学习——EXTI(外部中断

    万次阅读 多人点赞 2018-05-11 14:12:11
    EXTI(External interrupt/event controller)—外部中断/事件控制器,管理了控制器的 20个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI 可以实现对每个...
  • 中断 中断信号 中断

    千次阅读 2011-08-22 19:26:27
    中断概述:  什么是中断,简单地说就是CPU在忙着作自己的事情,这时候硬件(比如说键盘按了一下)触发了一个电信号,这个信号通过中断线到达中断控制器(cpu),控制器接受到这个信号,向CPU发送INT信号申请CPU来...
  • 中断向量

    千次阅读 2019-04-25 14:14:45
    中断向量是中断服务程序的入口地址,在计算机中中断向量的地址存放一条跳转到中断服务程序的跳转指令。 中断地址是存储中断向量的内存单元。 中断向量表:用来存放中断向量(共256个),它的地址范围是0~3FFH 在...
  • 中断响应时间/中断步骤/中断

    千次阅读 2017-06-29 10:10:32
    中断的响应时间就是中断的响应过程的时间,中断的响应过程是当有事件产生,进入中断之前必须先记住当前正在做的事情,然后去处理发生的事情,处理这个过程的时间,叫做中断响应时间。  计算机中也是采用的这种方法...
  • CPU中断

    千次阅读 2019-08-31 21:03:36
    CPU共256个中断类型型号: 0~31:对应于异常和非屏蔽中断,不使用中断控制器; 32~47:分配给可屏蔽中断,由I/O设备引起的中断,这其中就包含可由两个8259A级联响应的15个; 48~255:用来标识软中断; CPU...
  • 外部中断和内部中断详解

    千次阅读 2017-09-06 17:59:40
    中断基本概念 什么是中断?先打个比方。当一个经理正处理文件时,电话铃响了(中断请求),不得不在文件上做一个记号(返回地址),暂停工作,去接电话(中断),并指示“按第二方案办”(调中断服务程序),然后,...
  • 中断中断系统

    千次阅读 2017-05-14 13:52:22
    中断:没有我,还想提高计算机性能,做梦吧!
  • STM32中断设置以及中断优先级设置

    万次阅读 多人点赞 2018-09-13 15:26:45
    最近,在做一个智能锁的项目,由于,今天碰到了一个关于中断的问题,因此,又回来好好啃一下中断配置的知识,俗话说:磨刀不误砍柴工。问题是什么呢?项目中我用到了一个触摸键盘TTP229,结果在测试键盘时,不能够...
  • 中断-中断的种类

    千次阅读 2017-11-21 16:47:16
    中断 来自控制台的中断开关,计时器,时钟或其他设备,这类中断的处理较简单,实时性强  5.调用管理程序。用户程序利用专用指令“调用管理程序”。发出中断请求,是用户程序和操纵系统之间的联系桥梁
  • 中断和外中断的区别

    千次阅读 2019-07-07 16:40:18
    我发现内中断和外中断其实区别不是很大,外中断不过是在内中断的前提上多了一个对端口(端口号是60H)的扫描,再来个对比。当扫描码和我预设的中断扫描码相同时,执行中断。当他们的值不同时,就跳出这个中断。 ...
  • 程序中断

    千次阅读 2016-08-30 17:02:28
    中断请求触发器(INTR),中断屏蔽触发器(MASK)二者成对出现。 接口中的完成触发器D,为1表示设备准备就绪。 中断源:凡是能够向CPU提出中断请求的各种因素都叫中断源。因此,有多个中断源,但是,CPU某一时刻只...

空空如也

1 2 3 4 5 ... 20
收藏数 130,046
精华内容 52,018
关键字:

中断