12-中断系统

12-中断系统

一、概述

  1. 引起中断的各种因素
    1) 人为设置的中断
    如 转管指令
    2) 程序性事故
    溢出、操作码不能识别、除法非法操作
    3) 硬件故障
    4) I/O设备
    5) 外部事件 用键盘中断 现行程序

  2. 中断系统需解决的问题
    1)各中断源如何向CPU提出请求?
    2)各中断源同时提出请求怎么办?
    3)CPU什么条件、什么时间、以什么方式响应中断?
    4)如何保护现场?
    5)如何寻找入口地址?
    6)如何恢复现场,如何返回?
    7)处理中断的过程中又出现新的中断怎么办?
    硬件+软件

二、中断请求标记和中断判优逻辑

  1. 中断请求标记 INTR
    一个请求源 有一个INTR中断请求标记触发器
    多个INTR 组成中断请求标记寄存器
    INTR 分散在各个中断源的接口电路中
  2. 中断判优逻辑
    1)硬件实现(排队器)
    • 分散在各个中断源的接口电路中 链式排队器
    • 集中在cpu内
      2)软件实现(程序查询)

三、中断服务程序入口地址的寻找

如何找到中断服务程序的入口地址?知道了要响应的中断源,才能确定要执行哪个中断服务程序

  1. 硬件向量法
    向量形成部件,输入是排队器的输出,输出是中断向量的地址,地址中存放的是中断程序的入口地址
  2. 软件查询法
    如果是0跳转,如果是1转下一个优先级的中断信号

四、中断响应

  1. 响应中断的条件
    允许中断触发器 EINT=1
  2. 响应中断的时间
    指令执行周期结束时刻由CPU发查询信号
  3. 中断隐指令:操作由计算机完成,并不是由某一条指令驱动,而是在执行程序过程中隐含的完成的一些操作
    1)保护程序的断点 断点保存于特定地址(0号地址)内,断点进栈
    2)寻找服务程序入口地址
    向量地址->PC(硬件向量法)
    中断识别程序 入口地址 M->PC(软件查询法)
    3)硬件关中断
    INT 中断标记
    EINT 允许中断
    R-S 触发器

五、保存现场和恢复现场

  1. 保护现场
  • 断点 中断隐指令完成
  • 寄存器内容 中断服务程序完成
  1. 恢复现场 中断服务程序完成
    中断服务程序
    保护现场 PUSH
    其他服务程序 视不同请求源而定
    恢复现场 POP
    中断返回 IRET

六、多重中断

  1. 多重中断的概念

  2. 实现多重中断的条件
    1)提前设置开中断指令
    2)优先级别高的中断源有权中断优先级别低的中断源

  3. 屏蔽技术
    1)屏蔽触发器的作用
    2)屏蔽字
    3)屏蔽技术可以改变处理优先等级
    响应优先级 不可改变
    处理优先级 可改变(通过重新设置屏蔽字)
    4)屏蔽技术的其他作用
    可以人为地屏蔽某个中断源的请求
    5)新屏蔽字的设置
    保护现场->置屏蔽字->开中断->中断服务->关中断->恢复现场->恢复屏蔽字->开中断->中断返回

  4. 多重断点的断点保护
    1)断点进栈 中断隐指令完成
    2)断点存入“0”地址 中断隐指令完成
    3)程序断电存入“0”地址的断点保护

posted @ 2023-06-16 09:12  Oh,mydream!  阅读(292)  评论(0编辑  收藏  举报