美文网首页
中断 2022-01-27

中断 2022-01-27

作者: 9_SooHyun | 来源:发表于2022-01-27 15:45 被阅读0次

中断(interrupt)

from wiki:
中断(Interrupt)是指处理器接收到来自【硬件】或【软件】的信号,提示发生了某个事件,告知CPU注意

为什么会有中断:
中断,本质上是【CPU】和【外设】的一种【异步】通信机制。这里又要提到同步/异步通信机制了。假设处理器与外部设备通信时,必须在向该设备发出指令后进行忙等待(Busy waiting),反复轮询该设备是否完成了动作并返回结果(即同步的消息通信机制),就会造成大量处理器周期被浪费。更合理的是异步机制:CPU向设备发出指令后,继续执行接下来的其他指令,而外设完成指令执行时通过发送中断信号来主动通知CPU,CPU拿到结果后再继续切换回原来的上下文处理。中断实际上就是【CPU】和【外设】的一种【异步】通信机制,现在被用于CPU外部与内部紧急事件的处理、机器故障的处理、时间控制等多个方面

中断的实现:CPU对中断信号的轮询,或者说CPU在监听中断信号
当有设备事件发生,设备会设置CPU的中断引脚来触发一次中断。不同的事件对应不同的中断类型,如a中断拉高,告诉CPU该写了;b中断拉高,告诉CPU可以读了。在每个CPU时钟周期的末尾,CPU会去检测那个中断信号位是否有中断信号到达。如果有,则会根据中断优先级决定是否要暂停当前执行的指令,转而根据中断向量表去执行处理中断的指令。(就是CPU 层面对中断信号的轮询)

问题1:前面说过,CPU和外设通信时忙等待会浪费CPU周期,忙等待就是对设备状态的轮询。而中断本质上也是轮询,为什么中断不浪费CPU周期呢?
因为CPU每个时钟周期轮询一次中断信号,这个时钟周期的其他时间片CPU是可以执行其他指令的,而不是向忙等待一样每个时间点都在轮询其他啥也不干

问题2: 都是轮询,为什么忙等待是同步通信,而中断是异步通信呢?中断也需要轮询中断信号啊
这和问题1实际上是同质的。同步通信是【主动轮询】;异步通信是被动接受通知,也就是【监听通知】,而监听的实现还是轮询。虽然都是轮询,但轮询的方式不同。对于前者,CPU只做一件事,就是一直轮询好了吗好了吗;对于后者,CPU是周期性地轮询,整个节奏是:【干活-看下好了吗-干活-看下好了吗-干活-看下好了吗...】。这看起来就是异步模式了

常见应用

中断的典型应用包括系统时钟、磁盘输入输出操作、断电信号以及软件自陷等。

  • 系统时钟通过一个计数器(多基于某种振动频率)定期向CPU发出中断,CPU通过专门的时钟中断处理程序来保持计时。Clock or timer interrupts are interrupts from your timers present on your board. These timers are configured during board initialization where you can define the interrupt period. Timer/clock interrupts are often used for scheduling. These interrupts invoke the scheduler and it may switch the currently executing thread/process to another by saving the current context and loading another one.
    现代操作系统对系统时钟的另一个主要应用是为进程切换提供时机。一旦时钟中断发生,程序计数器会被自动压栈,而此时操作系统就有机会将程序状态及内存映像转存至别处,并调用进程调度程序来选择下一个进程,并将其进程状态,包括程序计数器,导入寄存器。这样下一个程序就可以运行。应注意进程调度程序的调度时机不止于时钟中断。
  • 磁盘中断标识某个磁盘设备完成了数据的发送/接收。磁盘中断发生后,等待这个中断的进程可以(但未必,这取决于进程调度程序当时的判断)继续执行。
  • 断电中断指示计算机能源即将丧失,计算机可以相应中断程序作有序的关机处理。

相关文章

  • 中断 2022-01-27

    中断(interrupt) from wiki:中断(Interrupt)是指处理器[https://zh.wik...

  • 橙子的ScalersTalk第六轮新概念朗读持续力训练Day 1

    练习材料:[Day 2681 2022-01-27] L5-(1): The facts Editors of n...

  • 《句句成章》71 珍惜你我(一)

    游子岁月 2022-01-27 07:12 收录于话题 #学会生活 懂得快乐 32 个 #学会生活 学会花钱 8 ...

  • 觉察

    2022-01-27 读经人员:妈妈,小宝儿。 妈妈读经典内容:易经、孝经、笠翁对韵。 小宝读经内容:《伤寒论》《...

  • kernel 中断

    中断# 中断分 向量中断 和 非向量中断## 向量中断由硬件提供中断服务程序入口地址 非向量中断由软件提供中断服务...

  • Linux中断中能否sleep

    中断、软中断、硬件中断、异常、同步中断、异步中断,这几个概念非常容易混淆,这里对本文使用的中断、软中断、softi...

  • 嵌入式中断处理的简单描述

    嵌入式中断处理的简单描述 ## 通用的中断处理过程: 中断源---》中断路径---》中断响应 中断由中断源发出,进...

  • 2022-01-27

    《100天打卡》2022-01-27 小结:复盘重点,修正模块复盘 用最少的注意力和精力完成所有有意义的事 ...

  • 【转】荣格:你的潜意识正控制着你的人生,而你却称其为命运。

    荣格 哲学漫步集 2022-01-27 10:09 你的潜意识正控制着你的人生, 而你却称其为命运。 当潜意识被呈...

  • 中断与中断系统

    中断:没有我,还想提高计算机性能,做梦吧! 设想一个场景:小宏正在吃饭,突然接到公司的电话,要求马上赶到公司开会。...

网友评论

      本文标题:中断 2022-01-27

      本文链接:https://www.haomeiwen.com/subject/ebrahrtx.html