资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第3章 第3讲 微程序控制器的微程序设计 作业: 1. 认真看懂A、B、D组指令的执行步骤,你能提出什么改 进或者变动的意见吗?说明每组指令各步骤完成的主要功能。 说明取指的两个步骤的控制信号的控制作用。 2. 认真看懂ADD指令执行步骤的控制信号的控制作用,写出 SUB、OR、AND指令执行步骤的控制信号,指出它们和 ADD 指令使用的控制信号的区别。 3. 写出 JR 和 JRC 指令在执行功能、执行步骤和使用的控 制信号方面的区别。 4. 写出 PUSH DR 和 POPF在指令格式、执行功能和执行步 骤中使用的控制信号方面的区别。 5. 总结教学计算机中确定微指令下地址的方式和在微指令字 中的具体的控制办法。 控制器部件 总体要求:控制器部件的功能、组成、设计与实现是课程教学 中的重点难点内容,应该学得好一点。 1.设计控制器的基础和依据是指令系统,包括指令的功能、 格式、选用的寻址方式等; 2.控制器的功能和组成概述,指令的执行步骤概述等内容要 非常清楚地理解,这是学习后续知识的指导性纲要; 3.依据指令系统和计算机组成的初步设计,完成不同类型指 令的执行步骤设计(分成几步,各步骤的功能和接续关系 )是更为基础一点的内容; 4.依据计算机的各功能部件的运行要求,设计控制器应该提 供给各功能部件的控制信号,是控制器设计的一个步骤; 5.设计每条指令的每一个执行步骤所用的控制信号是控制器 设计过程中最机械、费时、繁琐的一个步骤; 6.硬连线的控制器和微程序的控制器用不同的方法提供全部 控制信号,并用不同的方法实现对自身的控制作用。 7.指令执行过程的流水线控制是提高指令执行速度的有效措 施,这些内容不作为基本教学要求。 控制器的组成 程序计数器PC:存放指令地址,有+1或接收新值功能。 指令寄存器IR:存放指令内容:操作码与操作数地址。 主脉冲源与启停控制线路,按需要给出主脉冲信号。 指令执行步骤标记线路: 指明每条指令的执行步骤。 控制信号记忆或产生线路:给出计算机各功能部件部 件协同运行所需要的控制信号。 运算器部件主存储器部件 总线及输入/输出接口(输入/输出设备) 控制器部件 各部件包括 也包括 设计中的难点,在于解决对运算器、控制器的控制 每条指令的执行步骤 读取指令 指令地址送入主存地址寄存器 读主存,读出内容送入指定的寄存器 分析指令 按指令规定内容执行指令 不同指令的操作步骤数, 和具体操作内容差异很大, 检查有无中断请求 若有,则响应中断并转中断处理 若无,则转入下一条指令的执行过程 形成下一条指令地址 R_R类型指令 读写内存类型指令 输入输出类型指令 其他类型指令 可能执行 一次或多次 是一次读 内存操作 公共操作 公共操作 是每一条指令的特定操作 控制 存储储 器 映射 IR PC 接口 输输出 设备设备 主 存 储储 器 运算器 部件 下地址 启停 地址寄存器 数据总线总线 地址总线总线 控制总线总线 . 控制条件 微指令寄存器 主振 微程序 方案的 控制器 接口 输输入 设设 备备 微程序控制器实验 Am2910 MAPROM 微下 地址 CI SCC 30 30 SCC Gal 控制存储器( ROM) 指令操作码 微指令转移 的控制条件 /SCC 微指令寄存器 0MRW SA I86 B口 0SST DC2 0 I20 SB I53 A口 SSHSCI DC1 CP /G 读命令 1. 确定指令功能与格式 2. 划分指令执行步骤 3. 设计微指令内容 4. 分配微指令地址 5. 把新微指令写入控存 6. 需要时修改 MAPROM 和 SCC Gal等 7. 调试并且运行 B 口二选一A 口二选一 IR.SRIR.DR 微程序控制器部件 56位的微指令字长, 微下地址字段16位, 控制命令字段40位, 7 片 28C64 组成控存。 1 片 28C65,从指令操 作码产生微地址, 1 片 374 存 8 位下地址, 1 片 273 存 8 位条件码, 1 片377存8位现微地址。 1 片Am2910给出下一条 微指令地址, 1 片GAL 按判断条件产 生微指令转移信号/CC; 5 片GAL用作为 5 片 8位 的 D 触发器的寄存器, 2 片GAL 实现两个4 位的 2 选 1 芯片功能。 8 或 16位的指令寄存器。 PC 0 AR PC PCPC+1 IR(AR) /MAP 寄存器之间 运算与传送 读、写内存 AR地址 AR地址 读、写内存 或 I/O 接口 读、写内存 PC地址 (2) 16 位机的基本指令、扩展指令执行流程图 A组B组 C组D组 /Reset B、C、D组 PC 0 AR PC PCPC+1 IR(AR) /MAP 寄存器之间 运算与传送 读、写内存 AR地址 AR地址 读、写内存 或 I/O 接口 读、写内存 PC地址 (2) 16 位机的基本指令、扩展指令执行流程图 A组B组 C组D组 /Reset B、C、D组 把原来完成读取指令的那一 条微指令中的下地址字段的 CI3CI0 从14h 修改为 02h, 则它还同时完成了依据指令 操作码读出对应的微指令。 加电启动时, 执行 0PC 接下来的两步, 完成取指操作 按指令操作码, 读出相应微指令 按指令具体功能, 再分别用 1、2、 3、4 步完成不同 指令组的中各条 指令的执行过程 最后检查中断请 求信号,有请求 时则响应中断, 否则开始下一条 指令的执行过程 下址 CI30 SCC30 0MRW 0 I20 SA I86 SB I53 B口 A口 0 SST SSH SCI DC2 DC1 00 E 0 4 3 2 0 5 5 0 1 3 0 00 E 0 1 0 1 0 0 0 0 0 1 0 00 2 0 4 0 1 0 0 0 0 0 0 0 指令执行流程表举例 ADD DR, SR MVRR DR, SR IN IO-PORT CALA ADR 第 1 条微指令和第 2 条微指令用于完成读取指令,具体操作 功能是: PCAR ,PC+1PC;PC 是 R5,A口 和 B口 均选5 , B口内容+1 送 B口;输出A口的内容送AR寄存器。读主存, 读出内容 IR ; 微指令都是顺序执行,故 2910选 14# 命令。 第 3 条微指令按读出的指令的操作码,形成相应微指令的地 址,读出该条微指令并将其写入微指令寄存器, 2910选 2# 命令 ,控制运算器的 I8I6 选 001 码,保证运算器的各寄存器内容不 变化。 无存储器和IO读写,故/MIO REQ /WE 选 100 码。 下址 CI30 SCC30 0MRW 0 I20 SA I86 SB I53 B口 A口 0 SST SSH SCI DC2 DC1 00 E 0 4 3 2 0 5 5 0 1 3 0 00 E 0 1 0 1 0 0 0 0 0 1 0 00 2 0 4 0 1 0 0 0 0 0 0 0 30 3 0 4 1 B 8 0 0 1 0 0 0 30 3 0 4 4 B 8 0 0 0 0 0 0 指令执行流程表举例 ADD DR, SR MVRR DR, SR IN IO-PORT CALA ADR 第 3 条微指令和第 4 条微指令 用于完成两个累加器之间的 相加和传送操作。具体操作是:2 累加器相加,DR+SRDR,A 口和B口 编码来自指令寄存器,故SA 和 SB都给 1 值;下微指令 转判中断请求, 故 2910选 3# 命令且 SCC 为 0000, 必转 30。 第 4 条微指令,完成两个累加器之间的数据传送,累加器 SR的内容和 0相加,存入DR寄存器中,不保存标志位的值,故 SST为000,无存储器和 IO读写。这两条微指令内容有些类似。 下址 CI30 SCC30 0MRW 0 I20 SA I86 SB I53 B口 A口 0 SST SSH SCI DC2 DC1 14 3 6 4 7 1 0 0 0 0 0 3 2 30 3 0 3 7 3 0 0 0 0 0 0 0 指令执行流程表举例 ADD DR, SR MVRR DR, SR IN IO-PORT CALA ADR 第 5、6 两条微指令完成读串行接口,具体操作是:先送 IO 端口地址( 在 IR 的低 8位)到地址寄存器AR,DC1 为 2 选 IR 的低 8位送内部总线,经 ALU ( 送出 D+0 )到 AR (DC2 为 3 是 AR 接收);IN 指令时转14# 微指令(下地址 3 个字段为 14 3 6 ); 下一微指令完成读串口输入到内部总线,把D+0 送到 ALU并 写进 R0( B 口选 0000);转判中断请求, 故 CI 选 3# 且 SCC 为 0000, 必转 30。 下址 CI30 SCC30 0MRW 0 I20 SA I86 SB I53 B口 A口 0 SST SSH SCI DC2 DC1 00 E 0 4 3 2 0 5 5 0 1 3 0 00 E 0 1 7 0 0 0 0 0 0 0 0 00 E 0 4 3 3 1 4 0 0 0 3 0 30 3 0 0 2 2 0 5 5 0 0 0 1 指令执行流程表举例 ADD DR, SR MVRR DR, SR IN IO-PORT CALA ADR 后 4 条微指令之间顺序执行,前 3 条的 CI 都是 E,依次完 成:1. PCAR,PC+1 PC;(控制命令同读取指令的第1步) ; 2. 读内存 (MRW=001) 送 Q (D+0 Q) (子程序入口); 3. 修改堆栈指针并送AR, SP-1 SP,AR;SP 是 R4,即R4 的内容-1 R4 和 AR ( DC2 为 3 是 AR 接收); 4. 写断点( PC的内容)到堆栈 , 即 A 口指定的寄存器 (R5) 的内容经数据总线送到内存并写入;子程序的入口地址 (在 Q 中) (Q的内容+0)送入 PC(B 口指定 R5)。下地址控制完成转向 判中断请求的微指令的地址 30 处 。 8 位和16位教学机的控制器比较 1.
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号