第三章 CPU子系统 西南石油大学计算机科学学院 主讲教师 杨 梅 联系电话:15928582759 主讲教师 杨 梅 联系电话:15928582759 E-mails:961135186@qq.com
第三章 CPU子系统 重点 及 难点 3.1 概 述 3.2 算术、逻辑运算部件 3.3 运算方法 3.4 CPU模型 组合逻辑控制方式 SWPU 计算机组成原理 第三章 CPU子系统 3.1 概 述 重点 及 难点 3.2 算术、逻辑运算部件 3.3 运算方法 3.4 CPU模型 3.5 组合逻辑控制方式 3.6 微程序控制方式
第三章 CPU子系统 3.6 微程序控制方式 3.6 微程序 控制 3.6.1 微程序控制的基本原理 3.6.2 微指令的编码方式 SWPU 计算机组成原理 第三章 CPU子系统 3.6 微程序控制方式 3.6.1 微程序控制的基本原理 3.6.2 微指令的编码方式 3.6 微程序 控制 3.6.3 微地址的形成 3.6.4 模型机的微指令格式 3.6.5 模型机微程序设计
3.6.3 模型机微程序设计 “取指微指令”微程序段 AI BI SM C0 S ZO EMAR R W ST SC SWPU 计算机组成原理 3.6.3 模型机微程序设计 指令流程 “取指微指令”微程序段 AI BI SM C0 S ZO EMAR R W ST SC 3 3 5 2 2 3 1 1 1 2 4 000 000 00000 00 00 000 1 1 0 11 0000 M IR 100 000 10010 01 00 111 0 0 0 00 0000 PC+1 PC 000 000 00000 00 00 000 0 0 0 00 0010 按op分支 模型机 微程序控制器
3.6.1 微程序控制器——逻辑组成 1. 逻辑组成 控制存储器(CM) (1)控制存储器CM 微地址 形成电路 译码器 IR µIR SWPU 计算机组成原理 3.6.1 微程序控制器——逻辑组成 1. 逻辑组成 微地址 形成电路 IR PSW PC 微地址寄存器 µAR 控制存储器(CM) 译码器 微命令序列 微命令字段 微地址字段 µIR (1)控制存储器CM 功能:一个单元存放一条微指令,CM采用ROM,属于CPU 模型机 组合逻辑控制器
3.6.1 微程序控制器——逻辑组成 2. 逻辑组成 控制存储器(CM) (2)微指令寄存器µIR 微命令字段 微地址字段 微地址 形成电路 SWPU 计算机组成原理 3.6.1 微程序控制器——逻辑组成 2. 逻辑组成 微地址 形成电路 IR PSW PC 微地址寄存器 µAR 控制存储器(CM) 译码器 微命令序列 微命令字段 微地址字段 µIR (2)微指令寄存器µIR 微命令字段 微地址字段 提供一步操作 所需的微命令 指明后续微地址的形成方式 模型机 组合逻辑控制器
3.6.1 微程序控制器——逻辑组成 2. 逻辑组成 (4)微地址寄存器 µAR 功能: 存放现行微地址。 控制存储器(CM) SWPU 计算机组成原理 3.6.1 微程序控制器——逻辑组成 2. 逻辑组成 模型机 微地址 形成电路 IR PSW PC 微地址寄存器 µAR 控制存储器(CM) 译码器 微命令序列 微命令字段 微地址字段 µIR (3)微地址形成电路 (4)微地址寄存器 µAR 微程序入口地址: 由机器指令操作码形成。 功能: 存放现行微地址。 后续微地址: 由微地址字段、现行微地址、运行状态等形成。 组合逻辑控制器
3.6 微程序控制方式 2、微程序控制的基本概念 1.微命令与微操作 微命令: 构成控制信号序列的最小单位。 SWPU 计算机组成原理 3.6 微程序控制方式 2、微程序控制的基本概念 1.微命令与微操作 微命令: 构成控制信号序列的最小单位。 微操作:控制器中执行部件接受微命令后所进行的操作。 2.微指令和微程序 微指令:控制存储器中每个单元存放的微命令信息组成一条微指令. 微程序:由微指令组成的序列称为微程序,一段微程序的功能对应一条机器指令的功能. 注解:微命令:通常指那些能直接作用于某部件控制门的命令,例如,打开或关闭某部件通路的控制门的电位,又如对触发器或寄存器进行同步打入、置位、复位的控制脉冲。
3.6.1 微程序控制器——工作过程 控制存储器(CM) (1)取机器指令(公共操作) 译码器 CM µIR IR 微地址 形成电路 IR SWPU 计算机组成原理 3.6.1 微程序控制器——工作过程 微地址 形成电路 IR PSW PC 微地址寄存器 µAR 控制存储器(CM) 译码器 微命令序列 微命令字段 微地址字段 µIR (1)取机器指令(公共操作) 微命令字段 微命令 取指微指令 译码器 CM µIR 机器指令 IR
3.6.1 微程序控制——工作过程 (2)转微程序入口 (3)执行首条微指令 (4)取后续微指令 (5)返回取指微指令,开始新的微指令的执行 SWPU 计算机组成原理 3.6.1 微程序控制——工作过程 (2)转微程序入口 微地址形成电路 入口 首条微指令 操作码 µAR CM µIR IR (3)执行首条微指令 微命令 序列 µIR 微命令字段 译码器 操作部件 (4)取后续微指令 后续微地址 微地址形成电路 µAR 微地址字段 现行微地址 运行状态 后续微指令 µIR CM (5)返回取指微指令,开始新的微指令的执行
3.6 微程序控制方式 3.6.2 微指令编码方式及微地址的形成方式 微指令的 编码方式 1、 直接控制法(不译法) SWPU 计算机组成原理 3.6 微程序控制方式 3.6.2 微指令编码方式及微地址的形成方式 1、 直接控制法(不译法) 微指令的 编码方式 2、分段直接编译法(显示编码) 3、分段间接编译法(隐式编码) 4、其他编码方法 遵循的宗旨: 1、提高编码效率,压缩微指令的宽度; 2、保持微命令必须的并行性 3、硬件线路尽可能简单
3.6.2 微指令的编码方式 一、微指令的编码 微命令字段 微地址字段 1、直接控制法(不译法) 构成: SWPU 计算机组成原理 3.6.2 微指令的编码方式 一、微指令的编码 编码的实质:在微指令中如何组织微操作的问题 构成: 微命令字段 微地址字段 1、直接控制法(不译法) 特点: 一位一个控制信号,不需要译码,直接产生微命令信号。
3.6.2 微指令的编码方式 C0 R W 1、直接控制法(不译法) 例. 某微指令 1 1 1 C0= 0 进位初值为0 1 进位初值为1 SWPU 计算机组成原理 3.6.2 微指令的编码方式 1、直接控制法(不译法) 例. 某微指令 C0 R W 1 1 1 C0= 0 进位初值为0 1 进位初值为1 R= 0 不读 1 读 0 不写 1 写 W= 优点: 不需译码,产生微命令的速度快; 缺点:信息的表示效率低。 微指令中通常只有个别位采用直接控制法。 模型机 微程序控制器 组合逻辑控制器
3.6.2 微指令的编码方式 2、分段直接编译法(显示编码、单重定义) (1) 把互斥的微命令编为一组 SWPU 计算机组成原理 3.6.2 微指令的编码方式 2、分段直接编译法(显示编码、单重定义) 同一组 (1) 把互斥的微命令编为一组 (2) 对微命令进行编码, 留出一个代码表示本段不发微命令 (3) 增设微命令译码器 模型机 微程序控制器 组合逻辑控制器
3.6.2 微指令的编码方式 AI 2、分段直接编译法(显示编码、单重定义)) 例.对加法器输入端进行控制。 加法器 A B R、C D、E SWPU 计算机组成原理 3.6.2 微指令的编码方式 2、分段直接编译法(显示编码、单重定义)) 例.对加法器输入端进行控制。 加法器 A B R、C D、E D、F 微指令中设置AI字段,控制 加法器的输入选择。 同一组 AI 3 C D 000 不发命令 微命令分组原则: 同类操作中互斥的 微命令放同一字段 001 R A 010 C A 010 C A 011 D B 011 D B 模型机 100 MDR B … 微程序控制器 组合逻辑控制器
3.6.2 微指令的编码方式 AI BI 加法器 A B R、C D、E D、F 3 3 C AI: BI: D 000 不发命令 SWPU 计算机组成原理 3.6.2 微指令的编码方式 加法器 A B R、C D、E D、F 加法器A输入端的控制命令放AI字段, B输入端的控制命令放BI字段。 AI BI 3 3 C AI: BI: D 000 不发命令 010 C A 100 E A 001 R A 011 D A 000 不发命令 010 C B 100 F B 001 R B 011 D B • 同类操作中“互斥的微命令”应该分在同一字段中进行编码; (目的是可以压缩 微指令的长度) • “相容的微命令”应该分到不同的字段中。 (目的是可以保证相容操作的并行性) 010 C A 011 D B 特点: 操作唯一;编码较简单; 一条微指令能同时提供若干微命令,便于组织各种操作。 模型机 微程序控制器
3.6.2 微指令的编码方式 3、分段间接编译法(隐式编码、多重定义) 一个字段的某些微命令由另一个字段的某些微命令来解释 SWPU 计算机组成原理 3.6.2 微指令的编码方式 3、分段间接编译法(隐式编码、多重定义) 一个字段的某些微命令由另一个字段的某些微命令来解释 如: 字段A受字段B的控制 模型机 微程序控制器 组合逻辑控制器
将不同时使用的功能占据同一段微指令代码位 SWPU 计算机组成原理 3.6.2 微指令的编码方式 3、分段间接编译法(隐式编码、多重定义) 如:设置解释位或解释字段 将不同时使用的功能占据同一段微指令代码位 C AI BI K 解释位 1 AI/BI两组命令 0 常数字段K C = C CPU内部操作 I/0操作 模型机 解释位 微程序控制器 组合逻辑控制器
3.6.2 微指令的编码方式 4、 微指令译码与机器指令译码复合控制 例. 寄存器号 寄存器传A R1 译码器 译码器 001 A门 R A SWPU 计算机组成原理 3.6.2 微指令的编码方式 4、 微指令译码与机器指令译码复合控制 例. 机器指令 微指令 寄存器号 寄存器传A R1 译码器 译码器 001 A门 R A 减少微指令长度的辅助手段 模型机 微程序控制器 组合逻辑控制器
3.6.2 微地址的形成方式 微程序的特征:存在大量的分支 SWPU 计算机组成原理 3.6.2 微地址的形成方式 微程序的特征:存在大量的分支 指令流程 如果为每条机器指令、每种寻址方式都单独设置一段微程 序,导致整个微程序太长,需要大量的控存容量, 把重复部分作为共享的微子程序库,由各微程序调用,因而会产生大量的寻址分支流程。 取指微指令 MOV转取源操作数子程序 MOV转取目的地址子程序 MOV执行 ADD转取源操作数子程序 取目的地址微子程序 取源操作数微子程序 取指微指令 MOV取源操作数 MOV取目的地址 MOV执行 ADD取源操作数 ADD取目的操作数 模型机 微程序控制器 组合逻辑控制器
3.6.2 微地址的形成方式 微程序的特征 IR OP 初始微地址的形成 + 后继微地址的形成 源操作数 入口 目的地址 入口 执行 微命令 SWPU 计算机组成原理 3.6.2 微地址的形成方式 微程序的特征 指令流程 IR OP 0000 1100 1101 0001 MOV 入口 ADD 入口 RST 入口 JSR 入口 初始微地址的形成 + 后继微地址的形成 源操作数 入口 目的地址 入口 执行 微命令 R寻址 @(R)寻址 OP.DR OP.DR 模型机 微程序控制器
3.6.2 微地址的形成方式 1、初始微地址的形成 1)取机器指令:0#单元或特定的单元开始 2)功能转移 一级功能转移 微程序入口 SWPU 计算机组成原理 3.6.2 微地址的形成方式 微程序控制器 1、初始微地址的形成 指令流程 每条机器指令由一段微程序解释执行,入口地址就是初始微地址 每条机器指令都有取指操作,公用的“取指微程序”实现取指操作 1)取机器指令:0#单元或特定的单元开始 2)功能转移 功能转移 指令操作码 微程序入口 一级功能转移 各操作码的位置、位数固定,一次转换成功。 功能转移
例. 微程序1 微程序2 CM 一级功能转移 机器指令1 0000(4位) 入口地址=0000H 0页 微地址1 机器指令2 微程序控制器 CM 一级功能转移 例. 机器指令1 0…00000 无条件转 微地址1 0…00001 0000(4位) 功能转移 无条件转 微地址2 入口地址=0000H 0页 微地址1 功能转移 机器指令2 微程序1 0001(4位) 入口地址=0001H 微地址2 微程序2 计算机组成原理 SWPU 功能转移
3.6.2 微地址的形成方式 二级功能转移 分类转: 区分指令类型 功能转: 区分操作类型 SWPU 计算机组成原理 3.6.2 微地址的形成方式 指令流程 二级功能转移 各类指令操作码的位置、位数不固定,或根据操作码、寻址方式进行两次转换 分类转: 指令类型标志 区分指令类型 指令操作码 功能转: 区分操作类型 例.某指令系统(微指令地址共10位): 双操作数指令的操作码占4位,其中高两位为00,即双操作数指令类型标志;单操作数指令的操作码占6位,其中高两位为01,即单操作数指令类型标志。 模型机 功能转移 微程序控制器
0001(4位) 0010(4位) 011100(6位) 加法微程序 CM (1K) 加法指令 减法指令 求补指令 1000000001 给定入口高6位 0001(4位) 无条件转 100000 分类转移 给定入口高4位 减法指令 功能转移 0010(4位) 无条件转 1000 分类转移 求补指令 011100(6位) 加法地址 加法微程序 功能转移 1000000001 无条件转 加法地址 例题:扩展操作码方式实现多级功能专辑 还可以根据操作码 寻址方式等实现多级功能转移 1000000010 无条件转 减法地址 1000011100 无条件转 求补地址 微程序控制器 计算机组成原理 SWPU 功能转移
PLA 3.6.2 微地址的形成方式 3)用可编程逻辑阵列PLA实现功能转移 IR 入口地址 1 入口地址 2 指令流程 模型机 SWPU 计算机组成原理 3.6.2 微地址的形成方式 指令流程 3)用可编程逻辑阵列PLA实现功能转移 PLA 入口地址 1 入口地址 2 缺点:该种方法由于很少芯片有这么多引脚 IR 模型机 微程序控制器
3.6.2 微地址的形成方式 2、后继微指令地址形成 (1)增量方式(顺序-转移型微地址) 以顺序执行为主,配合各种常规转移方式 微命令字段 SWPU 计算机组成原理 3.6.2 微地址的形成方式 2、后继微指令地址形成 指令流程 得到微程序入口以后,就开始执行微程序,后继微地址的形成方法对微程序编制的灵活性影响很大。通常采用两种方法形成后继微地址: (1)增量方式(顺序-转移型微地址) 以顺序执行为主,配合各种常规转移方式 微命令字段 微地址字段 微指令格式: 给出后继微地址的形成条件 模型机 功能转移 微程序控制器
微子程序 D A B B A+1 (条件不满足) A+2 B C (条件满足) D R A+1 CM 顺序:现行微地址+1。 指令流程 顺序:现行微地址+1。 跳步:现行微地址+2。 D A 条件 C 条件 D B B 无条件转移: 现行微指令给出转移微地址 A+1 (条件不满足) A+2 条件转移:现行微指令给 出转移微地址和转移条件 B 转微子程序: 现行微指令给出微子程序入口 C (条件满足) 返回微主程序: 现行微指令给出寄存器号 D 微子程序 专用返回微地址寄存器R R A+1 模型机 计算机组成原理 SWPU 微程序控制器
SWPU 计算机组成原理 3.6.2 微地址的形成方式 指令流程 增量方式(顺序-转移型微地址)原理图 uAR 模型机 微程序控制器
3.6.2 微地址的形成方式 顺序-转移型微地址特点 优点: 直观、与常规工作程序形态相似、容易编制和调试 缺点: SWPU 计算机组成原理 3.6.2 微地址的形成方式 指令流程 顺序-转移型微地址特点 优点: 直观、与常规工作程序形态相似、容易编制和调试 缺点: 1、不易实现对应于各个测试条件的多路转移 2、微程序在CM中的物理分配不方便 原因是:既有满足微地址递增顺序规律,又要灵活的 转向各种微程序与微子程序入口的要求。 1、不利于解决两路以上的并行微程序转移。 因为微程序或者顺序执行,或者按BAF转移微地址来执行若进行四路转移,顺序控制字段应有三个BAF字段,增加微指令的长度 2、微程序在CM中的物理分配不方便。 原因是:既有满足微地址递增顺序规律,又要灵活的转向各种微程序与微子程序入口的要求 模型机 微程序控制器
SWPU 计算机组成原理 3.6.2 微地址的形成方式 (2) 断定方式形成微地址 指令流程 后继微地址由微程序设计者指定,或者根据微指令所规定的测试结果直接决定后继微地址全部或部分地址值。 微指令格式: 所谓断定型微地址是指后继微地址可由微程序设计者指定,或者根据微指令所规定的测试结果直接决定后继微地址全部或部分地址值。 给定后续微地址 高位部分 指明后续微地址低 位部分的形成方式 模型机 微程序控制器
SWPU 计算机组成原理 3.6.2 微地址的形成方式 指令流程 断定型微地址形成原理示意图 模型机 微程序控制器
3.6.2 微地址的形成方式 D(给定) A(条件) 例1. 微指令 2位 位数可变 假设微地址10位 16路分支 01 10 8路分支 SWPU 计算机组成原理 3.6.2 微地址的形成方式 例1. 指令流程 D(给定) A(条件) 微指令 位数可变 2位 假设微地址10位 16路分支 01 微地址低4位为操作码,D给定高6位; 10 8路分支 A= 微地址低3位为机器指令源寻址方式 编码,D给定高7位; 8路分支 11 微地址低3位为机器指令目的寻址方式 编码,D给定高7位。 优点:实现快速多路分支,适用于功能转移的需要 缺点:形成后继地址结构比较复杂 模型机 微程序控制器
第三章 CPU子系统 3.6 微程序控制方式 3.6 微程序 控制 3.6.1 微程序控制的基本原理 3.6.2 微指令的编码方式 SWPU 计算机组成原理 第三章 CPU子系统 3.6 微程序控制方式 3.6.1 微程序控制的基本原理 3.6.2 微指令的编码方式 3.6 微程序 控制 3.6.3 微地址的形成 3.6.4 模型机的微指令格式 3.6.5 模型机微程序设计
3.6.3 模型机微指令格式 一、微指令格式 1、模型机格式 AI BI SM C0 S ZO EMAR R W ST SC 关键问题: SWPU 计算机组成原理 3.6.3 模型机微指令格式 一、微指令格式 指令流程 模型机 微命令字段 微地址字段 关键问题: 微命令的字段如何划分 后继微地址的形成方式 按数据通路各段操作划分字段, 同类操作中互斥的微命令放同一字段 增量方式实现顺序、无条件转移、转子 断定方式实现按操作码、寻址方式等转移 1、模型机格式 3 3 5 2 2 3 1 1 1 2 4 AI BI SM C0 S ZO EMAR R W ST SC 数据通路操作 访存操作 辅助 顺序控制 微程序控制器
3.6.3 模型机微指令格式 AI BI SM C0 S ZO EMAR R W ST SC 2、各字段功能 1)数据通路操作 SWPU 计算机组成原理 3.6.3 模型机微指令格式 2、各字段功能 微程序控制器 模型机 3 3 5 2 2 3 1 1 1 2 4 AI BI SM C0 S ZO EMAR R W ST SC 顺序控制 数据通路操作 访存操作 1)数据通路操作 BI:B的输入选择相同!! AI: A输入选择 (分段直接译码) 000 无输入 Ri A 001 机器指令中的寄存器号指明具体是R0~R3、SP、PC 010 C A D A 011 PC A 100 专用于取指、变址中对PC的选取 复合控制
3.6.3 模型机微指令格式 AI BI SM C0 S ZO EMAR R W ST SC SM: C0: S: ZO: 2)访存操作 SWPU 计算机组成原理 3.6.3 模型机微指令格式 3 3 5 2 2 3 1 1 1 2 4 AI BI SM C0 S ZO EMAR R W ST SC 顺序控制 数据通路操作 访存操作 SM: ALU功能选择 S3S2S1S0M(不译法) 模型机 C0: 微程序控制器 初始进位选择(2位): 00 0→C0 01 1→CO 10 PSW0 →C0 S: 移位选择(2位): 00 DM 01 左移 10 右移 11 交换 ZO: 内总线结果分配 001 CPRi 010 CPC … 2)访存操作 EMAR、R(SMDR)、W (不译法) 10 关中断 3)辅助操作(ST) 00 无操作 01 开中断 11 SIR
3.6.3 模型机微指令格式 AI BI SM C0 S ZO EMAR R W ST SC 4)顺序控制字段 增量 断定 9种 SWPU 计算机组成原理 3.6.3 模型机微指令格式 3 3 5 2 2 3 1 1 1 2 4 AI BI SM C0 S ZO EMAR R W ST SC 顺序控制 数据通路操作 访存操作 4)顺序控制字段 增量 断定 9种 指明后继微地址形成方式 SC: 0000 顺序执行 0001 无条件转移,微指令高8位提供转移微地址 0010 按操作码分支 0011 按OP.DR分支 断定 0100 按J.PC分支 0101 按源寻址方式分支 0110 按目的寻址方式分支 指令流程 0111 转微子程序,由微指令高8位提供微子程序入口 模型机 1000 返回微主程序,由返回微地址寄存器提供返回地址 微程序控制器
第三章 CPU子系统 3.6 微程序控制方式 3.6 微程序 控制 3.6.1 微程序控制的基本原理 3.6.2 微指令的编码方式 SWPU 计算机组成原理 第三章 CPU子系统 3.6 微程序控制方式 3.6.1 微程序控制的基本原理 3.6.2 微指令的编码方式 3.6 微程序 控制 3.6.3 微地址的形成 3.6.4 模型机的微指令格式 3.6.5 模型机微程序设计
3.6.3 模型机微指令格式 一、时序系统—二级时序 P CPuIR 微指令 打入 µIR 实际操作中,通常采取重叠方式, SWPU 计算机组成原理 3.6.3 模型机微指令格式 一、时序系统—二级时序 指令流程 微指令周期 控制数据 通路操作 读本条 微指令 读下条微指令 P CPuIR 后续微地址打入 µAR 微指令 打入 µIR 实际操作中,通常采取重叠方式, 即数据通路操作与读后续微指令并行工作 模型机 微程序控制器
3.6.3 模型机微程序设计 二、模型机微程序的编制 IR OP 需要解决的问题: 编写顺序、分支转移等 源操作数 入口 目的地址 入口 SWPU 计算机组成原理 3.6.3 模型机微程序设计 二、模型机微程序的编制 指令流程 IR OP 0000 1100 1101 0001 MOV 入口 ADD 入口 RST 入口 JSR 入口 需要解决的问题: 编写顺序、分支转移等 源操作数 入口 目的地址 入口 执行 微命令 R寻址 @(R)寻址 OP.DR OP.DR 模型机 微程序控制器
3.6.3 模型机微程序设计 1、微程序的编制顺序 按指令执行顺序编写: 取机器指令 功能转移 执行 按操作码编码顺序,分别编写微程序 SWPU 计算机组成原理 3.6.3 模型机微程序设计 指令流程 1、微程序的编制顺序 按指令执行顺序编写: 取机器指令 功能转移 按操作码编码顺序,分别编写微程序 编写取指段 双操作 数指令 单操作 数指令 转移 指令 MOV 公用的微子程序 (压栈、取源操作数、取目的地址) 执行 模型机 微程序控制器
3.6.3 模型机微程序设计 2、实现分支——微地址形成表 将同类断定依据所对应的微地址放在相应的 微地址形成表中,用SC字段选取。 SWPU 计算机组成原理 3.6.3 模型机微程序设计 指令流程 2、实现分支——微地址形成表 将同类断定依据所对应的微地址放在相应的 微地址形成表中,用SC字段选取。 A、SC=0000 顺序执行,现行微地址+1 B、SC=0001 无条件转, 现行微指令高八位给出转移微地址 c、SC=0010 按操作码分支(4路) 表内单元地址 (断定依据) 单元内容 (微地址) MOV 03H 双 0CH 单 24H JMP/JSR 3FH 模型机 微程序控制器
3.6.3 模型机微程序设计 D、SC=0011 按操作码 DR分支(24路)进入执行 DR MOV 06H DR MOV 0AH SWPU 计算机组成原理 3.6.3 模型机微程序设计 指令流程 D、SC=0011 按操作码 DR分支(24路)进入执行 DR MOV 06H DR MOV 0AH 执行规定操作 后转取指入口 双 单 3DH E、SC=0100 按J、PC分支(4路) 40H 46H 顺序/转移地址 PC F、SC=0101 按源寻址方式分支(7路) 4CH 5EH G、SC=0110 按目的寻址方式分支 从60H开始 H、SC=0111 转微子程序 现行微指令高8位给出微子程序入口 SC=1000 返回微主程序 从寄存器取返回微地址 模型机 微程序控制器
3.6.3 模型机微程序设计 3、微指令实例 1)“取指微指令”微程序段 AI BI SM C0 S ZO EMAR R W ST SC SWPU 计算机组成原理 3.6.3 模型机微程序设计 3、微指令实例 指令流程 1)“取指微指令”微程序段 AI BI SM C0 S ZO EMAR R W ST SC 3 3 5 2 2 3 1 1 1 2 4 000 000 00000 00 00 000 1 1 0 11 0000 M IR 100 000 10010 01 00 111 0 0 0 00 0000 PC+1 PC 000 000 00000 00 00 000 0 0 0 00 0010 按op分支 练习:请大家写出微地址03H——08H的微程序代码 模型机 微程序控制器
3.6.3 模型机微指令格式 AI BI SM C0 S ZO EMAR R W ST SC 4)顺序控制字段 增量 断定 9种 SWPU 计算机组成原理 3.6.3 模型机微指令格式 3 3 5 2 2 3 1 1 1 2 4 AI BI SM C0 S ZO EMAR R W ST SC 顺序控制 数据通路操作 访存操作 4)顺序控制字段 增量 断定 9种 指明后继微地址形成方式 SC: 0000 顺序执行 0001 无条件转移,微指令高8位提供转移微地址 0010 按操作码分支 0011 按OP.DR分支 断定 0100 按J.PC分支 0101 按源寻址方式分支 0110 按目的寻址方式分支 指令流程 0111 转微子程序,由微指令高8位提供微子程序入口 模型机 1000 返回微主程序,由返回微地址寄存器提供返回地址 微程序控制器
3.6.3 模型机微程序设计 五、微程序控制方式优缺点及应用 1.优点 2.缺点 (1)设计规整,设计效率高; SWPU 计算机组成原理 3.6.3 模型机微程序设计 五、微程序控制方式优缺点及应用 指令流程 1.优点 (1)设计规整,设计效率高; (2)易于修改、扩展指令系统功能; (3)结构规整、简洁,可靠性高; (4)性价比高。 2.缺点 访存频繁 转移较多 未充分发挥数据 通路本身具有的 并行能力 (1)速度慢 (2)执行效率不高 3.应用范围 特别适用于系列机 用于速度要求不高、功能较复杂的机器中。 模型机 微程序控制器
3.6 微程序控制方式 3. 小结——微程序控制方式的基本思想 1) 若干微命令编制成一条微指令,控制实现一步操作 SWPU 计算机组成原理 3.6 微程序控制方式 3. 小结——微程序控制方式的基本思想 1) 若干微命令编制成一条微指令,控制实现一步操作 2) 若干微指令组成一段微程序,解释执行一条机器指令; 3) 微程序事先存放在ROM控制存储器中,执行机 器指令时再取出,将其译码产生微命令。 (1)采用了“存储逻辑”的设计思想 将控制器所需要的微操作命令,以微代码的形式编成微指令,存在专门的存储器中,执行机器指令时,从该存储器中取出微指令,产生执行机器指令所需的微操作命令序列。 (2)采用了“程序设计”的技术 把一条机器指令所需要的微操作命令序列,以微指令的形式编成一段微程序,整个指令系统就编出一整套微程序,采用“顺序、转移、多分支”等程序设计的技术进行微程序的设计。 CPU的 构成 引入了程序技术,使设计规整; 引入了存储逻辑,使功能易于扩展。 模型机 微程序控制器 组合逻辑控制器
3.6.1 微程序控制——工作过程 uIR 取指微指令 取出微指令 M->IR PC+1->PC 微命令字段 微地址字段 SWPU 计算机组成原理 3.6.1 微程序控制——工作过程 取指微指令 取出微指令 uIR M->IR PC+1->PC 微命令字段 微地址字段 IR中的操作码 译码 微地址形成电路 微地址形成电路 微命令 后继微地址 该指令的微程序入口地址 模型机 微程序控制器 组合逻辑控制器
3.6.2 微指令的编码方式 微指令译码与机器指令译码复合控制 例. 寄存器号 寄存器传A R1 译码器 译码器 001 A门 R A SWPU 计算机组成原理 3.6.2 微指令的编码方式 指令流程 微指令译码与机器指令译码复合控制 例. 机器指令 微指令 寄存器号 寄存器传A R1 译码器 译码器 001 A门 R A 减少微指令长度的辅助手段 模型机 微程序控制器
微程序控制器的逻辑组成 控制存储器(CM) 微地址 形成电路 译码器 µIR IR 微命令字段 微地址字段 PSW 微地址寄存器 PC SWPU 计算机组成原理 微程序控制器的逻辑组成 指令流程 微地址 形成电路 IR PSW PC 微地址寄存器 µAR 控制存储器(CM) 译码器 微命令序列 微命令字段 微地址字段 µIR 模型机 微程序控制器
3.5.3 微命令的综合与产生 组合逻辑控制器 微命令 发生器 译码 …... PSW 时序 IR 地址形成 PC 微命令序列 +1 SWPU 计算机组成原理 3.5.3 微命令的综合与产生 组合逻辑控制器 微命令 发生器 微命令序列 I/O状态 控制台信息 运行状态 译码 …... PSW 时序 IR 地址形成 PC OP D 寻址 来自M 送M 或ALU +1
SWPU 计算机组成原理 CPU模型 W R
SWPU 计算机组成原理 MOV指令_指令流程图
3.6.2 微地址的形成方式 微程序的特征 IR OP 源操作数 入口 目的地址 入口 执行 微命令 R寻址 OP.DR MOV 入口 SWPU 计算机组成原理 3.6.2 微地址的形成方式 微程序的特征 IR OP 1100 1101 0000 0001 MOV 入口 ADD 入口 RST 入口 JSR 入口 源操作数 入口 目的地址 入口 执行 微命令 R寻址 @(R)寻址 OP.DR OP.DR
2009 SCS-SWPU 计算机组成原理 作 业 课后作业(书上完成): P185 13(1,3,5)
Thank You ! www.themegallery.com