首页 > 其他分享 >8.3-中断与响应

8.3-中断与响应

时间:2023-02-26 21:59:17浏览次数:35  
标签:8.3 优先级 中断 中断请求 响应 屏蔽 CPU

中断的基本概念

是指CPU正常运行程序时,由于内部或者外部事件(或由程序,输入输出)引起CPU中断正在运行的程序,而转到为中断事件服务的程序中去,服务完毕,再返回原程序的这一过程

中断特征:具有随机性

中断作用

日程表

描述已自动生成

  1. 实现主机与外设之间的并行工作
  2. 故障处理:中断系统能使计算机在运行过程中出现故障的时候,调用响应的中断服务程序处理故障
  3. 实时处理:

中断类型

图示

描述已自动生成

输入输出时可屏蔽中断

  1. 内部中断:来自于CPU内部的中断指令请求,分为软件中断和异常
  2. 外部中断:来自于CPU外部,又分为可屏蔽和不可屏蔽中断
  3. 不可屏蔽中断INTR:由系统内部硬件引发的中断,优先级高于外部硬件中断,且不受中断允许标志位的影响,所以是不可屏蔽中断
  4. 可屏蔽中断:是由外设通过中断请求线向处理器申请而产生的中断,处理器可以用指令来屏蔽(禁止)就是不响应中断请求

中断系统的基本功能

图表, 气泡图

描述已自动生成

  • 中断请求保持与清楚

通常由硬件实现,通过触发器,处理完后通过清零信号清除

图示, 示意图

描述已自动生成

  • 中断源识别

中断号:是系统分给中断源的代号,以便识别和处理。中断号在中断处理过程中起到重要作用

中断号获取:CPU对系统中不同的中断源,获取他们的中断号的方式是不同的。可以通过硬件方式获取比如向量中断,也可以用软件方式获取

中断系统的基本功能-中断控制

  • 中断触发方式:是指外设以什么逻辑信号去申请中断,即边沿触发和电平触发
  • 中断排队方式:当多个设备同时发出中断请求,会有多个中断源发起请求,而处理器只能处理一个请求,需要进行中断排队,处理器按优先级高的先服务的原则提供服务。
    • 按优先级排队:根据任务的轻重缓急,给每个中断源指定CPU响应的优先级,任务紧急的先响应,可以暂缓的后响应。缺点是优先级高的会一直响应,低的一直得不到响应
    • 循环轮流排队:部分级别高低,CPU循环轮流响应各个中断源的中断请求。缺点是紧急的中断得不到及时的响应
    • 中断嵌套:当CPU处理中断时,出现优先级更高的中断申请过来,为了使紧急优先级更高的得到响应,暂时打断挂起当前正在执行的中断去处理更高级别的中断,处理完成后再处理被打断的中断。中断里面又去执行其他中断就是嵌套。级别相同的中断源不能嵌套,可屏蔽中断可以嵌套,不可屏蔽中断不允许嵌套
  • 中断屏蔽:处理器用指令来控制中断屏蔽触发器状态,从而控制是否接收某个特殊外设的中断请求。处理器内部也有一个中断允许触发器,只有当其为1(开中断),CPU才可以响应外部中断

中断系统的基本功能-中断优先级

中断优先级是指CPU响应和处理中断请求的先后次序

为了兼顾中断响应的时效与配置的灵活,通常采用两套机制结合组成中断优先序管理体系

(1)硬件响应优先序:未被屏蔽的几个中断源同时提出申请时CPU选择服务对象的 顺序,由硬件电路实现,用户不能修改

(2)软件服务优先级:在各个中断服务程序开头,用软件设置自己的中断屏蔽字,以此改变实际服务顺序

所以可以通过硬件来实现响应的优先序,通过软件实现服务优先序,两者配合使用

中断系统基本功能-中断的处理过程

  1. 中断响应周期:当CPU收到外设的中断请求后,如果当前指令已执行完(每条指令执行完成后都会去判断是否有中断请求),且允许中断,CPU进入中断响应周期,发出中断应答信号完成一个中断响应周期,告诉CPU下一个周期要响应中断
  2. 中断响应阶段:CPU获取中断号,谁提出的中断请求,识别中断源,完成中断申请和中断响应的一个过程,通常由硬件实现,也可以软件
  3. 中断处理过程:
    • 标志位的处理与断电保存:处理器获得外部中断源的中断信号后保存断点返回地址,关闭中断(因为这个时候可能有别的中断过来扰乱现场,程序无法返回),保护现场
    • 向中断服务程序转移并执行中断服务程序
    • 返回断点:中断服务执行完成后,恢复断点和现场,返回主程序(可以由软硬件完成)

详细的中断处理流程

  • 单级中断处理流程

  • 多级中断处理流程:就是单中断在开中断后如果有其他中断发生可以嵌套进来

图示

描述已自动生成

标签:8.3,优先级,中断,中断请求,响应,屏蔽,CPU
From: https://www.cnblogs.com/smilexm/p/17157842.html

相关文章

  • 响应对象主要有三种形式:HttpResponse() render() redirect()
    render()参数:request:用于生成响应的请求对象。template_name:要使用的模板的完整名称,可选的参数context:添加到模板上下文的一个字典。默认是一个空字......
  • 请求与响应
    1.团队多人开发,没人设置不同的请求路径,冲突问题如何解决——设置模块名作为请求路径前缀stuController.javapackagecom.itheima.controller;importorg.springframewo......
  • stm32f407探索者开发板(十九)——外部中断实验-EXIT
    文章目录​​一、外部中断概述​​​​二、外部中断库函数设置​​​​2.1SYSCFG_EXTILineConfig(设置IO口与中断线的映射关系)​​​​2.2EXTI_Init(初始化中断线:触发方式等......
  • 7_SpringMVC_响应处理
    ​ 在学习了SpringMVC的配置流程以及单元方法请求数据的获取后,我们可以使用SpringMVC搭建一个项目,在单元方法中使用SpringMVC提供的方式来获取请求信息,然后根据功能需求,......
  • 7_SpringMVC_响应处理
    ​ 在学习了SpringMVC的配置流程以及单元方法请求数据的获取后,我们可以使用SpringMVC搭建一个项目,在单元方法中使用SpringMVC提供的方式来获取请求信息,然后根据功能需求,......
  • wget 下载中断了怎么办?
    命令:wget-t0-c<文件地址>-c表示断点续连-t表示断了会每经过几秒重新连接连接一次,0表示一直不断重连,有最大连接次数的。注意:记得在原来的目录下执行这个命令,......
  • 操作系统的中断、异常、和系统调用
    中断和异常的处理机制都具有硬件和软件的处理过程,合在一起才能完成操作系统的一个具体的服务为了区分异常、终端的来源,需要模拟出一个类似于键值对的数据,key是中断号或异......
  • 中断、异常、系统调用
    启动DISK:最开始时,OS存放在DISK中,再由BIOS提供相应的支持;BIOS:是指基本I/O处理系统;功能是在计算机开机之后,让计算机系统可以检测各种外设,进而去加载相应的软件去执行。Boo......
  • 数据响应、内容协商
    数据相应响应页面:发送一个请求,跳转到目标页面,单体项目,发送请求直接跳转响应数据:前后分离项目;比如做一个后台只接收请求,给前端响应图片、音频、视频、文档等响应JSON......
  • yolov5的训练中断恢复
    Yolov5的恢复训练使用自带参数-resume1.train.py文件中找到函数parse_opt,修改参数–resume的默认参数为Ture        2.runs/train/exp*/weights/路径......