⚡ CPU 中断(Interrupt)工作机制

交互式动态可视化 — 点击「自动播放」观看完整中断处理流程

🔧 硬件中断 💻 软件中断 ⚠️ 异常
点击「自动播放」开始

🧠 什么是中断?

中断是硬件或软件发出的异步信号,强迫 CPU 暂停当前任务,转去执行对应的中断处理程序(ISR),处理完再恢复原任务。

📋 完整工作流程

  • 1. 中断请求:外设发出 IRQ 信号
  • 2. 中断判优:中断控制器仲裁优先级
  • 3. 响应中断:CPU 完成当前指令,发出 INTAR
  • 4. 保存现场:FLAGS/CS/IP 压栈
  • 5. 执行 ISR:跳转到中断处理程序
  • 6. 恢复现场:IRET 弹出寄存器
  • 7. 继续原任务:恢复原程序执行

🔑 关键概念

  • IRQ:中断请求信号线
  • ISR:Interrupt Service Routine
  • 中断向量表:存放 ISR 入口地址
  • 上下文切换:保存/恢复寄存器现场
  • 中断屏蔽:IF 标志位控制可屏蔽中断
  • NMI:不可屏蔽中断(硬件故障)

📊 中断分类

  • 硬件中断:外设 → IRQ → CPU(键盘、磁盘、网卡)
  • 软件中断:INT 指令主动触发(系统调用)
  • 异常:CPU 执行指令时检测到错误(除零、缺页)