microcomputer_principle_14_中断
Carpe Tu Black Whistle

中断技术

  1. 中断的基本概念
  2. 中断响应的一般过程
  3. 中断向量表
  4. 8088/8086中断系统

基本概念

  • 中断:
    • CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序,以处理该事件,该事件处理完后又返回被中断的程序执行,这一过程称为中断。

这里的特殊服务程序:中断服务(处理)子程序

引入中断的原因

  • 提高对外设请求的响应实时性。
  • 提高了CPU的利用率
    • 避免了CPU不断检测外设状态的过程

根据中断请求的来源分为:

  • 内部中断
    • 异常中断–异常事件引起
    • 软件中断–中断指令引起
  • 外部中断
    • 可屏蔽中断–INTR中断
    • 非屏蔽中断–NMI中断

外部可屏蔽中断

一般过程

  • 中断请求
  • 中断源识别及中断判优
  • 中断响应
  • 中断处理(服务
  • 中断返回

  1. 外部可屏蔽中断请求信号:INTR
  • 中断请求信号应保持到中断被处理为止;
  • CPU响应中断后,中断请求信号应及时撤销。
  1. 中断源识别
  • 软件查询法
  • 中断矢量法

中断矢量法, 由中断源提供中断类型号,CPU根据类型确定中断源

当由多个中断源同时提出请求时,响应谁? –> 中断判优

优先级法则

  • 低优先级的中断程序允许被高优先级的中断源所中断
    排队法则
  • 先来先响应

中断源识别及判优由硬件系统完成

image

  1. 中断响应

外部可屏蔽中断响应信号:**#INTA**

  • 向中断源发出#INTA中断响应信号;
  • 关中断 –> 不允许响应其他中断
  • 保护硬件现场 –> 将FLAGS压入堆栈
  • 保护断点 –> 将CS、IP压入堆栈
  • 获得中断服务程序入口地址

以上全部过程,全部由硬件系统完成

  1. 中断处理
  • 执行中断服务子程序

  • 中断服务子程序的特点:

    • 为“远过程”
    • 用IRET指令返回
  • 关中断,保护现场,保护断点,找到入口地址

  • -> 进入中断处理子程序

  • 保护软件现场(参数

  • 开中断(STI)

  • 中断处理

  • 关中断(CLI)

  • 恢复现场

  • 中断返回

  1. 中断返回
  • 执行IRET指令,使IP、CS和FLAGS从堆栈弹出

–> 恢复断点和硬件现场

image

中断向量表

  • 存放各类中断的中断服务程序的入口地址;
  • 位于内存的00000H~003FFH

image

  • 每个入口占4 Bytes,低字为段内便宜,高字为段基地址;
  • 中断向量表大小为1KB,共256个入口。

8088/8086中断系统

image

与NMI中断
特点:

  • 无#INTA周期
  • 中断类型码固定或由指令给出

中断优先级:内部中断>NMI>INTR