1、第 1 页 共 13 页微 程 序 控 制 器 的 设 计 与 实 现第 2 页 共 13 页目 录1 设 计 目 的 32 设 计 内 容 33 具 体 要 求 34 设 计 方 案 35 调试过程116 心 得 体 会 .12第 3 页 共 13 页微 程 序 控 制 器 的 设 计 与 实 现一 、 设 计 目 的1) 巩 固 和 深 刻 理 解 “计 算 机 组 成 原 理 ”课 程 所 讲 解 的原 理 , 加 深 对 计 算 机 各 模 块 协 同 工 作 的 认 识2) 掌 握 微 程 序 设 计 的 思 想 和 具 体 流 程 、 操 作 方 法 。3) 培 养 学 生 独 立
2、 工 作 和 创 新 思 维 的 能 力 , 取 得 设 计 与 调试 的 实 践 经 验 。4) 尝 试 利 用 编 程 实 现 微 程 序 指 令 的 识 别 和 解 释 的 工 作 流程二 、 设 计 内 容按 照 要 求 设 计 一 指 令 系 统 , 该 指 令 系 统 能 够 实 现 数 据传 送 , 进 行 加 、 减 运 算 和 无 条 件 转 移 , 具 有 累 加 器 寻 址 、寄 存 器 寻 址 、 寄 存 器 间 接 寻 址 、 存 储 器 直 接 寻 址 、 立 即 数寻 址 等 五 种 寻 址 方 式 。三 、 设 计 要 求1) 仔 细 复 习 所 学 过 的 理
3、 论 知 识 , 掌 握 微 程 序 设 计 的 思 想 ,并 根 据 掌 握 的 理 论 写 出 要 设 计 的 指 令 系 统 的 微 程 序 流程 。 指 令 系 统 至 少 要 包 括 六 条 指 令 , 具 有 上 述 功 能 和寻 址 方 式 。2) 根 据 微 操 作 流 程 及 给 定 的 微 指 令 格 式 写 出 相 应 的 微 程序3) 将 所 设 计 的 微 程 序 在 虚 拟 环 境 中 运 行 调 试 程 序 , 并 给出 测 试 思 路 和 具 体 程 序 段4) 尝 试 用 C 或 者 Java 语 言 实 现 所 设 计 的 指 令 系 统 的 加载 、 识
4、别 和 解 释 功 能 。5) 撰 写 课 程 设 计 报 告 。四 、 设 计 方 案1) 设计思路按照要求设计指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻第 4 页 共 13 页址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。从而可以想到如下指令:24 位控制位分别介绍如下:XRD : 外 部 设 备 读 信 号 , 当 给 出 了 外 设 的 地 址 后 , 输 出此 信 号 , 从 指 定 外 设 读 数 据 。EMWR: 程 序 存 储 器 EM 写 信 号 。EMRD: 程 序 存 储 器 EM 读 信 号 。PCOE:
5、将 程 序 计 数 器 PC 的 值 送 到 地 址 总 线 ABUS 上 。EMEN: 将 程 序 存 储 器 EM 与 数 据 总 线 DBUS 接 通 , 由EMWR 和 EMRD 决 定 是 将 DBUS 数 据 写 到 EM 中 ,还 是 从 EM 读 出 数 据 送 到 DBUS。IREN: 将 程 序 存 储 器 EM 读 出 的 数 据 打 入 指 令 寄 存 器IR 和 微 指 令 计 数 器 uPC。EINT: 中 断 返 回 时 清 除 中 断 响 应 和 中 断 请 求 标 志 , 便 于下 次 中 断 。ELP: PC 打 入 允 许 , 与 指 令 寄 存 器 的
6、IR3、 IR2 位 结 合 ,控 制 程 序 跳 转 。MAREN: 将 数 据 总 线 DBUS 上 数 据 打 入 地 址 寄 存 器 MAR。MAROE: 将 地 址 寄 存 器 MAR 的 值 送 到 地 址 总 线 ABUS 上 。OUTEN: 将 数 据 总 线 DBUS 上 数 据 送 到 输 出 端 口 寄 存 器OUT 里 。STEN: 将 数 据 总 线 DBUS 上 数 据 存 入 堆 栈 寄 存 器 ST 中 。RRD: 读 寄 存 器 组 R0-R3, 寄 存 器 R?的 选 择 由 指 令 的最 低 两 位 决 定 。RWR: 写 寄 存 器 组 R0-R3, 寄
7、 存 器 R?的 选 择 由 指 令 的最 低 两 位 决 定 。CN: 决 定 运 算 器 是 否 带 进 位 移 位 , CN=1 带 进 位 ,CN=0 不 带 进 位 。FEN: 将 标 志 位 存 入 ALU 内 部 的 标 志 寄 存 器 。X2: X1: X0: X2、 X1、 X0 三 位 组 合 来 译 码 选 择 将 数 据 送到 DBUS 上 的 寄 存 器 。 具 体 如 下 :X2 X1 X0 输出寄存器0 0 0 IN_OE 外部输入门0 0 1 IA_OE 中断向量0 1 0 ST_OE 堆栈寄存器第 5 页 共 13 页0 1 1 PC_OE PC 寄存器1 0
8、 0 D_OE 直通门1 0 1 R_OE 右移门1 1 0 L_OE 左移门1 1 1 没有输出WEN: 将 数 据 总 线 DBUS 的 值 打 入 工 作 寄 存 器 W 中 。AEN: 将 数 据 总 线 DBUS 的 值 打 入 累 加 器 A 中 。S2: S1: S0: S2、 S1、 S0 三 位 组 合 决 定 ALU 做 何 种 运算 。具 体 如 下 :S2 S1 S0 功能0 0 0 A+W 加0 0 1 A-W 减0 1 0 A|W 或0 1 1 AADD A,R0 这条指令是寄存器寻址,将 R0 的值取出放入 W 中与 A 相加,再将结果放入 A。它由三个指令周期。
9、微程序设计如下:第一步,把 R0 的值放入累加器 W 中第二步,从 D 中读出 A 的值并与 W 相加,结果放到 A 中SUB A,R0 这条指令是寄存器间接寻址,将以 R0 为地址的数值取出放入W 中与 A 相减,再将结果放入 A。它由四个指令周期。微程序设计如下:第一步,把 R0 的值放入地址寄存器 MAR 中第 13 页 共 13 页第二步从 MAR 中读出以 R0 为地址的值放入累加器 W 中第三步 将 A 的值与 W 值相减CPL A 将 A 的值取反在存入 A 中OUT 将累加器的值送到输出端并输出:JMP LOOP六 、 心 得 体 会这次微程序程序设计主要是要求我们设计一个指令
10、系统,其中包含加,减,数据传送和无条件转移指令操作,具有 累 加 器 寻 址 、 寄 存 器 寻 址 、 寄 存 器 间 接 寻 址 、 存 储 器 直接 寻 址 、 立 即 数 寻 址 等 五 种 寻 址 方 式 。 在 通 过 设 计 的 过 程中 , 大 概 理 解 了 各 种 指 令 操 作 和 寻 址 方 式 。 学 会 了 能 灵 活理 解 他 们 之 间 的 关 系 , 包 括 像 操 作 与 寻 址 方 式 之 间 的 搭 配等 。在 这 一 周 半 的 课 程 设 计 中 , 通 过 指 令 系 统 中 微 程 序的 设 计 , 了 解 了 24 位 指 令 字 的 具 体 含 义 , 通 过 对 各 位 的选 择 来 确 定 所 选 择 的 操 作 , 这 样 既 方 便 理 解 , 也 方 便 操 作 。在 这 次 课 程 设 计 中 , 遇 到 了 很 多 问 题 , 像 对 各 位 数所 代 表 的 具 体 含 义 仍 然 不 是 十 分 清 楚 , 在 设 计 微 程 序 的 时候 , 对 每 一 条 指 令 所 用 的 cpu 周 期 不 能 灵 活 掌 握 , 希 望在 以 后 的 学 习 中 可 以 对 其 进 行 更 加 深 入 的 理 解 。