微程序控制器实验
2020-03-01 278浏览
- 1.计算机组成原理 ( 实验 三) --------- 微程序控制器实验
- 2.控制器是计算机五大 功能模块之一 , 它是指挥 和 挥 挥 挥 计 算机 各部 件有 条不 紊的工 作的 计算 机核 心部 件 。根 据其 工作 原理 ,可 分挥 挥 挥 合挥 挥 挥 控挥 制器 挥 挥 和微 挥 程 序控 制器 。今 天我 挥 作 挥 的实验是微程序控制器。
- 3.微程序控制器的基本工作原理 微程序控制器组成中的核心成分是 控制存储器,它用于存储按一定的规则 组织好的全部控制信号,通常用 ROM 器 件来实现。在 TEC—2 教学机上用 7 片 * 8 位 LS6116 组成。其主要内容由二部分 组成,一部分是由执行一条指令的一个 运行步骤所用到的全部控制信号(产生 的微命令);另一部分是指明下一个步 骤的地址信息(下一条微指令地址)。
- 4.因此,微程序控制器的 工作原理是依据 挥 来的机器 挥 挥 挥 挥 指令的操作 挥 ,找到与之 挥 挥 挥 挥 挥 挥 挥 的 一段微程序入口地址, 并按由指令具体功能所确定 的次序,逐条从控制存 储 器 中挥 计 出微指令,以 “挥 挥 ”挥 算机各功能部件正确运行。
- 5.操作码 操作码
- 6.控制存储器是微程序控制器的最核心的部分,用于 存放教学机的微程序,由 56 位挥挥 成,用 挥 挥 7 片 74LS6116 随机挥 写的 挥 挥 8 位 ×2048 字的内存芯片挥挥挥 。通常控制存 挥挥挥 挥挥 挥器 都是用高速ROM 芯片实现,把已设计好的微程序 固化在里挥 , 挥 挥 提供 挥挥挥 挥 操作功能,可靠性更高些。教 挥 挥挥挥 挥挥挥 挥挥 挥挥挥 学机要支持动态微程序设计,即允许把自己设计的微 程序写进控制存储器,在实验机加电启动时 , 首先必须 把已设计好的 53 条机器指令挥挥 用到的微程序 挥 挥 挥 挥 挥 挥挥 入控制 挥 挥 存储器。正常执行微程序时,该控制存储器将依据 A m2910 它的 10 位地址,在读写命令 W挥/ R( 为 读提供 出 给 的微指令将通 过 CP 脉冲,打入挥挥 控制 高是 读操作 )组控制下 出相 应单元的一条微指令。 器的第二个 成部件读 —— 微指令寄存器 PLR 中。 已知一条微指令的内容通常由下地址和控制信 号 ( 微命令 ) 两部分挥挥 成。 挥下地址可能又被分成几 个小字段,它们被用于控制、形成或直接提供 下一条微指令的地址,是供给控制器部件本身 使用的。微命令 也由若干个小字段挥挥 成,提供 挥 挥挥 挥 计算机其他功能部件,如运算器、主存、输入 /输出设备的控制信号。
- 7.用/ VECT 信号把 通过水平板上的开关给 分10 别用/ MAP 出的 位微指令的手拨 控制器的第三 和/ PL 两个信号选 地址接通到 Am2910 的 个组成成分,是 通 DMAPROM 输入端。 和 微 微程序定序器 Am 与 Am2910 指 配套的电路,主要包括 令下地 址字段的 MAP ROM 和用于形成/ 输出 CC送信号逻辑值的条件判 到 Am2910 2910 器件及其配 定挥挥 路。 挥 MAPROM的 被用作 D 输入端,从而 挥套电路。 指令微地址映射部 挥 挥 挥 挥 挥 挥 挥 挥 接电源3 选 件,它变换指令的操作码为该指令对应的微程 形成把DCP 输入端的 把/ 接地 ,使 微 指 令CCEN芯片组 序段入口地址,由两片 74LS2716ROM 1 挥挥功 能。 ,使 的条件 地址 十 Am2910 1 总 成,其地址为指令的操作码,对应单元中存放 果只取决于/ 挥 挥 挥 挥 挥C 是执判断 行。挥挥 相应微程序段的入口地址,执行读操作,并用 C。 / MAP 选通读出的信息,解决的是指令功能 把 Am2910 的 分支问题。 / OE 端接地,使 其输出 Y11 一 Y0 总保持有效 ( 挥用 Y 一 YO 共 10 位 ) 9 。
- 8.得到下一条微指令地址的有关技术 主要包括: ① 微程序顺序执行时,下地址为本条微指令地址加 1 。 ② 在微程序必定挥挥 向某一微地址 挥 挥 挥 挥 挥 挥挥 ,可以在微指令字中的相 挥 挥 挥 挥 挥 挥 挥 挥 挥 挥 挥挥 字段中 挥 挥 挥挥 出挥挥 地址 挥挥 ③ 按微指令 ( 上一条或本条 ) 的某一执行结果的状态,选择顺序执行或转向 某一地址,此时必须在微指令字中指明需判断的执行结果及转移地址。要判断 的执行结果,可以是运算器的标志位状态,控制器的执行状态,如多次的微指 令循环是否结束,外设是否请求中断等等。 ④ 微子程序的调用及返回控制,会用到微堆栈。 ⑤ 依条件判断转向多条微指令地址中的某一地址的控制,它可以是前述第③ 条的更复杂一点的用法,也包括依据取来的机器指令的操作码,找到对应该条 指令的执行过程的一段微程序的入口地址。这后一种情况通常被称为微程序控 制中的功能分支转移。此时在微指令字中直接给出多个下地址是不现实的或不 合理的,挥 找出更合理的解决方案。 挥 挥挥 挥挥挥 挥挥 挥挥挥
- 9.Am2910 输出 3 个使能信号: / PI 和/ MAP 及/ VECT ,用以决定直 Am2910 是一片能提供 寄存器/计数器由 12 微堆栈是由 5 字 ×12 位的寄存器堆 栈D和微堆 栈 接 挥 挥 入 的来源。 个 D 型触挥挥 器挥挥 成。当它 挥挥挥 12 位微指令地址的器 指针 μSP 组成,主要用于保存微子程序调用时 • 当/ PL 有效时用作寄存器时 ( 即/ PL = 0) , D 来源 ,主要用于 微程序计数器由 12 位的增量器和 12 位 件,即它的挥 入 挥 挥环 挥 出的首地址。微堆 的返回地址和微程序循 栈指 于微指令的下地址字段,用于 挥 挥 微程序 挥 挥 挥现 挥 保存一个微地址,用以实 Am2910 包 的寄存器 μPC 挥 成 。当增量器的 挥 挥 挥 位 挥 入 针的地址位数和器件内 μSP 总是指向最后一次压入的数据,因此, 微程序转移;当它用作计 移; CI 挥 高 挥 挥 挥 平 挥 挥 ,多路器的 挥 挥 挥 挥 挥 出 Y 加 1 后装 括一个 4挥 入 执行微程序循环时,允许不执行弹出操作而直 数器( 挥挥 ,具有减一功能 挥挥 挥 挥= 挥 挥0)( 何 的部件位数均为 12 位 • 当/ MAP 有效时 即/ MAP 。D 入 μPC( 即 μPC ←Y 十 1 、 ) ,用于实 现 微 接,能直接寻址 访问微堆栈的栈顶 。当微堆 栈 中的数据达到 时减 一,取决于Am2910 的多路地址选 来源于 MAPROM ,用于实现从机器指令的 4096 条 程序的顺序执行;而当 CI 为低电平时,多 的命令码 ) ,主要用于控 5 个时,就发出微堆栈已满信号 ( / FULL = 操作码找到相应的微程序段首地址的转移; 择器,用来从 间范围。μPC( 即 μPC←Y) 路器的输出 Y 直接装入 制微程序的循挥 次数,若 挥挥挥挥 0)微指令字的空 ,这时,任何压入操作都将覆盖掉栈顶的原 • 当/ VECT 有效 时 , ( 即/ VECT = 0) 寄存器/计数 装入的初值为 N , 挥 挥 可能 挥 ,用于实现同一条微指令的多次执行。 有数据。 ,原意来源于中断向量,现用于接收手拔微 执行 N 十 1 次循环。 器 (R / C) , 地址。 直接挥 入 挥 (D) ,微程序计数 器 (μPC) 或微 堆栈 (F)4 路输 入中,选择其 一作为下一条 微指令的地址 。 Y11—Y0 :下一条微 指令的地址,它直接 被用作挥 挥 挥 控制存 挥挥挥 器的地址。
- 10.CP : 时 钟 脉 冲 信 输入/ CC 和条件允挥 / 条件 挥 CCEN 信号 号,由低 变 高的上 用来共同确定测试条件是否通过,若/ C 升挥 挥 沿触 挥 挥 挥 所 挥CEN 挥 内 I为低且/ 一 I 。: 的 3 CCAm2910 为高,则指明测试失效 部状态的变化 ;而/ 命令码,来自微指令字 D11为低,均表明 一 Do :外部 CCEN 为高或/ CC 的有 选择 挥挥 通 挥 挥关挥字段,用以 挥 。若把/ 挥 CCEN 接地,即使其恒 直接输人的数据 CI :增量器 进条命令之 位输 ,既可作为寄存 Am2910 的 16 为低电平,则可以只使用/ CC 判断测试 高电平时器/计数器的初 一。 挥 果入,当其 ,/ CC 为 为低是测试通过,/ CC 为 / OE : Y 挥 ,控制微指令地址增值,也可以经过 高则表明测试失效,我们在教学计算机中 出允许信号, 量,即执行 μPC←Y 地址多路选择器 就是这样用的。 低电平有效, /十 RLD :寄存器/计数器装 1 ,当为低电平时 直接从 Y 输出 , 当为高电平时 入信号,当其 为低 时, ,执行 μPC←Y 。电 平 作为下一条微指 , Y 输出为高 不管 Am2910 所执行的命令和 令的地址。 阻态。 测试条件如何,都强制把直 接输入 D11—Do 装入 Am291 0 内部的寄存器/计数器。
- 11.
- 12.
- 13.开关手拔数据 未用( NC ) 运算器输出 IR 指令的低 8 位 AR 状态寄存器 中断优先级 中断优先级 未使用 NC 转用开中断 转用关中断 待 定
- 14.用
- 15.ADD “ 加” INC“ 减” ADD “ 挥挥位 ”加
- 16.
- 17.4 位标志位的值保持不变 接收 ALU 标志位的输出 值 恢复标志位原现场值 清 “ 0” 置 “ 1” 右移 左移 联合右移 不 变
- 18.
- 19.