资源描述
1 微 型 计 算 机 原 理 及 其 应 用第七章:微型计算机的中断系统 2 第 七 章 : 微 型 计 算 机 的 中 断 系 统1.中 断 的 概 念 及 处 理 过 程2.8086中 断 系 统3.中 断 控 制 器 8259A 3 第 七 章 : 微 型 计 算 机 的 中 断 系 统1.中 断 的 概 念 及 处 理 过 程2.8086中 断 系 统3.中 断 控 制 器 8259A 4 第 七 章 : 微 型 计 算 机 的 中 断 系 统 概 念 及 处 理 过 程什 么 是 中 断 ? 在 CPU执 行 程 序 的 过 程 中 , 由 于 某 种 突 发 事 件 的 发 生 , 强 迫CPU暂 时 停 止 正 在 执 行 的 程 序 , 转 向 对 该 突 发 事 件 进 行 处 理 , 对 这 个事 件 处 理 结 束 后 又 能 回 到 原 中 止 的 程 序 ,接 着 中 止 前 的 状 态 继 续 执 行原 来 的 程 序 , 这 一 个 过 程 就 称 为 中 断 。 把 引 起 中 断 的 原 因 或 触 发 中 断请 求 的 来 源 称 为 中 断 源 。 5 第 七 章 : 微 型 计 算 机 的 中 断 系 统 概 念 及 处 理 过 程中 断 请 求 信 号 的 产 生 中 断 方 式 提 高 了 CPU的 工 作 效 率 , 但 是 它 同 时 也 提 高 了 系 统的 硬 件 开 销 。 因 为 系 统 需 增 加 含 有 中 断 功 能 接 口 电 路 , 用 来 产 生 中 断请 求 信 号 。 以 输 入 方 式 为 例 , 接 口 电 路 如 图 所 示 。 外 设 发 STB数 据 入 锁 存 器 , 中 断 请 求 触 发 器 置 1若 没 有 屏 蔽 则产 生 INTRCPU满 足 条 件 (允 许 中 断 ; 指 令 执 行 完 )发 (进 入 中 断 服务 子 程 序 )读 数 据 和 地 址 清 中 断 请 求 触 发 器 , 数 据 送 D0 D7。 6 第 七 章 : 微 型 计 算 机 的 中 断 系 统 概 念 及 处 理 过 程中 断 优 先 级中 断 优 先 级 ( 1) 如 果 有 多 个 不 同 优 先 级 的 中 断 源 同 时 提 出 中 断 请 求 时 ,CPU应 当 先 响 应 最 高 优 先 级 的 中 断 源 。 ( 2) 如 果 CPU正 在 对 某 一 中 断 源 服 务 时 , 比 它 优 先 级 更 高的 中 断 源 提 出 中 断 请 求 时 , CPU能 够 暂 停 正 在 执 行 的 中断 服 务 程 序 转 向 对 优 先 级 高 的 中 断 源 进 行 服 务 , 当 服 务 结束 后 再 返 回 原 优 先 级 较 低 的 中 断 服 务 程 序 继 续 执 行 。中 断 嵌 套 正 在 运 行 的 中 断 处 理 程 序 , 被 优 先 级 高 的 中 断 源中 断 , 从 而 转 入 新 的 中 断 处 理 程 序 , 当 新 的 中 断 处 理 程 序执 行 完 再 回 到 原 来 的 中 断 处 理 程 序 , 这 一 现 象 称 为 中 断 嵌套 。 7 第 七 章 : 微 型 计 算 机 的 中 断 系 统 概 念 及 处 理 过 程 中 断 服 务 程 序 : 为 中 断 请 求 源 服 务 的 子 程 序 。中 断 类 型 号 : 根 据 中 断 服 务 程 序 入 口 地 址 在 中 断 向量 表 中 的 位 置 编 号 , 该 编 号 即 中 断 类 型 号 。 中 断向 量 表 存 储 器 由 0000H开 始 每 个 连 续 单 元 为 个类 型 号 , 共 256个 类 型 号 。中 断 向 量 表 : CPU响 应 中 断 后 , 必 须 由 中 断 源 提 供 地址 信 息 , 引 导 程 序 进 入 中 断 服 务 子 程 序 , 这 些 中断 服 务 子 程 序 的 入 口 地 址 存 放 在 中 断 向 量 表 中 。 8 中 断 请 求 何 时 发 生 是 随 机 的 。 CPU在 每 条 指令 的 最 后 一 个 T周 期 去 检 测 INTR引 脚 , CPU一 旦检 测 到 有 中 断 请 求 , 在 满 足 中 断 响 应 的 条 件 下( IF=1) , CPU响 应 中 断 , 向 外 设 发 INTA中 断 响应 信 号 。 并 保 护 断 点 ( 当 前 CS, IP和 PSW值 入栈 ) , 然 后 转 向 中 断 服 务 程 序 。 中 断 服 务 程 序 执行 完 毕 , CPU返 回 原 执 行 程 序 的 中 断 处 , 继 续 向下 执 行 , 称 为 中 断 返 回 。中 断 响 应 : 9 第 七 章 : 微 型 计 算 机 的 中 断 系 统 概 念 及 处 理 过 程中 断 源 : 引 起 程 序 中 断 的 事 件 称 为 中断 源 。8086中 断 源 : 外 部 中 断 源 和 内 部 中 断源 ,都 包 含 于 256个 中 断 类 型 中 ;内 部 中 断 源 : 中 断 指 令 INT n引 起 的中 断 ; 由 CPU的 某 些 运 算 错 误 引 起 的中 断 ; 由 调 试 程 序 debug设 置 的 中 断外 部 中 断 源 : 外 部 硬 件 产 生 。 分 为 不可 屏 蔽 中 断 ( 请 求 线 NMI) 可 屏 蔽 中断 ( 请 求 线 INTR) 10 第 七 章 : 微 型 计 算 机 的 中 断 系 统 概 念 及 处 理 过 程中 断 优 先 级 当 系 统 中 有 多 个 设 备 提 出 中 断 请 求 时 , 就 有 一 个 该 响 应谁 的 问 题 , 也 就 是 一 个 优 先 级 的 问 题 , 解 决 优 先 级 的 问 题 一 般可 有 三 种 方 法 : 软 件 查 询 法 、 简 单 硬 件 方 法 及 专 用 硬 件 方 法 。 11 软 件 查 询 方 法 只 需 有 简 单 的 硬 件 电 路 , 如 将 A、 B、 C三 台 设 备 的 中 断 请 求 信号 “ 或 ” 后 作 为 系 统 INTR, 这 时 , A、 B、 C三 台 设 备 中 只 要 至少有 一 台 设 备 提 出 中 断 请 求 , 都 可 以 向 CPU发 中 断 请 求 。 进 入 中 断服 务 子 程 序 后 , 再 用 软 件 查 询 的 方 式 分 别 对 不 同 的 设 备 的 服 务 ,查 询 程 序 的 设 计 思 想 同 查 询 式 , 查 询 的 前 后 顺 序 就 给 出 了 设 备 的优 先 级 。 12软 件 查 询 方 法 13 第 七 章 : 微 型 计 算 机 的 中 断 系 统 概 念 及 处 理 过 程中 断 优 先 级 简 单 硬 件 方 法 将 所 有 的 设 备 连 成 一 条 链 , 靠 近 CPU的 设备 优 先 级 最 高 , 越 远 的 设 备 优 先 级 别 越 低 , 则 发出 中 断 响 应 信 号 , 若 级 别 高 的 设 备 发 出 了 中 断 请求 , 在 它 接 到 中 断 响 应 信 号 的 同 时 , 封 锁 其 后 的较 低 级 设 备 使 得 它 们 的 中 断 请 求 不 能 响 应 , 只 有等 它 的 中 断 服 务 结 束 以 后 才 开 放 , 允 许 为 低 级 的设 备 服 务 。 14简 单 硬 件 方 法 15 第 七 章 : 微 型 计 算 机 的 中 断 系 统 概 念 及 处 理 过 程中 断 优 先 级 专 用 硬 件 方 法 采 用 可 编 程 的 中 断 控 制 器 芯 片 , 如 Intel8259A。 16 第 七 章 : 微 型 计 算 机 的 中 断 系 统 概 念 及 处 理 过 程中 断 过 程 是 指 中 断 请 求 、 中 断 响 应 、 中 断 处 理 、 中 断 返 回 这 四 个 过 程 。中 段 请 求 、 中 断 响 应 由 硬 件 完 成 , 中 断 处 理 、 中 断 返 回 由 软 件 完 成 。 中 断 请 求 1) 外 部 设 备 发 中 断 请 求 的 条 件 : 当 外 设 准 备 就 绪 或 本 身 工 作 已 经完 成 时 , 才 向 CPU提 出 中 断 请 求 。 2) 外 部 设 备 中 断 请 求 的 标 志 : 当 外 设 要 求 和 CPU进 行 数 据 交 换 时 ,将 中 断 请 求 信 号 送 往 中 断 请 求 触 发 器 或 中 断 控 制 器 , 经 它 们 处 理 后 ,向 CPU发 出 中 断 请 求 。中 断 响 应 如 果 CPU处 于 开 中 断 状 态 , 经 判 优 后 响 应 其 中 最 高 优 先 级 的中 断 请 求 , 关 中 断 , 将 断 点 压 入 堆 栈 中 ( 有 的 微 机 还 将 程 序 状 态 字 和 相 关 寄 存 器 的 内 容 压 入 堆 栈 ) 保 存 , 以 备 返 回 原 程 序 , 紧 接 着 将 相 应的 中 断 处 理 程 序 入 口 地 址 或 中 断 向 量 送 CPU, 转 入 中 断 服 务 程 序 。 17 第 七 章 : 微 型 计 算 机 的 中 断 系 统 概 念 及 处 理 过 程中 断 过 程 中 断 处 理 保 护 现 场 。 将 在 中 断 处 理 程 序 中 使 用 的 有 关 寄 存 器 的 内 容 压 入 堆 栈 保护 起 来 。 在 现 场 保 护 的 过 程 中 , 绝 对 不 允 许 被 中 断 (应 禁 止 中 断 ),否则 现 场 将 被 破 坏 。 当 现 场 保 护 好 后 应 开 中 断 。 中 断 服 务 。 即 该 中 断 所 要 执 行 的 具 体 指 令 内 容 。 恢 复 现 场 。 当 中 断 服 务 结 束 后 , 应 用 中 断 结 束 命 令 清 除 中 断 标 志 , 立即 关 中 断 , 以 保 证 恢 复 现 场 的 过 程 不 受 干 扰 。 恢 复 现 场 就 是 把 原 来 压入 堆 栈 的 有 关 寄 存 器 的 内 容 弹 出 。 现 场 恢 复 后 应 开 中 断 , 以 便 CPU响应 更 高 级 的 中 断 请 求 。中 断 返 回 将 压 入 的 断 点 地 址 弹 出 , 保 证 被 中 断 的 程 序 按 原 来 状 态 执 行 下 去 。 18 第 七 章 : 微 型 计 算 机 的 中 断 系 统 概 念 及 处 理 过 程中 断 过 程 中 断 处 理 和 中 断 返 回 中 的 所 有 内 容 , 也 叫 做 中 断 服 务 程 序 。 即 : 19 可 屏 蔽 中 断 处 理 过 程第 七 章 : 微 型 计 算 机 的 中 断 系 统 8086的 中 断 系 统 20 21 第 七 章 : 微 型 计 算 机 的 中 断 系 统 8086的 中 断 系 统中 断 响 应 过 程 22 23 第 七 章 : 微 型 计 算 机 的 中 断 系 统 8086的 中 断 系 统中 断 响 应 过 程 与 时 序 24 第 七 章 : 微 型 计 算 机 的 中 断 系 统1.中 断 的 概 念 及 处 理 过 程2.8086中 断 系 统3.中 断 控 制 器 8259A 25 第 七 章 : 微 型 计 算 机 的 中 断 系 统 8086的 中 断 系 统中 断 分 类 及 中 断 类 型 码 中 断 源 可 以 分 为 两 大 类 , 即 外 部 (硬 件 )中 断 和 内 部 (软 件 )中 断 。 硬 件 中 断 : 即 通 过 外 部 的 硬 件 产 生 的 中 断 , 如 打 印 机 、 键 盘 等 。 硬 件中 断 又 可 分 为 : 可 屏 蔽 中 断 和 不 可 屏 蔽 中 断 。 不 可 屏 蔽 中 断 : 由 NMI引 脚 引 入 , 它 不 受 中 断 允 许 标 志 的 影 响 ,每 个 系 统 中 仅 允 许 有 一 个 , 都 是 用 来 处 理 紧 急 情 况 的 , 如 掉 电 处理 。 这 种 中 断 一 旦 发 生 , 系 统 会 立 即 响 应 。 可 屏 蔽 中 断 : 由 INTR引 脚 引 入 , 它 受 中 断 允 许 标 志 的 影 响 , 也就 是 说 , 只 有 当 IF 1时 , 可 屏 蔽 中 断 才 能 进 入 , 反 之 则 不 允 许进 入 , 可 屏 蔽 中 断 可 有 多 个 , 一 般 是 通 过 优 先 级 排 队 , 从 多 个 中断 源 中 选 出 一 个 进 行 处 理 。 软 件 中 断 : 即 根 据 某 条 指 令 或 者 对 标 志 寄 存 器 中 某 个 标 志 的 设 置 而 产 生 , 它 与 硬 件 电 路 无 关 , 常 见 的 如 除 数 为 0, 或 用 INT n指 令 产 生 。 26 第 七 章 : 微 型 计 算 机 的 中 断 系 统 8086的 中 断 系 统中 断 分 类 及 中 断 类 型 码 8086/8088系 统 最 多 可 处 理 256级 不 同 类 型 的 中 断 。 27 第 七 章 : 微 型 计 算 机 的 中 断 系 统 8086的 中 断 系 统中 断 分 类 及 中 断 类 型 码 INT n指 令 中 断 逻 辑 INTO指 令 单 步中 断INT 3指 令 除 数 为 0中 断 非 屏 蔽 中 断 请 求 中断控制系 统(8259A) 。 可屏蔽中断请求 NMIINTR 软 件 中 断 硬 件 中 断 28 第 七 章 : 微 型 计 算 机 的 中 断 系 统 8086的 中 断 系 统中 断 分 类 及 中 断 类 型 码 中 断 类 型 码 : 8086为 每 个 中 断 源 分 配 了 一 个 中 断 类 型 码 , 其 取 值 范 围 为 0255, 即 可 处 理 256种 中 断 。 其 中 包 括 软 件 中 断 , 系 统 占 用 的 中 断 以 及 开 放 给用 户 使 用 的 中 断 。 中 断 类 型 码 或 者 包 含 在 指 令 中 , 或 者 预 先 规 定 ;所 有 内 部 中 断 和 NMI中 断 都 不 执 行 INTA总 线 周 期 ;除 单 步 中 断 外 , 任 何 内 部 中 断 都 无 法 禁 止 且 都 比 外 部 中 断 优 先 级 高 ; 中 断 优 先 级内 中 断 ( 除 法 错 , INTO, INT) 最 高最 低非 屏 蔽 中 断 NMI可 屏 蔽 中 断 INTR单 步 中 断 29 第 七 章 : 微 型 计 算 机 的 中 断 系 统 8086的 中 断 系 统中 断 向 量 和 中 断 向 量 表 中 断 向 量 : 把 各 个 中 断 服 务 子 程 序 的 入 口 都 称 为 一 个 中 断 向 量 ; 中 断 向 量 表 : 将 这 些 中 断 向 量 按 一 定 的 规 律 排 列 成 一 个 表 , 就 是 所 谓 的 中 断 向量 表 , 当 中 断 源 发 出 中 断 请 求 时 , 即 可 查 找 该 表 , 找 出 其 中 断 向 量 , 就 可 转 入相 应 的 中 断 服 务 子 程 序 。 向 量 表 地 址 : 中 断 向 量 在 中 断 向 量 表 中 的 位 置 。 8086中 断 系 统 中 的 中 断 向 量 表 是 位 于 0段 的 0 3FFFH的 存 贮 区 内 , 每 个 中 断 向 量 占 四 个 单 元 , 其 中 前 两 个 单 元 存 放 中断 处 理 子 程 序 的 入 口 地 址 的 偏 移 量 (IP), 低 位 在 前 , 高 位 在 后 ;后 两 个 单 元 存 放 中 断 处 理 子 程 序 入 口 地 址 的 段 地 址 (CS), 也 是 低位 在 前 , 高 位 在 后 , 整 个 中 断 向 量 的 排 列 是 按 中 断 类 型 号 进 行 的 。 30 第 七 章 : 微 型 计 算 机 的 中 断 系 统 8086的 中 断 系 统中 断 向 量 和 中 断 向 量 表000H004H008H00CH014H 080H3FFH IP偏 移 地 址CS段 基 地 址IP偏 移 地 址CS段 基 地 址IP偏 移 地 址CS段 基 地 址 中 断 类 型 码 0( 除 法 错 )中 断 类 型 码 1( 单 步 中 断 )中 断 类 型 码 2( NMI中 断 )中 断 类 型 码 3( 断 点 中 断 )中 断 类 型 码 4( 溢 出 中 断 )中 断 类 型 码 5( 保 留 )系 统 保 留 中 断用 户 自 定 义 中 断 31 第 七 章 : 微 型 计 算 机 的 中 断 系 统 8086的 中 断 系 统中 断 向 量 和 中 断 向 量 表 00H: 除 法 出 错 中 断 01H: 单 步 中 断 02H: NMI端 引 入 的 不 可 屏 蔽 中 断 03H: 断 点 中 断 04H: 溢 出 中 断 05H 31H: -系 统 使 用 中 断 , 不 容 许 用 户 修 改 ( 08H 0FH: 8259A中 断 向 量 ; 10H 1FH: -BIOS用 ) 20H 3FH: -DOS用 40H FFH: -用 户 用 32 中 断 向 量 : 中 断 服 务 程 序 的 入 口 地 址中 断 向 量 的 获 取 :8086/8088 CPU根 据 中 断 类 型 号 在 中 断 向 量 表 中 取 得 。中 断 向 量 表 : 中 断 服 务 程 序 的 入 口 地 址 存 放 的 区 域( 也 称 中 断 矢 量 表 )中 断 类 型 号 的 获 取 :1.中 断 指 令 INT n 中 直 接 得 到 ;2.外 部 中 断 类 型 寄 存 器 从 DB输 入 。 33 PA0PA1 PA255 PA0PA1 PA255 P0P1 P255 8086/8088CPU中 对 应 于 256个 中 断 类 型 的 中 断 向 量 必 须 设置 于 0000H至 03FFH的 1KB内 存 空 间 的 中 断 向 量 表 中 。 中断服务程序 34 8086/8088 CPU中 断 优 先 级 :内 中 不 可 屏 蔽 中 断 可 屏 蔽 中 断 单 步 中 断最 高 最 低可 屏 蔽 中 断 优 先 级 设 定 三 种 方 式 :多 中 断 源 的 中 断 嵌 套 进 入 中 断 处 理 程 序 时 , 系 统 自 动 关 中 断 ; 中 断 服 务 程 序 中 必 须 有 STI开 中 断 指 令 允 许 其它 中 断 进 入 实 现 中 断 嵌 套 。 中 断 结 束 返 回 前 要 有 EOI中 断 结 束 命 令 , EOI结 束命 令 应 放 在 中 断 返 回 指 令 IRET前 面 。 RET软 件 查 询 中 断 优 先 级硬 件 查 询 优 先 级 菊 花 链矢 量 中 断 优 先 级 35 硬 件 查 询 优 先 方 式 菊 花 链 法 36 矢 量 中 断 优 先 级 37 中 断 嵌 套 38 第 七 章 : 微 型 计 算 机 的 中 断 系 统1.中 断 的 概 念 及 处 理 过 程2.8086中 断 系 统3.中 断 控 制 器 8259A 39 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A性 能 概 述1. 具 有 8级 中 断 优 先 控 制 , 通 过 级 连 可 以 扩 展 至 64级 优 先 权 控 制 ;2. 每 一 级 中 断 都 可 以 通 过 初 始 设 置 为 允 许 或 屏 蔽 状 态 ;3. 8259A的 工 作 方 式 , 可 通 过 编 程 进 行 设 置 , 因 此 使 用 非 常 灵活 ;4. 8259A采 用 NMOS制 造 工 艺 , 只 需 要 单 一 的 +5V电 源 。5.可 以 通 过 编 程 选 择 多 种 不 同 的 工 作 方 式 。 40 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 内 部 结 构 和 工 作 原 理 41 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 内 部 结 构 和 工 作 原 理 数 据 总 线 缓 冲 器 : 它 是 8259A与 系 统 数 据 总 线 的 接 口 , 是 8位 双 向 三 态 缓 冲 器 。CPU与 8259A之 间 的 控 制 命 令 信 息 、 状 态 信 息 以 及 中 断 类 型 信 息 , 都 是 通 过该 缓 冲 器 传 送 的 。 读 /写 控 制 逻 辑 : CPU通 过 它 实 现 对 8259A的 读 /写 操 作 。 级 连 缓 冲 器 : 用 以 实 现 8259A芯 片 之 间 的 级 连 , 使 得 中 断 源 可 以 由 8级 扩 展 至64级 。 控 制 逻 辑 电 路 : 对 整 个 芯 片 内 部 各 部 件 的 工 作 进 行 协 调 和 控 制 。 中 断 请 求 寄 存 器 IRR: 8位 , 用 以 分 别 保 存 8个 中 断 请 求 信 号 , 当 相 应 的 中 断 请求 输 入 引 脚 有 中 断 请 求 时 , 该 寄 存 器 的 相 应 位 置 1。 中 断 屏 蔽 寄 存 器 IMR: 8位 , 相 应 位 用 以 对 8个 中 断 源 的 中 断 请 求 信 号 进 行 屏 蔽控 制 。 当 其 中 某 位 置 ” 0”时 , 则 相 应 的 中 断 请 求 可 以 向 CPU提 出 ; 否 则 , 相 应的 中 断 请 求 被 屏 蔽 , 即 不 允 许 向 CPU提 出 中 断 请 求 。 该 寄 存 器 的 内 容 为 8259A的 操 作 命 令 字 OCW1, 可 以 由 程 序 设 置 或 改 变 。 中 断 服 务 寄 存 器 ISR: 8位 , 当 CPU正 在 处 理 某 个 中 断 源 的 中 断 请 求 时 , ISR寄存 器 中 的 相 应 位 置 1。 优 先 级 比 较 器 PR: 用 以 比 较 正 在 处 理 的 中 断 和 刚 刚 进 入 的 中 断 请 求 之 间 的 优 先级 别 , 以 决 定 是 否 产 生 多 重 中 断 或 中 断 嵌 套 。 42 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 外 部 引 脚 43 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 外 部 引 脚 D7-D0: 双 向 数 据 输 入 /输 出 引 脚 , 用 以 与 CPU进 行 信 息 交 换 。 IR7-IR0: 8级 中 断 请 求 信 号 输 入 引 脚 。 INT: 中 断 请 求 信 号 输 出 引 脚 , 高 电 平 有 效 , 用 以 向 CPU发 中 断 请 求 , 应 接 在CPU的 INTR输 入 端 。 INTA#: 中 断 响 应 应 答 信 号 输 入 引 脚 , 低 电 平 有 效 , 接 在 CPU的 中 断 应 答 信 号输 出 端 。 RD#、 WR#: 读 /写 控 制 信 号 输 入 引 脚 , 低 电 平 有 效 , 实 现 对 8259A内 部 有关 寄 存 器 内 容 的 读 操 作 。 CS#: 片 选 信 号 输 入 引 脚 , 低 电 平 有 效 , 决 定 了 8259A的 端 口 地 址 范 围 。 A 0: 8259A两 组 内 部 寄 存 器 的 选 择 信 号 输 入 引 脚 , 决 定 8259A的 端 口 地 址 。 CAS2-CAS0: 级 连 信 号 引 脚 , 当 8259A为 主 片 时 , 为 输 出 ; 否 则 为 输 入 , 与信 号 配 合 , 实 现 芯 片 的 级 连 , 这 三 个 引 脚 信 号 的 不 同 组 合 000 111, 刚 好 对应 于 8个 从 片 。 SP#/EN#: 为 级 连 管 理 信 号 输 入 引 脚 , 在 非 缓 冲 方 式 下 , 若 8259A在 系 统 中作 主 片 使 用 , 则 SP=1; 否 则 SP=0; 在 缓 冲 方 式 下 , 用 作 8259A外 部 数 据 总线 缓 冲 器 的 启 动 信 号 。 +5V、 GND: 电 源 和 接 地 引 脚 。 44 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 工 作 过 程1. 当 有 一 条 或 若 干 条 中 断 请 求 输 入 ( IR7-IR0) 有 效 时 , 则 使 中 断 请 求 寄 存 器 的IRR的 相 应 位 置 位 。2. 若 CPU处 于 开 中 断 状 态 , 则 在 当 前 指 令 执 行 完 之 后 , 响 应 中 断 , 并 且 发 应 答 信号 ( 两 个 连 续 的 INTA#负 脉 冲 ) 。3. 第 一 个 INTA#负 脉 冲 到 达 时 , IRR的 锁 存 功 能 失 效 , 对 于 IR7-IR0上 发 来 的 中断 请 求 信 号 不 予 理 睬 。4. 使 中 断 服 务 寄 存 器 ISR的 相 应 位 置 1, 以 便 为 中 断 优 先 级 比 较 器 的 工 作 做 好 准 备 。5. 使 中 断 请 求 寄 存 器 的 相 应 位 复 位 , 即 清 除 中 断 请 求 。6. 第 二 个 INTA#负 脉 冲 到 达 时 , 将 中 断 类 型 寄 存 器 中 的 内 容 ICW 2, 送 到 数 据 总线 的 D7-D0上 , CPU以 此 作 为 相 应 中 断 的 类 型 码 。7. 若 ICW4中 的 中 断 结 束 位 为 1, 那 么 , 第 二 个 INTA#负 脉 冲 结 束 时 , 8259A将ISR寄 存 器 的 相 应 位 清 零 。 否 则 , 直 至 中 断 服 务 程 序 执 行 完 毕 , 才 能 通 过 输 出 操作 命 令 字 EOI, 使 该 位 复 位 。 45 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 编 程 结 构 46 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 工 作 方 式1. 优 先 权 的 管 理 方 式2. 中 断 源 的 屏 蔽 方 式3. 结 束 中 断 处 理 的 方 式4. 系 统 总 线 的 连 接 方 式 5. 引 入 中 断 的 请 求 方 式 47 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 工 作 方 式1. 优 先 级 设 置 方 式2. 中 断 源 的 屏 蔽 方 式3. 结 束 中 断 处 理 的 方 式4. 循 环 优 先 级 的 循 环 方 法5. 系 统 总 线 的 连 接 方 式 6. 引 入 中 断 的 请 求 方 式 48 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 工 作 方 式 优 先 级 设 置 方 式1. 全 嵌 套 方 式 这 是 8259A默 认 的 优 先 权 设 置 方 式 , 在 全 嵌 套 方 式 下 , 8259A所 管理 的 8级 中 断 优 先 权 是 固 定 不 变 的 , 其 中 IR0的 中 断 优 先 级 最 高 , IR7的 中 断 优先 级 最 低 。 CPU响 应 中 断 后 , 请 求 中 断 的 中 断 源 中 , 优 先 级 最 高 的 中 断 源 , 在 中断 服 务 寄 存 器 ISR中 的 相 应 位 置 位 , 而 且 把 它 的 中 断 矢 量 送 至 系 统 数 据 总 线 , 在此 中 断 源 的 中 断 服 务 完 成 之 前 , 与 它 同 级 或 优 先 级 低 的 中 断 源 的 中 断 请 求 被 屏蔽 , 只 有 优 先 级 比 它 高 的 中 断 源 的 中 断 请 求 才 是 运 算 的 , 从 而 出 现 中 断 嵌 套 。当 实 现 8级 嵌 套 时 , ISR寄 存 器 内 容 为 0FFH.2. 特 殊 全 嵌 套 方 式 特 殊 全 嵌 套 方 式 与 全 嵌 套 方 式 基 本 相 同 , 所 不 同 的 是 , 当 CPU处 理 某 一 级 中 断 时 , 如 果 有 同 级 中 断 请 求 , 那 么 CPU也 会 作 出 响 应 , 从 而 形 成 了 对 同一 级 中 断 的 特 殊 嵌 套 。 特 殊 全 嵌 套 方 式 通 常 应 用 在 有 8259A级 连 的 系 统 中 , 在 这 种 情 况 下 ,对 主 8259A编 程 时 , 通 常 使 它 工 作 在 特 殊 全 嵌 套 方 式 下 。 这 样 , 一 方 面 ,CPU对 于 优 先 级 别 较 高 的 主 片 的 中 断 输 入 是 允 许 的 , 另 一 方 面 , CPU对 于 来 自同 一 从 片 的 优 先 级 别 较 高 ( 但 对 于 主 片 来 讲 , 优 先 级 别 是 相 同 的 ) 的 中 断 也 是允 许 、 能 够 响 应 的 。 49 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 工 作 方 式 优 先 权 的 管 理 方 式3. 优 先 级 自 动 循 环 方 式 在 实 际 应 用 中 , 中 断 源 优 先 级 的 情 况 是 比 较 复 杂 的 , 要 求 8级 中 断 的 优先 级 在 系 统 工 作 过 程 中 , 可 以 动 态 改 变 。 即 一 个 中 断 源 的 中 断 请 求 被 响 应 之 后 ,其 优 先 级 自 动 降 为 最 低 。 系 统 启 动 时 , 8级 中 断 优 先 级 默 认 为 IR0IR7, 这 时 ,刚 好 IR4发 出 了 中 断 请 求 , CPU响 应 之 后 , 若 8259A工 作 在 优 先 级 自 动 循 环 方式 下 , 则 中 断 优 先 级 自 动 变 为 IR5、 IR6、 IR7、 IR0、 IR1、 IR2、 IR3、 IR4。4. 优 先 级 特 殊 循 环 方 式 优 先 级 特 殊 循 环 方 式 与 自 动 循 环 方 式 相 比 , 只 有 一 点 不 同 , 即 初 始 化 的优 先 级 是 由 程 序 控 制 的 , 而 不 是 默 认 的 IR 0IR7。 50 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 工 作 方 式1. 优 先 权 的 管 理 方 式2. 中 断 源 的 屏 蔽 方 式3. 结 束 中 断 处 理 的 方 式4. 循 环 优 先 级 的 循 环 方 法5. 系 统 总 线 的 连 接 方 式 6. 引 入 中 断 的 请 求 方 式 51 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 工 作 方 式 中 断 源 的 屏 蔽 方 式1. 普 通 屏 蔽 方 式 8259A的 每 个 中 断 请 求 输 入 , 都 要 受 到 屏 蔽 寄 存 器 中 相 应 位 的 控 制 。若 相 应 位 为 “ 1”, 则 中 断 请 求 不 能 送 CPU。 屏 蔽 是 通 过 对 屏 蔽 寄 存 器 IMR的 编程 ( 操 作 命 令 字 OCW1) , 来 加 以 设 置 和 改 变 的 。2. 特 殊 屏 蔽 方 式 有 些 场 合 下 , 希 望 一 个 中 断 服 务 程 序 的 运 行 过 程 中 , 能 动 态 地 改 变 系 统中 的 中 断 优 先 级 结 构 , 即 在 中 断 处 理 的 一 部 分 , 禁 止 低 级 中 断 , 而 在 中 断 处 理的 另 一 部 分 , 又 能 够 允 许 低 级 中 断 , 于 是 引 入 了 对 中 断 的 特 殊 屏 蔽 方 式 。 设 置 了 特 殊 屏 蔽 方 式 后 , 用 OCW 1对 屏 蔽 寄 存 器 中 的 某 一 位 复 位 时 , 同时 也 会 使 中 断 服 务 寄 存 器 ISR中 的 相 应 位 复 位 , 这 样 就 不 只 屏 蔽 了 正 在 处 理 的 等级 中 断 , 而 且 真 正 开 放 了 其 它 优 先 级 别 较 低 的 中 断 请 求 。 特 殊 屏 蔽 是 在 中 断 处 理 程 序 中 使 用 的 , 用 了 这 种 方 式 之 后 , 尽 管 系 统 正在 处 理 高 级 中 断 , 但 对 外 界 来 讲 , 只 有 同 级 中 断 被 屏 蔽 , 而 允 许 其 它 任 何 级 别的 中 断 请 求 。 52 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 工 作 方 式1. 优 先 权 的 管 理 方 式2. 中 断 源 的 屏 蔽 方 式3. 结 束 中 断 处 理 的 方 式4. 循 环 优 先 级 的 循 环 方 法5. 系 统 总 线 的 连 接 方 式6. 引 入 中 断 的 请 求 方 式 53 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 工 作 方 式 结 束 中 断 的 处 理 方 式1. 一 般 的 中 断 结 束 方 式 一 般 的 中 断 结 束 方 式 适 用 用 在 全 嵌 套 的 情 况 下 , 当 CPU用 输 出 指 令 向8259A发 一 般 中 断 结 束 命 令 OCW2时 , 8259A才 会 使 中 断 响 应 寄 存 器 ISR中优 先 级 别 最 高 的 位 复 位 。2. 特 殊 的 中 断 结 束 方 式 在 特 殊 全 嵌 套 模 式 下 , 系 统 无 法 确 定 哪 一 级 中 断 为 最 后 相 应 和 处 理 的 中断 , 也 就 是 说 , CPU无 法 确 定 当 前 所 处 理 的 是 哪 级 中 断 , 这 时 就 要 采 用 特 殊 的中 断 结 束 方 式 。 特 殊 的 中 断 结 束 方 式 是 指 在 CPU结 束 中 断 处 理 之 后 , 向 8259A发 送 一个 特 殊 的 EOI中 断 结 束 命 令 , 这 个 特 殊 的 中 断 结 束 EOI命 令 , 明 确 指 出 了 中 断 响应 寄 存 器 ISR中 需 要 复 位 的 位 。 3. 中 断 自 动 结 束 方 式 这 种 方 式 仅 适 用 于 只 有 单 片 8259A的 场 合 , 在 这 种 方 式 下 , 系 统 一 旦响 应 中 断 , 那 么 CPU在 发 第 二 个 INTA#脉 冲 时 , 就 会 使 中 断 响 应 寄 存 器 ISR中相 应 位 复 位 , 这 样 一 来 , 虽 然 系 统 在 进 行 中 断 处 理 , 但 对 于 8259A来 讲 , ISR没 有 相 应 的 指 示 , 就 象 中 断 处 理 结 束 , 返 回 主 程 序 之 后 一 样 。 CPU可 以 再 次 响应 任 何 级 别 的 中 断 请 求 , 容 易 产 生 重 复 中 断 , 中 断 深 度 无 法 控 制 , 容 易 产 生 错误 。 54 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 工 作 方 式1. 优 先 权 的 管 理 方 式2. 中 断 源 的 屏 蔽 方 式3. 结 束 中 断 处 理 的 方 式4. 循 环 优 先 级 的 循 环 方 法5. 系 统 总 线 的 连 接 方 式 6. 引 入 中 断 的 请 求 方 式 55 8259A的 工 作 方 式 循 环 优 先 级 的 循 环 方法 特 殊 EOI循 环 方 式 自 动 EOI循 环 方 式第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 56 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 工 作 方 式1. 优 先 权 的 管 理 方 式2. 中 断 源 的 屏 蔽 方 式3. 结 束 中 断 处 理 的 方 式4. 循 环 优 先 级 的 循 环 方 法5. 系 统 总 线 的 连 接 方 式 6. 引 入 中 断 的 请 求 方 式 57 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 工 作 方 式 系 统 总 线 的 连 接 方 式1. 缓 冲 方 式 在 多 片 8259A级 连 的 大 系 统 中 , 8259A通 过 外 部 总 线 驱 动 器 和 数 据总 线 相 连 , 这 就 是 缓 冲 方 式 。 在 缓 冲 方 式 下 , 8259的 输 出 信 号 作 为 缓 冲 器 的启 动 信 号 , 用 来 启 动 总 线 驱 动 器 , 在 8259A与 CPU之 间 进 行 信 息 交 换 。2. 非 缓 冲 方 式 当 系 统 中 只 有 一 片 或 几 片 8259A芯 片 时 , 可 以 将 数 据 总 线 直 接 与 系 统数 据 总 线 相 连 , 这 时 8259A处 于 非 缓 冲 方 式 下 。 在 这 种 方 式 下 , 8259A的 作为 输 入 端 设 置 , 主 片 应 接 高 电 平 , 从 片 应 接 低 电 平 。 58 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 工 作 方 式1. 优 先 权 的 管 理 方 式2. 中 断 源 的 屏 蔽 方 式3. 结 束 中 断 处 理 的 方 式4. 循 环 优 先 级 的 循 环 方 法5. 系 统 总 线 的 连 接 方 式 6. 引 入 中 断 的 请 求 方 式 59 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 工 作 方 式 引 入 中 断 请 求 的 方 式1. 边 沿 触 发 方 式 8259A将 中 断 请 求 输 入 端 出 现 的 上 升 沿 , 作 为 中 断 请 求 信 号 , 上 升 沿 后 相 应 引脚 , 可 以 一 直 保 持 高 电 平 。2. 电 平 触 发 方 式 8259A将 中 断 请 求 输 入 端 出 现 的 高 电 平 作 为 中 断 请 求 信 号 , 在 这 种 方 式 下 , 必须 注 意 : 中 断 响 应 之 后 , 高 电 平 必 须 及 时 撤 除 , 否 则 , 在 CPU响 应 中 断 , 开 中断 之 后 , 会 引 起 第 二 次 不 应 该 有 的 中 断 。3. 中 断 查 询 方 式 当 系 统 中 的 中 断 源 很 多 , 超 过 64个 时 , 则 可 以 使 8259A工 作 在 查 询 方 式 下 ,中 断 查 询 方 式 的 特 点 是 :a.中 断 源 仍 往 8259A发 中 断 请 求 , 但 8259A却 不 使 用 INT信 号 向 CPU发 中 断 请 求 信 号 。b. CPU内 部 的 中 断 允 许 标 志 复 位 , 所 以 CPU对 INT引 脚 上 出 现 的 中 断 请 求 呈 禁 止状 态 。c. CPU 用 软 件 查 询 的 方 法 来 确 定 中 断 源 , 从 而 实 现 对 设 备 的 中 断 服 务 , 可 见 ,中 断 查 询 方 式 , 既 有 中 断 的 特 点 , 又 有 查 询 的 特 点 , 从 外 设 的 角 度 来 看 , 是 靠中 断 的 方 式 来 请 求 服 务 , 但 从 CPU的 角 度 来 看 , 是 用 查 询 方 式 来 确 定 发 中 断 请求 的 中 断 源 。 60 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 编 程 8259A的 控 制 字 8259A的 命 令 字 有 两 种 。 一 种 是 初 始 化 命 令 字(ICW), 在 8259A启 动 之 前 写 入 , 使 其 处 于 预 定 的 初 始 状态 。 另 一 种 是 操 作 命 令 字 (OCW), 使 处 于 初 始 状 态 的8259去 执 行 具 体 的 某 种 操 作 方 式 。 操 作 命 令 字 可 在 8259初 始 化 后 的 任 何 时 刻 写 入 。 61 62 63 64 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 65 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 66 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 67 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 68 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 69 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 70 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 71 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 72 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 73 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 74 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 75 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 76 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 77 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 78 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 79 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 80 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 81 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 82 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 83 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A 84 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 编 程 8259A的 级 联 INTACAS0CAS1CAS2IR0 IR3IR6IR7 INT IR4IR7 IR6 IR0 IR7 IR6IR0D7D0D7D0D7D0 D7D0 D7D0 D7D0 INTA CAS0CAS0 CAS1CAS1 CAS 2CAS2 INTINT 系 统 总 线 +5v主 控SP/ENSP/ENINTA SP/EN 85 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 编 程 例 7-1 IBMPC机 中 , 只 有 一 片 8259A, 可 接 受 外 部 8级 中 断 。 在 I/O地 址中 , 分 配 8259A的 端 口 地 址 为 20H和 21H, 初 始 化 为 : 边 沿 触 发 、 缓 冲 连 接 、中 断 结 束 采 用 EOI命 令 、 中 断 优 先 级 采 用 完 全 嵌 套 方 式 , 8级 中 断 源 的 中 断 类 型分 别 为 08H0FH, 初 始 化 程 序 为 : MOV DX,20HMOV AL,00010011BOUT DX,AL ;写 入 ICW1MOV DX,21HMOV AL,08HOUT DX,AL ;写 入 ICW2MOV AL,00001101BOUT DX,AL ;写 入 ICW4 XOR AL,ALOUT DX,AL ;写 入 OCW1 。 。 。 。 。 。STI。 。 。 。 。 。 86 第 七 章 : 微 型 计 算 机 的 中 断 系 统 中 断 控 制 器 8059A8259A的 编 程 例 7-2 读 8259A相 关 寄 存 器 的 内 容 。 设 8259A的 端 口 地 址 为 20H、 21H, 请 读 入IRR、 ISR、 IMR寄 存 器 的 内 容 , 并 相 继 保 存 在 数 据 段 2000H开 始 的 内 存 单 元 中 ; 若 该8259A为 主 片 , 请 用 查 询 方 式 , 查 询 哪 个 从 片 有 中 断 请 求 。MOV AL, xxx01010B 发 OCW3,欲 读 取 IRR的 内 容OUT 20H, ALIN AL, 20H 读 入 并 保 存 IRR的 内 容MOV (2000H), ALMOV AL,xxx01011B 发 OCW3,欲 读 取 ISR的 内 容OUT 20H, ALIN AL, 20H 读 入 并 保 存 ISR的 内 容MOV (2001H), ALIN AL, 21H 读 入 并 保 存 ISR的 内 容MOV (2002H), AL MOV AL, xxx0110 xB 发 OCW3,欲 查 询 是 否 有 中 断 请 求OUT 20HIN AL, 20H 读 入 相 应 状 态 , 并 判 断 最 高 位 是 否 为 1TEST AL, 80H JZ DONEAND AL,07H 判 断 中 断 源 的 编 码DONE: HLT 87 第 七 章 : 微 型 计 算 机 的 中 断 系 统 总 结 中 断 的 相 关 基 本 概 念 , 要 求 达 到 “ 领 会 ”的 层 次 。 8086/8088系 统 中 的 中 断 系 统 。 8086/8088系 统 中 的 中 断 分 类 , 要 求 达 到 “ 领 会 ” 层 次 。 中 断 向 量 表 的 定 义 和 应 用 , 要 求 达 到 “ 综 合 应 用 ” 层 次 。 可 屏 蔽 中 断 的 中 断 响 应 时 序 , 要 求 达 到 “ 领 会 ” 层 次 。 编 程 中 断 控 制 器 8259A。 具 有 中 断 控 制 功 能 的 接 口 电 路 , 要 求 达 到 “ 简 单 应 用 ” 层 次 。 中 断 控 制 器 的 基 本 要 求 和 组 成 , 要 求 达 到 “ 领 会 ” 层 次 。 8259A可 编 程 中 断 控 制 器 的 结 构 和 功 能 , 要 求 达 到 “ 领 会 ” 层 次 。 8259A的 中 断 优 先 级 管 理 方 式 及 中 断 结 束 方 式 , 要 求 达 到 “ 识 记 ” 层 次 。 8259A的 中 断 顺 序 , 要 求 达 到 “ 领 会 ” 层 次 。
展开阅读全文