T23 外部中断流程与保存内容

  • 中断请求产生:设备或 CPU 内部事件发出中断信号。
  • CPU 响应中断
    • 当前指令执行完毕后,CPU 检测并接受中断(如果优先级允许)。
    • 硬件自动处理(中断隐指令)
      • 当前 PCPSW自动保存到栈中。
      • 根据中断类型,从中断向量表获取并设置PC 指向中断服务程序(ISR)入口
      • 将特权级自动切换到内核态
      • (可能)自动屏蔽同一或更低优先级中断。
  • 中断服务程序(ISR)执行
    • 软件保存剩余上下文:ISR 负责将所有通用寄存器等保存到栈中。
    • 清除中断源:向中断设备发送确认信号,清除设备中断标志。
    • 执行中断处理逻辑:处理导致中断的事件(如 I/O 数据传输、计时器更新等)。
    • (可能)唤醒等待该事件的进程。
  • 中断返回
    • 软件恢复上下文:ISR 从栈中恢复之前保存的所有通用寄存器
    • 执行中断返回指令(如IRET)。
    • 硬件恢复关键上下文IRET指令自动从栈中恢复之前保存的PC 和 PSW
    • 恢复特权级和中断状态:根据恢复的 PSW,CPU 恢复到中断前的特权级和中断使能状态。
    • 程序恢复执行:被中断的程序从中断点处继续执行