当前位置: 首页 > news >正文

中断以及 PIC可编程中断控制器

1 中断分为同步中断(中断)和异步中断(异常)

1.1 中断和异常的不同

  • 中断由IO设备和定时器产生,用户的一次按键会引起中断。异步。

  • 异常一般由程序错误产生或者由内核必须处理的异常条件产生。同步。缺页异常,断点int3

异常如果由程序错误产生,内核通过发送一个信号来处理异常

如果由内核必须处理的异常条件诱发,那么内核必须执行所需要的所有步骤。

(思考信号产生的动机)

1.2 中断和进程上下文切换的不同

中断切换的代码不是一个进程,而是一个内核控制路径,代表中断发生时正在执行的进程在内核中执行。

1.3 中断敏感性

  • 当内核正打算做一些事情,中断随时可能会到来,因此中断必须很快完成(以便内核处理它的事情),尽可能把多的事情放到后面执行。

  • 中断随时可能到来,在处理一个中断时必须允许其他中断到来。这样可以允许尽量多的IO设备处于忙碌状态。所以中断应该允许嵌套

  • 临界区中,中断必须被禁止。这个要求对于临界区来说是必要的,但是对于内核规则来说是不应当的。所以应该减少临界区。

1.4 中断向量表

非屏蔽中断和异常的向量是固定的,可屏蔽中断的向量可以通过编程来改变。

1.5 IRQ和中断

IRQ(Interrupt request)是设备用来向可编程中断控制器发送中断请求的,IRQ在硬件上和中断控制器相连接。一个设备可能有多条IRQ,如PCI卡有4条。

当设备产生中断信号时,会发送到IRQ线上。中断信号会被中断控制器一直监视,如果有条IRQ线上同时出现中断信号,那么会选取IRQn值最小的那一个优先处理。

中断控制器会将从IRQn上接受来的中断信号转换为对应的向量,将这个向量放到I/O端口上以便CPU需要的时候通过读取数据总线来读。中断控制器将接受到的中断信号转发到CPU的INTR引脚上产生一个中断

接下来就是等待CPU把这个中断信号写进可编程中断控制器的I/O端口来确认这个向量。如果确实是,则清INTR线。

IRQ编号从0开始,IRQn对应的intel的缺省向量为n+32。IRQ和向量的对应关系可以通过一些指令来重新编程。

选择性的禁止IRQ线相当于"服务台"(中断控制器)让客户的需求(设备中断)排队,当开启IRQ时还会来处理需求

通过cli sti来开启和屏蔽可屏蔽中断相当于服务台暂时不上班,客户的需求会被忽略。

1.6 多APIC系统和中断分发方式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FnHwwudK-1678462382637)(null)]

  • 静态分发

  • 动态分发 中断在CPU之间分发

CPU产生处理器之间的中断,这在SMP系统中很有用。

如果是单处理器,那么APIC可以弱化成8259A,LIN0 LIN1分别作为INTR和NMI引脚使用

也可以作为一个外部的I/O APIC使用(虽然它在处理器内部),本地APIC被激活。

http://www.lryc.cn/news/38096.html

相关文章:

  • SecureCRT 安装并绑定ENSP设备终端
  • ESP32设备驱动-TCS3200颜色传感器驱动
  • < JavaScript小技巧:Array构造函数妙用 >
  • 【17】组合逻辑 - VL17/VL19/VL20 用3-8译码器 或 4选1多路选择器 实现逻辑函数
  • 2023年全国最新二级建造师精选真题及答案19
  • Java中的 this 和 super
  • ESP32设备驱动-红外寻迹传感器驱动
  • 初识BFC
  • 随想录二刷Day17——二叉树
  • Weblogic管理控制台未授权远程命令执行漏洞复现(cve-2020-14882/cve-2020-14883)
  • STM32F103CubeMX定时器
  • 多态且原理
  • 动态库(二) 创建动态库
  • opencv加水印
  • Flume基操
  • 图文详解红黑树,还有谁不会?
  • 多目标遗传算法NSGA-II原理详解及算法实现
  • Spark 键值对RDD的操作
  • 【SpringCloud】SpringCloud详解之Feign远程调用
  • 文档团队怎样使用GIT做版本管理
  • 【java】Java中-> 是什么意思?
  • 网络类型部分实验
  • java教程--函数式接口--lambda表达式--方法引用
  • java——代理
  • kubernetes中service探讨
  • Python3实现“美颜”功能
  • 【创建“待选项”按钮02计算坐标 Objective-C语言】
  • 自组织( Self-organization),自组织临界性(Self-organized criticality)
  • Elasticsearch:集群管理
  • 华为OD机试题 - 非严格递增连续数字序列(JavaScript)| 机考必刷