组成原理(七):程序查询及中断方式

学习重点

  • 程序查询方式
    • 流程
    • 接口电路
  • 程序中断方式
    • 中断概念
    • 中断源
  • 中断电路
    • INTR和MASK
    • 排队器
    • 向量地址形成部件
    • 接口基本电路
  • 多重中断

1.程序查询方式

流程

  1. 查询流程

    • 单个设备

    • 多个设备

  2. 程序流程

    I/O—>CPU—>主存

接口电路

D:工作触发器
B:完成触发器
DBR:数据缓冲寄存器

2.程序中断方式

  1. 中断概念

  2. 中断源(中断的产生)
    打印机为例

3.中断电路

  1. INTR和MASK

    • INTR:中断请求触发器(1:有请求)
      INTerrupt Request 可屏蔽中断请求信号
    • NMI:
      Non Maskable Interrupt 不可屏蔽中断请求信号
    • MASK:中断屏蔽触发器(1:被屏蔽)
    • D:完成触发器(1:完成)
    • cpu查询 + 未屏蔽 + 设备工作结束(往DBR存数据)才能发送中断请求
  2. 排队器

    • 实现方式:

      • 硬件:
        集中在CPU内中断系统或分散在接口电路中
      • 软件:程序查询
    • 部分电路:

    • 完整电路:

      • 某设备选择,则之前优先级都有电(可中断),后面优先级的都没电
      • 优先级高的设备可中断优先级低的设备的操作
  3. 中断向量地址形成部件:

    • 入口地址查询两种方式:

      • 程序查询:按照D的值查找
      • 硬件向量法:硬件产生向量地址,再由向量地址找到入口地址
    • 向量地址形成部件:

    • 主存存放入口地址或跳转命令(JMP 跳转命令):

  4. 程序中断方式接口电路:

    • 组件:
      INTA:中断响应信号
      D:工作触发器
      B:完成触发器
      DBR:数据缓冲寄存器
      ENIT:可被中断触发器
    • 中断响应且排队器排到才能进行中断服务程序
  5. CPU响应中断的条件和时间:

    • 条件:
      • 允许中断触发器ENIT=1
      • 可用开中断指令将ENIT置1,可以中断
      • 可用关中断指令将ENIT置0,不可中断
    • 时间:
      • D=1且MASK=0时,每条指令执行阶段结束前,cpu发送中断查询信号

4.多重中断

  1. 中断基本流程:

    • 保护现场
      • 断点保护(中断隐指令)
      • 寄存器内容保护(进栈指令)
    • 执行中断程序(设备服务程序)
    • 恢复现场(出栈指令)
    • 中断返回(中断返回指令)
  2. 单重中断:
    不允许中断现行的中断服务程序

  3. 多重中断概念:
    允许更高级别的中断源中断现行中断服务程序

  4. 示意图:

  5. 流程:

    开中断:开启中断,可被中断
    关中断:关闭中断,不可被中断

原文地址:https://www.cnblogs.com/kenshine/p/14516591.html