执行一条指令 最后一个总线周期的最后一个状态? 取下一条指令 Ye 有INTR? Yes 0 中断开放?(FR中的IF=1?) Ye 关中断(置FR中IF=0)发NTA信号 断号地址(PCS)入栈 FR入栈 转入相应中断服务程序 保护现场 中断服务处理 8086CPU响应中断的过程 恢复现场 开中断ST(置FR中IF=1) 微机原理及应用—第章中中断返回IRET 16
微机原理及应用——第8章 中断 16 执行一条指令 最后一个总线周期的最后一个T状态? 有INTR? 中断开放? (FR中的IF=1?) 关中断 (置FR中IF=0) 发INTA信号 断号地址(IP. CS)入栈 FR 入栈 转入相应中断服务程序 保护现场 中断服务处理 恢复现场 开中断STI (置FR中IF=1) 中断返回IRET 取下一条指令 No No No Yes Yes Yes 8086 CPU 响应中断的过程
8.3中断优先权 1.用软件确定中断优先权 INTR 中断源A D,-Do 三态 中断源B 缓冲器 在上中断源C M/IO 优先权管理电路 微机原理及应用——第8章中断 17
微机原理及应用——第8章 中断 17 1. 用软件确定中断优先权 优先权管理电路 三态 缓冲器 译 码 锁 存 器 G INTR D7 ~D0 A15~A0 RD 中 断 源 A 中 断 源 B … 中 断 … 源 C … M IO 8.3 中断优先权
8.3中断优先权 在中断服务中 读入请求状态 Y 为中断源A A申请? 服务的程序段 B申请? 为中断源B 服务的程序段 Y C申请? 为中断源C 服务的程序段 中断返回 软件查询流程图 微机原理及应用——第8章中断 18
微机原理及应用——第8章 中断 18 软件查询流程图 在 中 断 服 务 中 读 入 请 求 状 态 A 申 请 ? B 申 请 ? C 申 请 ? 中 断 返 回 为中断源A 服务的程序段 为中断源B 服务的程序段 为中断源C 服务的程序段 Y Y Y … 8.3 中断优先权
8.3中断优先权 采用软件查询方式的特点: 询问的次序,即为优先权的次序 硬件简单。 由查询转至相应的服务程序的时间长 尤其在中断源较多的情况 微机原理及应用——第8章中断
微机原理及应用——第8章 中断 19 • 采用软件查询方式的特点: 询问的次序,即为优先权的次序。 硬件简单。 由查询转至相应的服务程序的时间长, 尤其在中断源较多的情况。 8.3 中断优先权
8.3中断优先权 思考题: 1.为什么要在中断服务程序中执行S∏指令? 微机原理及应用——第8章中断
微机原理及应用——第8章 中断 20 思考题: 1. 为什么要在中断服务程序中执行STI 指令? 8.3 中断优先权