1、 软件评测师 http:/ 考 软 件 评 测 师 教 程 知 识 点 精 讲 ( 五 )软 考 软 件 评 测 师 属 于 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 考 试 中的 一 个 中 级 考 试 。 希 赛 小 编 为 大 家 整 理 了 软 件 评 测 师 教 程 中 几 个重 要 的 知 识 点 精 讲 , 希 望 对 大 家 有 所 帮 助 。外 设 的 访 问1 程 序 查 询 方 式这 是 最 简 单 的 方 式 , 也 是 简 单 系 统 ( 外 设 种 类 和 数 目 有 限 、 数 据 传输 速 度 较 低 的 系 统 ) 中 常 用 的 方 式
2、 。 这 种 方 式 使 中 央 处 理 器 定 时 查 询外 设 的 状 态 , 如 果 发 现 某 个 外 设 就 绪 , 就 开 始 和 该 外 设 进 行 输 入/输 出 操 作 和 处 理 , 如 图 1-5 所 示 。图 1-5 程 序 查 询 和 中 断 方 式当 存 在 多 个 外 设 时 , 中 央 处 理 器 有 串 行 和 并 行 两 种 查 询 方 式 。 串 行查 询 是 每 次 查 询 一 个 外 设 ; 并 行 则 是 将 多 个 外 设 的 状 态 位 集 中 成 一 个专 用 端 口 , 这 样 中 央 处 理 器 一 次 查 询 即 可 得 到 多 个 外
3、设 的 状 态 。程 序 查 询 方 式 的 缺 点 : 当 输 入 /输 出 控 制 器 和 外 设 交 换 数 据 时 ,中 央 处 理 器 必 须 等 待 。 这 种 等 待 对 于 许 多 系 统 而 言 是 无 法 容 忍 的 。2 中 断 方 式软件评测师 http:/ 用 中 断 方 式 , 可 以 克 服 查 询 方 式 低 效 的 问 题 。当 中 央 处 理 器 执 行 到 输 入 /输 出 请 求 指 令 时 , 向 输 入 /输 出 控制 器 发 出 相 应 指 令 后 , 中 央 处 理 器 并 不 等 待 , 而 是 继 续 执 行 其 他 操 作 。此 时 , 输
4、 入 /输 出 控 制 器 负 责 和 外 设 进 行 通 信 , 当 数 据 从 其 数 据 寄 存器 写 到 外 设 后 或 者 外 设 的 数 据 写 入 其 数 据 寄 存 器 后 , 输 入 /输 出控 制 器 向 中 央 处 理 器 发 出 中 断 请 求 , 中 央 处 理 器 响 应 中 断 , 并 进 行 相应 的 处 理 。 注 意 , 由 于 输 入 /输 出 控 制 器 数 据 寄 存 器 大 小 的 限 制 , 一次 输 入 /输 出 请 求 往 往 要 经 过 多 次 的 中 断 过 程 才 能 够 完 成 。 由 于 中 央 处理 器 无 须 等 待 输 入 /输
5、 出 控 制 器 和 外 设 的 数 据 交 换 , 因 而 提 高 了 整 个系 统 的 效 率 。 中 断 方 式 已 经 得 到 了 普 遍 的 应 用 。1) 中 断 的 基 本 概 念中 断 并 不 只 用 于 输 入 /输 出 系 统 中 , 中 断 系 统 是 计 算 机 的 基 本 结构 。 中 断 系 统 的 出 现 , 是 现 代 计 算 机 功 能 强 大 的 标 志 。 顾 名 思 义 , 中断 就 是 打 断 中 央 处 理 器 正 在 执 行 的 工 作 , 让 中 央 处 理 器 去 处 理 其 他 更加 重 要 或 者 更 为 紧 急 的 任 务 。 发 起 中
6、 断 的 事 务 称 为 中 断 源 , 中 断 源 包括 I/O 设 备 、 实 时 时 钟 、 故 障 源 、 软 件 中 断 等 。 中 断 系 统 使 得 中 央 处理 器 摆 脱 了 只 能 按 照 指 令 顺 序 执 行 的 束 缚 , 让 计 算 在 并 行 性 、 分 时 操作 、 故 障 处 理 等 方 面 更 加 强 大 。按 照 中 断 源 来 区 分 , 中 断 可 以 分 为 内 部 中 断 和 外 部 中 断 。 内 部 中 断是 中 央 处 理 器 内 部 产 生 的 中 断 , 在 个 人 计 算 机 中 , 内 部 中 断 又 分 为 溢出 中 断 、 除 法
7、 错 中 断 、 断 点 中 断 、 软 件 中 断 及 单 步 中 断 , 其 中 可 以 使用 软 件 中 断 实 现 操 作 系 统 功 能 调 用 和 BIOS( Basic Input Output System, 基 本 输 入 /输 出 系 统 ) 调 用 , 也 可 以 使 用 单 步 中 断实 现 程 序 的 调 试 。 与 之 相 对 应 的 是 外 部 中 断 , 中 断 源 来 自 于 中 央 处 理器 之 外 。 而 外 部 中 断 按 照 中 央 处 理 器 的 响 应 可 以 分 为 可 屏 蔽 中 断 和 非屏 蔽 中 断 。 非 屏 蔽 中 断 是 中 央 处
8、 理 器 一 定 要 响 应 的 中 断 , 通 常 是 计 算机 发 生 了 紧 急 情 况 , 如 掉 电 等 。 可 屏 蔽 中 断 大 多 数 是 外 设 和 时 钟 中 断 ,软件评测师 http:/ 计 算 机 处 理 一 些 不 应 该 打 断 的 任 务 时 , 可 以 通 过 屏 蔽 位 来 禁 止 响 应这 些 中 断 。2) 中 断 处 理 过 程中 央 处 理 器 收 到 中 断 请 求 后 , 如 果 是 当 前 允 许 的 中 断 , 那 么 要 停 止正 在 执 行 的 代 码 , 并 把 内 部 寄 存 器 入 栈 , 这 个 过 程 不 能 被 再 次 打 断
9、 ,所 以 在 保 护 现 场 的 开 始 要 先 关 中 断 , 保 护 完 后 再 开 中 断 。 这 个 过 程 应该 尽 量 短 , 以 避 免 错 过 了 其 他 中 断 。 这 个 过 程 消 耗 的 时 间 称 为 中 断 响应 时 间 。 然 后 开 始 执 行 中 断 处 理 程 序 , 中 断 处 理 程 序 常 常 比 较 简 单 ,通 常 是 设 置 一 些 标 志 位 , 做 一 些 简 单 的 数 据 处 理 , 而 让 其 他 更 耗 时 的处 理 在 非 中 断 程 序 中 完 成 。 中 断 处 理 程 序 完 成 后 , 需 要 将 刚 才 保 存 的现 场
10、 恢 复 , 把 入 栈 的 寄 存 器 出 栈 , 继 续 执 行 被 中 断 的 程 序 。 整 个 过 程消 耗 的 时 间 称 为 中 断 处 理 时 间 , 当 然 对 于 这 个 时 间 , 不 同 的 中 断 、 不同 的 应 用 差 别 比 较 大 , 而 且 也 不 是 一 味 求 短 , 实 际 编 写 时 要 考 虑 中 断处 理 的 重 要 程 度 。 现 在 大 多 数 中 央 处 理 器 都 支 持 多 级 中 断 , 即 在 进 行中 断 处 理 程 序 时 , 还 可 以 响 应 其 他 中 断 , 形 成 中 断 嵌 套 。3) 中 断 的 判 断当 有 多
11、个 中 断 源 时 , 常 用 的 处 理 方 式 有 以 下 几 种 。( 1) 每 个 中 断 源 使 用 自 己 的 中 断 请 求 信 号 线 和 中 央 处 理 器 相 连 ,这 种 方 式 适 用 于 中 断 源 不 是 很 多 的 情 况 , 而 中 央 处 理 器 的 外 部 中 断 引脚 是 有 限 的 。( 2) 统 一 的 中 断 请 求 : 由 中 央 处 理 器 使 用 专 门 程 序 依 次 判 断 是 哪个 中 断 源 的 请 求 , 通 过 查 询 的 次 序 , 可 以 实 现 中 断 的 优 先 级 控 制 。( 3) 硬 件 查 询 法 : 有 一 条 中
12、 断 确 认 信 号 链 和 输 入 /输 出 设 备相 连 , 某 个 外 设 发 出 中 断 请 求 后 , 中 断 确 认 信 号 开 始 在 各 外 设 间 传 递 ,发 出 中 断 请 求 的 外 设 响 应 这 个 信 号 , 如 图 1-6 所 示 。软件评测师 http:/ 1-6 中 断 方 式 的 判 断( 4) 总 线 仲 裁 : 在 这 种 方 式 中 , 外 设 必 须 先 得 到 总 线 控 制 权 , 发出 中 断 请 求 , 最 后 将 设 备 号 通 过 数 据 总 线 发 给 中 央 处 理 器 。 由 总 线 仲裁 机 制 决 定 可 以 发 信 号 的
13、外 设 。( 5) 中 断 向 量 表 : 中 断 向 量 表 是 一 张 不 同 中 断 处 理 程 序 入 口 地 址的 表 格 , 用 这 种 机 制 , 每 个 中 断 源 有 不 同 的 “中 断 号 ”, 即 中 断向 量 。 中 央 处 理 器 收 到 中 断 信 号 , 并 根 据 中 断 号 查 中 断 向 量 表 , 以 得到 该 中 断 处 理 程 序 的 入 口 地 址 。3 DMA 方 式DMA( Direct Memory Access, 直 接 存 储 器 存 取 ) 方 式 可 以 使 得数 据 从 输 入 /输 出 模 块 到 主 存 的 传 输 过 程 中
14、, 无 须 中 央 处 理 器 的 中 转 。这 个 工 作 转 移 给 了 DMA 控 制 器 ( DMAC) 来 完 成 , 这 种 方 式 可 以 达 到高 速 的 数 据 传 输 。1) DMAC 控 制 器DMAC 也 能 访 问 系 统 总 线 , 能 够 独 立 访 问 主 存 ( 这 两 个 特 点 使 得DMAC 完 成 主 存 和 输 入 /输 出 设 备 之 间 的 数 据 交 换 ) , 如 图 1-7 所示 。软件评测师 http:/ 1-7 DMAC 示 意 图DMA 中 断 控 制 示 意 图 如 图 1-8 所 示 。图 1-8 DMA 中 断 控 制地 址 寄
15、 存 器 是 内 存 地 址 , 每 传 递 一 个 数 据 , 将 这 个 寄 存 器 加1, 长 度 寄 存 器 值 减 1。 当 长 度 寄 存 器 为 0 时 , 发 给 中 断 机 构 完 成信 号 , 通 知 中 央 处 理 器 进 行 后 续 处 理 。当 中 央 处 理 器 执 行 到 输 入 /输 出 请 求 时 , 向 DMA 控 制 器 发 出 相应 指 令 , DMA 控 制 器 首 先 判 断 外 设 是 否 可 用 。 如 果 可 用 , 填 充 地 址 寄存 器 、 长 度 寄 存 器 等 , 向 中 央 处 理 器 发 出 总 线 请 求 信 号 , 申 请 总
16、 线 的处 理 权 。 中 央 处 理 器 收 到 总 线 请 求 信 号 , 让 出 总 线 控 制 权 , 然 后 DMA 控制 器 将 数 据 在 外 设 和 内 存 指 定 区 域 之 间 进 行 传 送 。 而 长 度 寄 存 器 保 存的 值 随 着 数 据 的 传 送 不 断 减 小 , 当 减 小 到 0 时 , 通 过 中 断 机 构 向 中央 处 理 器 发 出 中 断 请 求 , 中 央 处 理 器 响 应 中 断 , 对 内 存 中 的 数 据 进 行软件评测师 http:/ 续 的 处 理 。2) DMA 传 送 过 程 的 总 线 占 有 方 式在 DMA 传 输
17、过 程 中 , 中 央 处 理 器 停 止 访 问 主 存 , 只 进 行 一 些 与 总线 无 关 的 内 部 操 作 。 这 种 方 法 常 用 于 高 速 的 输 入 /输 出 设 备 。这 种 方 式 的 优 点 是 减 少 系 统 总 线 控 制 权 的 交 换 次 数 , 实 现 简 单 ; 缺点 在 于 这 样 的 结 果 往 往 使 中 央 处 理 器 在 DMA 过 程 中 无 所 事 事 。时 间 轮 转 片 法 : 这 种 方 法 按 照 一 定 时 间 间 隔 , 将 总 控 制 权 分 别 轮 换着 交 给 中 央 处 理 器 和 DMA。 这 样 中 央 处 理 器
18、 不 会 停 止 工 作 , 但 往 往 外设 的 速 度 低 , 可 能 使 得 DMAC 的 某 些 时 间 空 转 。 就 效 率 而 言 , 仍 然 不高 。借 用 周 期 法 : 这 是 时 间 轮 转 片 法 的 改 进 , 即 当 有 DMA 操 作 时 ,DMAC 控 制 总 线 访 问 内 存 , 其 他 时 间 总 线 的 控 制 权 在 中 央 处 理 器 , 它 适合 于 外 设 速 度 远 低 于 总 线 速 度 的 高 速 主 机 。 这 种 方 式 由 于 要 判 断 DMAC是 否 需 要 使 用 总 线 , 所 以 实 现 起 来 要 比 前 面 两 者 要
19、复 杂 。3) DMA 方 式 和 中 断 方 式 的 区 别DMA 方 式 使 用 到 了 中 断 , 但 是 DMA 和 中 断 的 输 入 /输 出 方 式 是有 很 大 区 别 的 。 最 根 本 的 区 别 在 于 , 使 用 中 断 方 式 时 , 主 存 和 输 入 /输出 控 制 器 之 间 的 数 据 传 送 仍 然 需 要 用 中 央 处 理 器 操 作 , 需 要 使 用 中 央处 理 器 的 寄 存 器 等 资 源 , 如 图 1-9 所 示 。软件评测师 http:/ 1-9 DMA 与 中 断 方 式 的 区 别同 时 , 由 于 输 入 /输 出 控 制 器 的
20、数 据 寄 存 器 大 小 有 限 , 所 以 一 个数 据 传 送 过 程 往 往 需 要 多 次 , 这 样 中 断 发 生 也 就 很 频 繁 。 由 于 中 断 调用 过 程 使 用 了 中 央 处 理 器 的 资 源 , 所 以 中 央 处 理 器 必 须 保 护 现 场 , 使得 在 相 当 程 度 上 增 加 了 处 理 时 间 。 而 在 DMA 传 送 过 程 中 , 虽 然DMA 控 制 器 需 要 暂 停 中 央 处 理 器 的 执 行 , 以 达 到 控 制 总 线 的 目 的 , 但 是这 种 暂 停 是 机 器 周 期 的 中 断 , 而 且 这 个 暂 停 中 央
21、 处 理 器 不 需 要 保 护 现场 , 没 有 切 换 任 务 的 操 作 。 当 数 据 传 送 完 成 后 , 才 有 一 个 中 断 , 通 知中 央 处 理 器 进 行 数 据 传 送 的 后 续 工 作 。 DMA 方 式 提 供 了 比 中 断 方 式更 好 的 并 行 性 , 如 表 1-2 所 示 。表 1-2 DMA 方 式 和 中 断 方 式 的 比 较4 信 道 方 式软件评测师 http:/ DMA 方 式 更 进 一 步 的 是 信 道 方 式 。 与 DMA 方 式 相 比 , 通 常 信道 方 式 的 控 制 器 是 一 个 有 自 身 指 令 结 构 的 处 理 器 , 有 自 己 的 简 单 指 令系 统 。 通 过 执 行 程 序 , 它 能 够 有 更 强 的 处 理 能 力 , 可 以 同 时 控 制 多 种外 设 。