Skip to content

中断系统

CPU暂停执行现行的程序,转而处理随机事件,处理完毕后再回到被中断的程序,这一全过程

CPU和中断源连接方式

  • 一对一的连接方式
  • 一对多的连接方式

一对多下的判断识别方式

  1. 软件查询法: 中断程序来负责查询中断接口.
  2. 硬件查询法(菊花链法)
  3. 请求线仲裁法

  4. 中断识别号: 每个设备都会被分配一个编号, 也称为中断向量号, 中断类型号

  5. 向量中断: CPU通过中断向量号, 找到中断处理程序入口地址, 转入中断处理

8086 中断类型

  1. 外部中断
  2. 可屏蔽中断 (INTR 引脚, IF):鼠标, 打印机等设备
  3. 不可屏蔽中断 (NMI引脚)
  4. 内部中断
  5. 溢出中断 INTO
  6. 除法出错中断
  7. 断点中断 (INT3)
  8. 单步中断 (TF)
  9. INTn 中断

TF 置1

PUSHF
POP AX
OR AX, 0100H
PUSH AX
POPF

8086 中断处理

8086在当前指令执行结束之后,开始响应中断

8259A 重要组成

  • 中断请求寄存器 IRR(8bit): 对应引脚,信号有效时,IRn置1
  • 中断屏蔽寄存器 IMR(8bit): 哪位置1则屏蔽对应引脚的中断请求, 由 OCW1 完成
  • 优先电路 PR
  • 中断服务寄存器 ISR(8bit): 中断响应之后,第一个中断回答INTA# 周期将允许中断请求的中断响应位置置1, 存放的是正在被服务的中断,包括尚未服务完成 而中途被优先级更高的中断打断的中断

8059A 工作方式

  1. 引入中断请求的方式
  2. 边沿触发方式
  3. 电平触发方式
  4. 屏蔽中断源方式
  5. 通常屏蔽方式 OCW1
  6. 特殊屏蔽方式 允许优先级比当前低的中断被响应, OCW3 的D6D5=11
  7. 优先级排队方式
  8. 固定优先级
  9. 优先级轮转法
    1. 优先级自动轮转 高IR0,IR2,...IR7 低, 响应之后自动降到最低
    2. 优先级指令轮转 指定一个为最高优先级再按顺序自动轮换