计算机组成原理——程序中断的工作流程

447 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

本文介绍IO中断方式中的程序中断方式的工作流程

工作流程

  • 中断请求

    • 内中断 :处理器和内存内部产生的中断【程序运算引起的各种错误:地址非法、校验错、页面失效、存取访存控制错、算术操作溢出、数据格式非法、除数为0、非法指令、用户程序执行特权指令、分时系统
    • 时间片中断及用户态到核心态的切换】
    • 外中断:处理器和内存以外的部件引起的中断【IO设备发出的中断、外部信号中断[ESC键]、各种定时器引起的中断】
    • 硬件中断:通过外部硬件产生的中断
    • 软件中断: 通过某条指令产生的中断
    • 非屏蔽中断:这是一种硬件中断,这种中断通过不可屏蔽中断请求NMI控制,不受中断标志位IF的影响
    • 可屏蔽中断:也是一种硬件中断,通过中断请求标记触发器INTR控制,且受中断标志位IF的影响
  • 中断判优

    • 硬件实现通过硬件排队器,软件实现通过查询程序
    • 一般来说,硬件故障中断属于最高级,其次是软件中断,非屏蔽中断优于可屏蔽中断,DMA请求优于IO设备传送的中断请求,高速设备优于低速设备,输入优于输出,实时设备优于普通设备
  • CPU响应中断的条件

    • image.png
  • 中断隐指令

    • 关中断:为了防止中断现场被其他中断打断
    • 保存断点:
    • 引出中断服务程序:取出中断服务程序入口地址并传送给PC
  • 中断向量

    • 不同的设备的中断服务程序入口也不同,入口地址则为中断向量
  • 中断处理过程

    • 123关中断保存断点引出中断服务程序
    • 保存现场和屏蔽字
    • 开中断
    • 执行中断服务程序
    • 关中断
    • 恢复现场和屏蔽字
    • 开中断、中断返回