精华内容
下载资源
问答
  • 中断装置和中断处理程序统称为中断系统中断系统是计算机的重要组成部分。实时控制、故障自动处理、计算机与外围设备间的数据传送往往采用中断系统中断系统的应用大大提高了计算机效率。中文名中断外文名...

    本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!

    中断装置和中断处理程序统称为中断系统。

    中断系统是计算机的重要组成部分。实时控制、故障自动处理、计算机与外围设备间的数据传送往往采用中断系统。中断系统的应用大大提高了计算机效率。

    中文名

    中断

    外文名

    Interrupt Request分    类

    中断装置和中断处理程序

    相关概念

    程序状态字和向量中断等

    系统功能

    实现中断响应和中断返回等

    中断定义

    编辑

    语音

    不同的计算机其硬件结构和软件指令是不完全相同的,因此,中断系统也是不相同的。计算机的中断系统能够加强CPU对多任务事件的处理能力。中断机制是现代计算机系统中的基础设施之一,它在系统中起着通信网络作用,以协调系统对各种外部事件的响应和处理。中断是实现多道程序设计的必要条件。 中断是CPU对系统发生的某个事件作出的一种反应。 引起中断的事件称为中断源。中断源向CPU提出处理的请求称为中断请求。发生中断时被打断程序的暂停点称为断点。CPU暂停现行程序而转为响应中断请求的过程称为中断响应。处理中断源的程序称为中断处理程序。CPU执行有关的中断处理程序称为中断处理。而返回断点的过程称为中断返回。中断的实现实行软件和硬件综合完成,硬件部分叫做硬件装置,软件部分称为软件处理程序。

    中断响应处理

    编辑

    语音

    大多数中断系统都具有如下几方面的操作,这些操作是按照中断的执行先后次序排列的。①接收中断请求。②查看本级中断屏蔽位,若该位为1则本级中断源参加优先权排队。③中断优先权选择。④处理机执行完一条指令后或者这条指令已无法执行完,则立即中止现行程序。接着,中断部件根据中断级去指定相应的主存单元,并把被中断的指令地址和处理机当前的主要状态信息存放在此单元中。⑤中断部件根据中断级又指定另外的主存单元,从这些单元中取出处理机新的状态信息和该级中断控制程序的起始地址。⑥执行中断控制程序和相应的中断服务程序。⑦执行完中断服务程序后,利用专用指令使处理机返回被中断的程序或转向其他程序。

    中断相关概念

    编辑

    语音

    程序状态字和向量中断

    这是两个与中断响应和处理有密切关系的概念。

    ① 程序状态字:每个程序均有自己的程序状态字。现行程序的程序状态字放在处理机的程序状态字寄存器中。程序状态字中最主要的内容有指令地址、条件码、地址保护键,中断屏蔽和中断响应时的中断源记录等。中断响应和处理操作的第④步和第⑤步就是交换程序状态字操作。

    ② 向量中断:对应每一级中断都有一个向量,这些向量顺序存放在主存的指定单元中。向量的内容是:相应的中断服务程序起始地址和处理机状态字(主要是指令地址)。在中断响应时,由中断部件提供中断向量的地址,就可取出该向量。中断响应和处理操作的第⑤步就是取中断向量操作。在采用向量中断的机器中一般不再使用程序状态字。

    中断系统功能

    编辑

    语音

    1)实现中断响应和中断返回

    当CPU收到中断请求后,能根据具体情况决定是否响应中断,如果CPU没有更急、更重要的工作,则在执行完当前指令后响应这一中断请求。CPU中断响应过程如下:首先,将断点处的PC值(即下一条应执行指令的地址)推入堆栈保留下来,这称为保护断点,由硬件自动执行。然后,将有关的寄存器内容和标志位状态推入堆栈保留下来,这称为保护现场,由用户自己编程完成。保护断点和现场后即可执行中断服务程序,执行完毕,CPU由中断服务程序返回主程序,中断返回过程如下:首先恢复原保留寄存器的内容和标志位的状态,这称为恢复现场,由用户编程完成。然后,再加返回指令RETI,RETI指令的功能是恢复PC值,使CPU返回断点,这称为恢复断点。恢复现场和断点后,CPU将继续执行原主程序,中断响应过程到此为止。

    2)实现优先权排队

    通常,系统中有多个中断源,当有多个中断源同时发出中断请求时,要求计算机能确定哪个中断更紧迫,以便首先响应。为此,计算机给每个中断源规定了优先级别,称为优先权。这样,当多个中断源同时发出中断请求时,优先权高的中断能先被响应,只有优先权高的中断处理结束后才能响应优先权低的中断。计算机按中断源优先权高低逐次响应的过程称优先权排队,这个过程可通过硬件电路来实现,亦可通过软件查询来实现。

    3)实现中断嵌套

    当CPU响应某一中断时,若有优先权高的中断源发出中断请求,则CPU能中断正在进行的中断服务程序,并保留这个程序的断点(类似于子程序嵌套),响应高级中断,高级中断处理结束以后,再继续进行被中断的中断服务程序,这个过程称为中断嵌套。如果发出新的中断请求的中断源的优先权级别与正在处理的中断源同级或更低时,CPU不会响应这个中断请求,直至正在处理的中断服务程序执行完以后才能去处理新的中断请求。

    中断源分类

    编辑

    语音

    中断源是指能够引起中断的原因。

    一台处理机可能有很多中断源,但按其性质和处理方法,大致可分为如下五类。

    ① 机器故障中断。

    ② 程序性中断。现行程序本身的异常事件引起的,可分为以下三种:一是程序性错误,例如指令或操作数的地址边界错,非法操作码和除数为零等;二是产生特殊的运算结果,例如定点溢出;三是程序出现某些预先确定要跟踪的事件,跟踪操作主要用于程序调试。有些机器把程序性中断称为“异常”,不称为中断。

    ③ 输入-输出设备中断。

    ④ 外中断。来自控制台中断开关、计时器、时钟或其他设备,这类中断的处理较简单,实时性强。

    ⑤ 调用管理程序。用户程序利用专用指令“调用管理程序”发中断请求,是用户程序和操作系统之间的联系桥梁。

    在51单片机中有5个中断源

    中断号 优先级 中断源 中断入口地址

    0 1(最高) 外部中断0 0003H

    1 2 定时器0 000BH

    2 3 外部中断1 0013H

    3 4 定时器1 001BH

    4 5 串口中断 0023H

    中断优先权

    编辑

    语音

    几个中断请求可能同时出现,但中断系统只能按一定的次序来响应和处理。可最先被响应的中断具有最高优先权,按优先级别顺序进行处理。优先权高低是由中断部件的中断排队线路确定的。

    中断中断级

    当机器设置很多中断源时,为了简化设计,对中断源分组管理。具有相同中断优先权的中断源构成一个中断级。同一级中断使用同一个中断控制程序起点。

    中断中断屏蔽

    对应于各中断级设置相应的屏蔽位。只有屏蔽位为1时,该中断级才能参加中断优先权排队。中断屏蔽位可由专用指令建立,因而可以灵活地调整中断优先权。有些机器针对某些中断源也设置屏蔽位,只有屏蔽位为1时,相应的中断源才起作用。

    展开全文
  • 1. 中断的基本概念 1.1 中断与异常 上一章提到了,微处理器和外设有三种基本的IO方式,分别是直接程序控制方式、中断方式、DMA方式。在中断方式中,外设满足传输条件后向处理器发送中断请求信号,然后处理器调用中断...

    1. 中断的基本概念

    1.1 中断与异常

    上一章提到了,微处理器和外设有三种基本的IO方式,分别是直接程序控制方式、中断方式、DMA方式。在中断方式中,外设满足传输条件后向处理器发送中断请求信号,然后处理器调用中断服务程序,进而提高了处理器的效率。现在,我们正式地认识一下中断,中断是指微处理器在正常执行程序的过程中,当出现某些意外情况或某种外部设备请求时,暂停正在执行的程序,转而去执行某一个特定的程序,并在执行后返回原来暂停执行的程序继续执行的过程。

    而我们平时经常提到的异常其实是传统意义上的内部中断,也叫做异常中断,即因内部意外条件而改变程序执行流程以报告出错情况和非正常状态的过程;相反的,把因外部事件而改变程序执行流程的这个过程称为外部中断,也叫做硬件中断

    广义上的中断包括异常,二者的区别在于:中断处理异步发生的外部事件,异常处理同步发生的内部事件。

    异常的类型:

    1. 故障(Faults):有时称为失效,是在引起异常的指令执行前被检测和处理,故障异常可以正确执行下去。如除法出错、界限检查、无效操作码、协处理器不存在等。
    2. 陷阱(Traps):在引起异常的指令执行之后被报告,在服务程序完成后,返回主程序中引起异常指令的下一条指令继续执行。如用户定义的软件中断:单步陷阱、断点异常、溢出、INTn、BOUND等。
    3. 夭折(Abort):是一种不能确定引起异常指令确切位置的异常。

    中断的分类:

    1. 内部中断:即异常。
    2. 外部中断 / 硬件中断:主要包括不可屏蔽中断(NMI)和可屏蔽中断(INTR)。
      不可屏蔽中断:不能用软件来控制是否允许中断,常见的NMI中断有电源掉电、存储器检验出错、总线奇偶错。为这些紧急请求设置了不可屏蔽中断输入引脚NMI,这些重要的故障信号传至该引脚。
      可屏蔽中断:可用软件控制是否允许中断的外部中断,即STI使IF=1,允许中断;CLI使IF=0,禁止中断。所有外设中断都属于INTR,如键盘中断、串并口中断、硬盘中断等。系统中所有外设的中断请求信号都通过外接的中断控制器与微处理器的INTR相连
    3. 系统管理中断:与系统管理方式对应的中断源叫做系统管理中断-SMI。

    在这里插入图片描述

    1.2 中断过程

    中断过程分五步走:

    第一步,中断请求。 外部中断源发出中断请求或者内部产生某种异常都会通知微处理器。

    第二步,中断判优。 很好理解,如果微处理器同时收到多个中断请求,总得有个处理顺序,这就是中断判优,微处理器首先响应优先级最高的中断请求。

    第三步,中断响应。 这步有点麻烦,指的是当微处理器收到那个优先级最高的中断请求后,到开始处理它(进入中断服务程序)之前的这段时间。
    对于可屏蔽中断,当这个中断申请到达了处理器,处理器执行完当前指令,就开始进入中断响应周期,这期间CPU做了这些事情:

    1. 向外部中断控制器发送两个脉冲响应信号(INTA):第一个INTA告诉中断控制器已经响应外部中断请求,赶紧把中断类型号准备好;第二个INTA,CPU拿走中断类型号。
    2. 将标志位寄存器内容压栈,清IF、TF以禁止INTR和陷阱、单步中断。
    3. 将断点地址压栈(CS:IP),断点地址就是原来CPU执行的程序中的下一条指令的地址。
    4. CPU根据中断类型号找到中断服务程序入口地址,执行中断服务程序。

    第四步,中断处理。 第三步结束,微处理器顺利地找到了中断服务程序,于是CPU开始执行中断服务程序。

    1. step1 保护现场。 在上一步中断响应这个阶段,CPU已经自动完成了对标志位寄存器内容和断点地址的保护,这一步要做的是:将寄存器信息压栈保护,基本原则是,如果某些主程序用到的寄存器,中断程序也用到了,那么这些寄存器信息必须压栈保护,
    2. step2 开中断。 在上一步中断响应阶段,微处理器进行了清IF、TF标志位,是为了防止在中断响应过程中又有新的中断来干扰。那么现在已经进入了中断服务程序,该做的工作都做好了,已经不怕打扰了,所以开放所有可屏蔽中断,目的是允许中断嵌套。
    3. step3 执行中断服务程序。 针对外设请求,CPU执行I/O;针对内部异常,CPU做出相应处理。在这一步,允许响应更高一级的中断。
    4. step4 关中断。 使用关中断指令CLI。
    5. step5 恢复现场。

    第五步,中断返回。 中断服务程序最后一条指令无一例外使用中断返回指令(如IRET或IRETD),该指令将第三步中压栈的标志位寄存器信息和断点地址一次从堆栈中弹出。

    1.3 外部中断源的管理

    在微机系统中,中断优先级从高到低依次为:在这里插入图片描述
    其中NMI通过某种硬件结构确定多个不可屏蔽中断的优先级;INTR利用外部中断控制器决定和管理多级中断。

    当多个中断源共用一根中断请求线时,就涉及到了中断源的识别问题。有软件查询和硬件处理法:

    • 软件查询即按优先级从高到低依次查询,看看到底是哪一个。
    • 硬件处理,就是采用如编码器和比较器的优先权排队电路以及中断控制器等硬件来管理中断。

    2. 实地址方式和保护方式下的中断

    核心问题是怎么找到中断服务程序的入口地址,分两种方式。

    2.1 实地址方式

    先明确两个概念:

    • 中断向量: 中断服务程序的入口地址。每个中断服务程序对应一个中断向量。
      组成及格式:4个字节;低地址存偏移量,高地址存段地址(牢记!)
      在这里插入图片描述

    • 中断向量表: 顾名思义,存中断向量的地方,即中断向量表里面存着所有中断服务程序的入口地址。由于系统有256个中断类型号,每个中断类型号对应一个中断服务程序,每个中断服务程序对应一个4字节的中断向量,所以中断向量表大小为1KB。另外,它固定在内存的起始位置:00000H~003FFH,这就意味着中断向量表的基地址为0。

    所以从上面的分析可知,求一个中断类型号对应的中断服务程序入口地址的方法为:

    1. 算出它的起始地址和末地址分别为:4n,4n+3;
    2. 由中断向量的格式可以找到段地址和偏移量
    3. 入口地址就是:段地址 × 16 + 偏移量。(实地址下的寻址方式)

    2.2 保护方式

    很绕,先说几个概念,结合后面的例题看会清楚一点:

    • 中断描述符:主要为了提供中断服务程序在内存中的偏移地址段选择子
      组成及各式:8个字节;如下:
      在这里插入图片描述
    • 段选择子:偏移地址有了,就差段基地址了,段选择子就派上用场了。段选择子共16位,左边13位是索引,1位TI位,2位RPL位。其中TI位就用来指示在GDT还是LDT中找段描述符,一旦确定了之后,断描述符表的基地址就确定了(题目给你),再加上前面13位索引位就可以找到段描述符,从段描述符中可以找到段基地址;再加上中断描述符中的偏移地址,就得到了中断服务程序的入口地址。
    • 中断描述符表:系统有256个中断类型,每个中断类型的中断描述符8个字节,所以这个表有2KB。但是它不像实地址下的中断向量表在内存最低端,它有IDT(中断描述符表)首地址。

    例1:已知保护方式下,内存单元中有关单元存放的内容如右图所示,IDT的首地址为00280000H,GDT的首地址为00500000H,求20H号中断服务程序入口地址。
    在这里插入图片描述

    1. 找到20H号的中断描述符。 起始地址:20H * 8 + 00280000H = 00280100H,持续8个字节,即红框标出来的部分 (注意顺序)
    2. 在中断描述符里面找出偏移地址和段选择子。 分别是:00422012H,0013H。
    3. 拆开段选择子,找到索引值(段描述符偏移量)和TI值。 0000,0000,0001,0011B。
      高13位:0000,0000,00010B;
      TI:0,所以选择GDT(1对应LDT)。
    4. 通过索引值和段描述符基址(本题中是GDT)找到段描述符。
      段描述起始地址为:00500000H + 0000,0000,00010B * 8 = 00500010H,持续8位为段描述符,即蓝框部分。通过段描述找到段基址:39423400H。
    5. 通过偏移地址和段基址找到中断服务程序入口。 39423400H + 00422012H = 39845412H

    题目一般会给IDT、GDT、LDT基地址,中断描述符和段描述符格式,理一理这几个概念:

    • IDT是中断描述符表,它的基地址用来找中断描述符。
    • 中断描述符:存了中断服务程序在内存段内的偏移地址段选择子。而段选择子里面又存了选哪个段描述符表(TI)段描述符在段描述符表里面的偏移地址(索引值)
    • GDT/LDT是全局/局部段描述符表,用哪个是段选择子里面的TI位决定的,决定好了之后,这个表的基地址 + 索引值 = 段描述符
    • 段描述符:存了需要的这个内存段的基地址,这个内存段的基地址 + 偏移地址 = 入口地址

    例2:已知内存单元中有关单元存放的信息如表,CR0=60000001H,IDTR=6500000007FFH,GDTR=001000007FFFH,求类型号为11H的中断服务程序入口地址。
    在这里插入图片描述

    1. CR0的最低位PE=1,说明保护模式;最高位PG=0,说明不分页。
    2. IDTR高32位为IDT首地址,低16位为表长度,所以中断描述符地址为:65000088H。
    3. 取8个字节,由低到高排序(注意顺序) 得到中断描述符:0042EE0081132012H。
    4. 偏移地址:00422012H,段选择子:8113
    5. 段选择子展开,索引值:8110,TI=0:选GDT
    6. GDT首地址为GDTR前32位,所以段描述符地址:00100000+8110=00108110
    7. 取8个字节为段描述符:0144F20070001FFFH,段基址:01007000H
    8. 入口地址:01007000H+00422012H=01429012H

    2.3 两种方式下中断的主要区别

    1. 表的大小不同。 中断向量表1KB,中断描述符表2KB。因为同样有256个中断类型,实地址方式下中断向量4B,而保护模式下中断描述符有8B。
    2. 表的位置不同。 实地址方式下1KB的表基地址为内存空间的最低端,即放在0000H~03FFH;保护方式下2KB表的基地址由中断描述符寄存器IDTR决定。
    3. 中断服务程序存放位置不同。实地址只能存在1MB以下的内存区域,保护方式下可以在内存中随便放。

    3. 可编程中断控制器8259

    这块片子就是前面所说的通过硬件来管理中断的那个“硬件”。

    3.1 内部结构

    在这里插入图片描述
    拿到一块片子,肯定先搞清楚内部结构和外部引脚,下面介绍一下。

    数据总线缓冲器:

    1. CPU向8259发送命令;
    2. 8259向CPU传送状态信息;
    3. 在中断响应周期,CPU从中获取中断类型号。

    读写逻辑:平平无奇,不需要解释

    级联缓冲/比较器:一个8259只能容下8个中断请求,如果不够用就需要多个片子级联,这时就需要存放和比较设备的主从关系,这个部分就是干这个的。

    控制逻辑:控制8259内部各个部件的主要逻辑电路。

    1. 根据CPU传过来的命令字产生内部控制信号
    2. 对应于当时最高优先级的中断源,向CPU发中断请求信号INT,以便让CPU进行中断响应。
    3. 接受CPU在第一个脉冲赐予的中断响应信号(-INTA),并在此时让ISRi=1,IRRi=0。
    4. 把相应的中断类型号准备好,CPU在第二个脉冲的时候来取。

    中断请求寄存器 IRR:记录外部中断源的中断申请状态。

    1. 1 = 对应引脚有中断请求但是还没响应;
    2. 0 = 对应引脚无中断请求或者是刚刚有请求但是被响应了。

    优先权分辨器 PR:选出最高优先中断源的中断请求给控制逻辑,然后控制逻辑给CPU发INT。

    中断服务寄存器 ISR:记录外部中断源的中断申请是否在被处理。

    1. 1 = 对应引脚的中断请求已经被响应了,CPU正在处理但是还没处理完;
    2. 0 = 对应引脚的中断请求还没被响应

    中断屏蔽寄存器IMR: 设置外部中断源的屏蔽状态,对应引脚为1就给它屏蔽了,反之没屏蔽。需要注意的是,只有IMRi对应位=0且IF=1,CPU才有可能响应可屏蔽中断。

    3.2 工作过程

    顺着结构,介绍一下工作过程,挺重要的。

    1. 当外部中断源产生中断请求后,IRR对应引脚的IRRi = 1;
    2. PR判别优先级,将当前最高优先中断源的请求通知控制逻辑,控制逻辑向CPU发送INT信号。
    3. CPU决定响应该中断后,先在第一个时钟脉冲发送INTA信号,表示可以响应该中断;控制逻辑收到该响应后,将ISRi置位,将IRRi复位,同时准备中断类型号。
    4. CPU在第二个脉冲时取走中断类型号。
    5. CPU处理完中断服务程序后发送中断结束命令,控制逻辑使对应ISRi复位,结束中断过程。

    几个思考题,也写一下吧:

    1. 什么情况下IRR=FFH?
      所有中断源都发出中断请求但都还没被响应。
    2. 什么情况下ISR=FFH?
      八级中断嵌套的情况,从最低到最高优先级的中断源发出的中断请求依次被响应,但都还没结束。
    3. IMR=FFH,计算机会怎样?
      所有硬件中断全部被屏蔽,系统瘫痪。
    4. IRR=0AH,ISR=0AH是否有可能出现?
      有可能,对应IR1和IR3的中断请求都已被响应且没结束,IR1和IR3又产生了新的申请的情况。

    3.3 多片级联

    • 级联时,有一个主8259,最多八个从8259 ;
    • 级联时,主8259的三条级连线CAS0~CAS2作为输出线,连至每个从8259A的CAS0~CAS2;
    • 每个从8259的中断请求信号INT,连至主8259的一个中断请求输入端IR;主8259的INT线连至CPU的中断请求输入端;
    • -SP/-EN,在非缓冲方式下,规定该8259是主片(-SP=1)还是从片(SP*=0)。

    3.4 8259编程

    老规矩,先初始化编程(ICW Initialization Command Word),再写命令字(OCW Operation Command Word)。直接按照格式写写程序就好了,注意只有ICW1是往偶端口写,其余的都是往奇数端口写,没什么难度。
    初始化编程流程:
    在这里插入图片描述
    对8259进行了初始化之后,8259就进入了工作状态,准备就收中断请求信号。可以通过操作命令字OCW使其以不同的方式工作,有三个操作命令字:

    • OCW1:中断屏蔽命令字,用于向中断屏蔽寄存器IMR写入屏蔽信息。
    • OCW2:用于非自动中断结束方式下发出中断结束命令和设置优先级循环方式。
    • OCW3:屏蔽查询状态命令字,用于管理特殊的屏蔽方式和读取8259状态寄存器中的内容。
    展开全文
  • 中断系统

    2021-07-15 00:37:24
    中断装置和中断处理程序统称为中断系统中断系统是计算机的重要组成部分。实时控制、故障自动处理、计算机与外围设备间的数据传送往往采用中断系统中断系统的应用大大提高了计算机效率。中文名中断系统性质...

    中断装置和中断处理程序统称为中断系统。 中断系统是计算机的重要组成部分。实时控制、故障自动处理、计算机与外围设备间的数据传送往往采用中断系统。中断系统的应用大大提高了计算机效率。

    中文名

    中断系统

    性    质

    计算机的重要组成部分来    源

    中断装置和中断处理程序

    功    能

    响应和返回等

    中断系统简介

    编辑

    语音

    中断装置和中断处理程序统称为中断系统。

    中断系统是计算机的重要组成部分。实时控制、故障自动处理、计算机与外围设备间的数据传送往往采用中断系统。中断系统的应用大大提高了计算机效率。

    不同的计算机其硬件结构和软件指令是不完全相同的,因此,中断系统也是不相同的。计算机的中断系统能够加强CPU对多任务事件的处理能力。中断机制是现代计算机系统中的基础设施之一,它在系统中起着通信网络作用,以协调系统对各种外部事件的响应和处理。中断是实现多道程序设计的必要条件。 中断是CPU对系统发生的某个事件作出的一种反应。 引起中断的事件称为中断请求的过程称为程序。CPU执行有关的中断处理程序称为断点的过程称为中断返回。中断的实现由实行软件和硬件综合完成,硬件部分叫做硬件装置,软件部分称为软件处理程序。

    中断系统功能

    编辑

    语音

    中断系统响应和返回

    当CPU收到中断请求后,能根据具体情况决定是否响应中断,如果CPU没有更急、更重要的工作,则在执行完当前指令后响应这一中断请求。CPU中断响应过程如下:首先,将断点处的PC值(即下一条应执行指令的地址)推入堆栈保留下来,这称为保护断点,由硬件自动执行。然后,将有关的寄存器内容和标志位状态推入堆栈保留下来,这称为保护现场,由用户自己编程完成。保护断点和现场后即可执行中断服务程序,执行完毕,CPU由中断服务程序返回主程序,中断返回过程如下:首先恢复原保留寄存器的内容和标志位的状态,这称为恢复现场,由用户编程完成。然后,再加返回指令RETI,RETI指令的功能是恢复PC值,使CPU返回断点,这称为恢复断点。恢复现场和断点后,CPU将继续执行原主程序,中断响应过程到此为止。

    中断系统优先权排队

    通常,系统中有多个中断源,当有多个中断源同时发出中断请求时,要求计算机能确定哪个中断更紧迫,以便首先响应。为此,计算机给每个中断源规定了优先级别,称为优先权。这样,当多个中断源同时发出中断请求时,优先权高的中断能先被响应,只有优先权高的中断处理结束后才能响应优先权低的中断。计算机按中断源优先权高低逐次响应的过程称优先权排队,这个过程可通过硬件电路来实现,亦可通过软件查询来实现。

    中断系统中断嵌套

    当CPU响应某一中断时,若有优先权高的中断源发出中断请求,则CPU能中断正在进行的中断服务程序,并保留这个程序的断点(类似于子程序嵌套),响应高级中断,高级中断处理结束以后,再继续进行被中断的中断服务程序,这个过程称为中断嵌套。如果发出新的中断请求的中断源的优先权级别与正在处理的中断源同级或更低时,CPU不会响应这个中断请求,直至正在处理的中断服务程序执行完以后才能去处理新的中断请求。

    中断系统分类

    编辑

    语音

    中断源是指能够引起中断的原因。一台处理机可能有很多中断源,但按其性质和处理方法,大致可分为如下五类。

    ① 机器故障中断。

    ② 程序性中断。现行程序本身的异常事件引起的,可分为以下三种:一是程序性错误,例如指令或操作数的地址边界错,非法操作码和除数为零等;二是产生特殊的运算结果,例如定点溢出;三是程序出现某些预先确定要跟踪的事件,跟踪操作主要用于程序调试。有些机器把程序性中断称为“异常”,不称为中断。

    ③ 输入-输出设备中断。

    ④ 外中断。来自控制台中断开关、计时器、时钟或其他设备,这类中断的处理较简单,实时性强。

    ⑤ 调用管理程序。用户程序利用专用指令“调用管理程序”发中断请求,是用户程序和操作系统之间的联系桥梁。

    中断系统优先权

    编辑

    语音

    几个中断请求可能同时出现,但中断系统只能按一定的次序来响应和处理。可最先被响应的中断具有最高优先权,按优先级别顺序进行处理。优先权高低是由中断部件的中断排队线路确定的。

    中断系统中断级

    当机器设置很多中断源时,为了简化设计,对中断源分组管理。具有相同中断优先权的中断源构成一个中断级。同一级中断使用同一个中断控制程序起点。

    中断系统中断屏蔽

    对应于各中断级设置相应的屏蔽位。只有屏蔽位为1时,该中断级才能参加中断优先权排队。中断屏蔽位可由专用指令建立,因而可以灵活地调整中断优先权。有些机器针对某些中断源也设置屏蔽位,只有屏蔽位为1时,相应的中断源才起作用。

    中断系统中断处理

    编辑

    语音

    大多数中断系统都具有如下几方面的操作,这些操作是按照中断的执行先后次序排列的。①接收中断请求。②查看本级中断屏蔽位,若该位为1则本级中断源参加优先权排队。③中断优先权选择。④处理机执行完一条指令后或者这条指令已无法执行完,则立即中止现行程序。接着,中断部件根据中断级去指定相应的主存单元,并把被中断的指令地址和处理机当前的主要状态信息存放在此单元中。⑤中断部件根据中断级又指定另外的主存单元,从这些单元中取出处理机新的状态信息和该级中断控制程序的起始地址。⑥执行中断控制程序和相应的中断服务程序。⑦执行完中断服务程序后,利用专用指令使处理机返回被中断的程序或转向其他程序。

    中断系统程序状态字

    编辑

    语音

    程序状态字与向量中段这是两个与中断响应和处理有密切关系的概念。

    程序状态字:每个程序均有自己的程序状态字。现行程序的程序状态字放在处理机的程序状态字寄存器中。程序状态字中最主要的内容有指令地址、条件码、地址保护键,中断屏蔽和中断响应时的中断源记录等。中断响应和处理操作的第④步和第⑤步就是交换程序状态字操作。

    中断系统向量中断

    编辑

    语音

    向量中断:对应每一级中断都有一个向量,这些向量顺序存放在主存的指定单元中。向量的内容是:相应的中断服务程序起始地址和处理机状态字(主要是指令地址)。在中断响应时,由中断部件提供中断向量的地址,就可取出该向量。中断响应和处理操作的第⑤步就是取中断向量操作。在采用向量中断的机器中一般不再使用程序状态字。

    词条图册

    更多图册

    展开全文
  • 中断优先级

    千次阅读 2021-07-25 04:32:43
    为使系统能及时响应并处理发生的所有中断系统根据引起中断事件的重要性和紧迫程度,硬件将中断源分为若干个级别,称作中断优先级。在实际系统中,常常遇到多个中断源同时请求中断的情况,这时CPU必须确定首先为哪...
  • 在没有引入中断机制之前,每个程序都只能等待上一个程序运行完毕才能开始执行,程序之间是串行执行的,系统资源利用率极低。而引入中断机制之后,如果发生了中断,CPU将从用户态转变为核心态,CPU的使用权...中断分类
  • Linux内核中断系统

    2021-05-10 21:08:43
    中断分类 上面我们根据中断来源,屏蔽方式和中断入口对中断进行了简单的分类中断控制器PIC: 可编程中断控制器GIC: Generic Interrupt Controller, 通用中断控制器。(常用) GIC是目前最常见的一种中断控制器,它在...
  • 一、操作系统的运行机制 (一)程序是如何运行的? 在这里插入图片描述 “指令”就是处理器(CPU)能识别、执行的最基本命令。 注:很多人习惯把 Linux、Windows、MacOS 的“小黑框”中使用的命令也称为“指令”,...
  • 中断和异常 定义 中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动...当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理。 对于不同的中断,不同的操作系统会进行不同的处
  • 然后处理器可以通知操作系统发生了中断,操作系统可以适当地处理中断。 不同的设备使用与每个中断相关联的唯一值与不同的中断相关联。这样操作系统能够区分中断并知道是哪个硬件设备引起了这样的中断。同时
  • DSP28335笔记 ———— 中断系统 之 外部中断 我用的开发板是“硬汉DSP28335开发板”,文中对于硬件的描述可以说是没有,而且我还没有附上电路图希望在看的朋友不要喷我。 然后,我个人感觉普中的DSP28335开发手册...
  • 功能和分类 操作系统(Operation System,OS)是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是计算机系统中最基本的系统...
  • 系统中断介绍

    2021-08-01 21:12:31
    中断:是指计算机程序运行过程中,系统外部、系统内部或者现行程序本身若出现紧急事件,处理机立即中止现行程序的运行,自动转入相应的处理程序(中断服务程序),待处理完后,再返回原来的程序运行,这整个过程称为...
  • 中断和软中断

    2021-08-31 21:41:19
    本文介绍了中断分类,以Linux系统为例,介绍了操作系统的硬中断和软中断的实现机制。
  • Linux中断系统

    2021-01-03 18:21:54
    首先感谢原文作者 LoyenWang 的分享,可以点击章节阅读原作者原文,或者查看本文的转载地址,再次感谢原作者分享,已经在公众号上... SoC:系统级芯片System on Chip SGI:软件产生的中断(software-generated inter..
  • 系统中断

    2021-03-22 09:47:01
    2.中断分类 外部中断:不可屏蔽中断、可屏蔽中断。 不可屏蔽中断:通过NMI向CPU请求的中断系统自身屏蔽不了的中断。 可屏蔽中断:通过INTR线向CPU请求的中断,因外部设备产生的中断,但不会影响系统的正常运行...
  • 系统中具有多个中断源的情况下,常用的处理方法有多中断信号线法、中断软件查询法、菊花链法、总线仲裁法和中断向量表法。 多中断信号线法:每个中断源都有属于自己的一根中断请求信号线向CPU提出中断请求。 中断...
  • 中断概念是50年代中期提出的,在这以前,计算机虽然能自动运行程序,但有两个问题不能很好解决: 不能自动处理异常情况或特殊请求,如电源掉电等。 CPU与外设串行工作,CPU得不到充分利用。CPU是电子设备,基本...
  • 中断是指CPU在执行当前程序时系统出现了某种状况,使得CPU必须停止当前程序,而去执行另一段程序来处理的出现的紧急事务,处理结束后CPU再返回到原先暂停的程序继续执行,这个过程就称为中断
  • 中断和异常 1. 中断的概念和作用 中断产生背景:解决串行执行程序,系统资源利用率低的问题。为解决该问题,发明了操作系统,发生中断意味着...2. 中断分类中断(也称”异常“) 外中断 3. 外中断的处理过程 ...
  • 第八章微型计算机中断系统.ppt微机原理及应用 教学目标 中断的概念及中断的用途 中断类型及中断向量 中断过程 ?8259A中断原理 重 点 中断的概念 CPU响应可屏蔽中断的条件 中断处理过程 硬件中断与软件中断的比较 ...
  • 本文内容:广义分类狭义分类(x86分类)概念 广义的中断概念硬件中断中断BIOS中断 广义的陷阱概念 优先级 外部中断/中断(Interrupt)非屏蔽中断可屏蔽中断可编程中断控制器8259A高级可编程中断控制器(APIC) ...
  • Linux中断系统到底是否支持优先级,可否嵌套,中断号又是怎么来确定的,中断产生时又是如何一步步执行到中断处理函数的。为了彻底搞懂Linux中断系统,我决定从最原始材料出发,一探究竟。(s3c2440+linux2...
  • 第4章微型计算机的中断系统第4章 微型计算机的中断系统 4.1 中断原理 4.1.1 中断的基本概念 2. 中断源 引发中断的事件称为中断源 内部中断(在CPU内部的中断源): 程序异常(运算溢出等), 陷阱中断(例如,单步运行...
  • 操作系统(Operating System,OS)是控制和管理整个计算机系统的硬件和软件资源,并合理的组织调度计算机的工作和资源的分配,以提供给用户和其它软件方便的接口和环境,它是计算机系统中最基本的系统软件。...
  • 本章节将介绍各类操作系统的特点。 裸机系统 单片机的程序可以分为三种:轮循系统、前后台系统和多任务系统。 轮询系统 即在裸机编程时,先初始化相关硬件,让主程序在一个死循环里面不断循环,顺序地处理各种事件。...
  • 中断系统调用

    2020-12-26 18:57:07
    为什么要采用中断系统。 维持系统可靠正常工作。1)程序员不能直接干预和操纵机器,通过操作系统来实现。2)程序运行过程中,如果发生越界访问,应该由存储管理部件进行监测,一旦发生应向处理机发出中断请求,采取...
  • 中断和异常一、中断机制的诞生二、中断分类1.内中断2.外中断 一、中断机制的诞生 问题一:发生中断意味着什么? 多道程序并发执行时,CUP需要在多个进程之间循环切换,而如何切换需要操作系统进行管理。 而中断的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 75,180
精华内容 30,072
关键字:

中断系统分类