中断的类型有哪些?


中断是来自连接到计算机的设备或计算机内程序的信号,它要求操作系统停止并确定下一步该做什么。

中断系统是这样的:当CPU可以处理程序时,如果CPU需要任何IO操作,则将其发送到队列,并进行CPU处理。稍后,输入/输出(I/O)操作准备就绪。

I/O设备中断可用的数据并执行剩余的处理;中断就是这样有用的。如果没有中断,CPU需要空闲一段时间,直到IO操作完成。因此,为了避免CPU等待时间,引入了中断。

处理器处理中断

每当发生中断时,它都会导致CPU停止执行当前程序。然后,控制权转移到中断处理程序或中断服务例程。

以下是ISR处理中断的步骤:

步骤1 - 当发生中断时,假设处理器正在执行第i条指令,程序计数器将指向下一条指令(i+1)。

步骤2 - 当发生中断时,程序值存储在进程堆栈上,程序计数器加载中断服务例程的地址。

步骤3 - 中断服务例程完成后,进程堆栈上的地址被弹出并放回程序计数器。

步骤4 - 现在它执行第(i+1)行的恢复。

中断类型

中断主要分为以下两种类型:

硬件中断

外部设备和I/O设备产生的中断信号,在指令准备就绪时向CPU发出中断。

例如 - 在键盘上,如果我们按下某个键来执行某些操作,则按键会产生一个信号,该信号被发送到处理器以执行操作,此类中断称为硬件中断。

硬件中断分为以下两种类型:

  • 可屏蔽中断 - 当处理器发生最高优先级中断时,可以延迟的硬件中断。

  • 不可屏蔽中断 - 不能被延迟并立即由处理器服务的硬件中断。

软件中断

内部设备和软件程序产生的中断信号需要访问任何系统调用,然后就会出现软件中断。

软件中断分为两种类型:

  • 普通中断 - 由软件指令引起的中断称为软件中断。

  • 异常 - 异常是在执行程序时发生的意外中断。例如 - 在执行程序时,如果我们得到一个被零除的值,则称为异常。

更新于:2023年9月2日

83K+ 浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.