11.4 外围设备的中断请求

  1. IRQ概念:IRQ(Interrupt Request)即中断请求,用于暂停当前正在运行的程序,并跳转到其他程序运行,是硬件控制中的必要机制,称为中断处理。
  2. 中断处理示例:中断处理类似于处理文档时接到电话,电话相当于中断处理。在中断处理开始到中断处理程序运行结束前,被中断的主程序处理会停止,中断处理结束后,处理会返回主程序继续。
  3. 中断请求与处理实施主体:连接外围设备的I/O控制器实施中断请求,CPU负责实施中断处理程序。外围设备的中断请求使用不同于I/O端口的编号,即中断编号,可在控制面板查看设备属性获取,如软盘驱动器的IRQ值为06,表示用06号识别其发出的中断请求,操作系统及BIOS提供响应中断编号的中断处理程序。
  4. 多个中断请求处理:当多个外围设备同时进行中断请求时,在I/O控制器和CPU间加入中断控制器IC进行缓冲,它将多个外围设备的中断请求有序传递给CPU。
  5. CPU中断处理流程:CPU接收中断控制器的中断请求后,中断当前主程序,切换到中断处理程序。中断处理程序首先将CPU所有寄存器数值保存到内存栈中,完成外围设备输入输出后,将栈中数值还原到CPU寄存器,继续主程序处理。若CPU寄存器数值未还原,会影响主程序运行,甚至导致程序意外停止或运行异常,所以中断请求完毕后需将寄存器数值还原到中断前状态,以保证主程序正常继续。
posted @ 2025-02-14 22:38  叽里呱啦哇里呱唧  阅读(20)  评论(0)    收藏  举报