跳转至

程序中断方式

image.png

中断的作用

  1. 实现CPU与I/O设备并行工作image.png
  2. 硬件故障
  3. 实现人际联系
  4. 实现多道程序和分时操作
    1. 提高计算机效率
  5. 实现实时处理
  6. 实现应用程序和操作系统
  7. 多处理机系统
    1. 通过中断来实现处理机和处理机之间的信息交流和任务切换

中断的分类

  1. 按中断来源:image.png
    1. 内中断:发生在主机内部的中断
    2. 外中断:有主机外部事件引起的中断
  2. 按中断服务程序入口地址的获取方式
    1. 向量中断:通过硬件自动形成中断服务程序的入口地址
    2. 非向量中断:通过中断查询程序确定中断源和中断服务程序的入口地址
  3. 按中断源位置分类
  4. 按是否可屏蔽分类

程序中断方式的接口电路

  1. 中断请求触发器和中断屏蔽触发器
    1. 中断请求触发器:
      1. 当中断事件引发中断时,将中断请求触发器INTR1
      2. 当中断请求触发器为1时,向CPU发出中断请求信号
      3. 每个中断源有一个中断请求触发器,多个请求触发器构成中断请求寄存器,其中的内容被称为中断字或中断码
    2. 中断屏蔽触发器:各设备的中断屏蔽触发器组成中断屏蔽寄存器
      1. 实现方法:为每一个中断源设置一个中断屏蔽触发器MASK,用来屏蔽设备的中断请求
        1. 1,则对应的设备中断被封锁
        2. 0,允许该设备的中断请求得到响应
  2. 排队器
  3. 中断向量形成部件
    1. 软件产生
    2. 硬件向量法 image.png

I/O中断处理过程

响应中断的条件和时间

  1. 条件:中断允许触发器EINT=1
  2. 时间:每条指令执行阶段的结束时刻

    [!note] 响应中断的时间 因为I/O设备准备就绪的时间是随机的,而CPU是在统一的时刻向接口发送中断查询信号,以获取I/O的中断请求。 因此,CPU响应中断的时间一定是在没条指令执行阶段的结束阶段

中断处理过程

image.png 1. 由CPU发启动I/O设备命令,将接口中的B1D0 2. 接口启动输入设备开始工作 3. 输入设备将数据送入数据缓冲寄存器 4. 输入设备向接口发出“设备工作结束”信号,将D1B0,标志设备准备就绪 5. 当设备准备就绪,且未被屏蔽,在指令执行阶段的结束时刻,由CPU发出中断查询信号 6. 设备中断请求触发器INTR被置1,标志设备向CPU提出中断请求,同时,INTR送至排队器,进行中断判优 7. 若CPU允许中断,设备又被排队选中,即进入中断响应阶段,由中断响应信号INTA将排队器输出送至编码器形成向量地址 8. 向量地址送至PC,作为下一条指令的地址 9. 根据寻找到的无条件跳转指令,开始执行中断服务程序,进入中断服务阶段,通过输入指令将数据缓冲寄存器的输入数据送至CPU的通用寄存器,再存入主存相关单元 10. 中断返回至源程序的断点处

#计组重点 中断服务程序流程

中断服务程序的流程

  1. 保护现场
    1. 程序断点的保护:由中断隐指令完成
    2. 寄存器内容的保护:使用进栈指令完成
  2. 中断服务:对不同的I/O设备相应不同内容的中断服务
  3. 恢复现场:使用出栈指令完成
  4. 中断返回:使用中断返回指令完成

单重中断和多重中断的服务流程

[!note] #计组重点 多重中断 单重中断不允许中断现行的中断服务程序 而多重众多允许级别更高的中断源中断现行的中断服务程序

image.png