中断请求
中断请求和中断控制器
实施中断请求的是连接外围设备的I/O控制器,负责实施中断处理的是CPU,外围设备的中断请求会使用不同于I/O端口的其他编号,该编号称为中断编号。在控制面板中查看软盘驱动器的属性时,IRQ处现实的数值是06,表示的就是用06号来识别软盘驱动器发出的请求。还有就是操作系统以及BIOS则会提供响应中断编号的中断处理程序。
中断请求和中断控制器
假如有多个外围设备进行中断请求的话,CPU 需要做出选择进行处理,为此,我们可以在I/O控制器和CPU中间加入名为中断控制器的IC来进行缓冲。中断控制器会把从多个外围设备发出的中断请求有序的传递给CPU。中断控制器的功能相当于就是缓冲。

中断控制器的功能
中断请求和中断控制器
CPU在接受到中断请求后,会把当前正在运行的任务中断,并切换到中断处理程序。中断处理程序的第一步处理,就是把CPU所有寄存器的数值保存到内存的栈中。在中断处理程序中完成外围设备的输入和输出后,把栈中保存的数值还原到CPU寄存器中,然后再继续进行对主程序的处理。

假如CPU寄存器数值还没有还原的话,就会影响到主程序的运行,甚至还有可能会使程序意外停止或发生运行时异常。这是因为主程序在运行过程中,会用到CPU寄存器进行处理,这时候如果突然插入其他程序的运行结果,此时CPU必然会受到影响。所以,在处理完中断请求后,各个寄存器的值必须要还原。只要寄存器的值保持不变,主程序就可以像没有发生过任何事情一样继续处理。

相关文章:

  • 2021-06-22
  • 2022-12-23
  • 2021-06-21
  • 2022-12-23
  • 2022-12-23
  • 2021-05-03
  • 2021-04-17
  • 2021-11-04
猜你喜欢
  • 2021-11-23
  • 2021-10-29
  • 2021-09-11
  • 2021-10-15
  • 2021-12-14
相关资源
相似解决方案