目录
一、微程序控制器概述
二、微程序控制器设计方法
三、微指令执行过程
四、控制字段的编码方式
五、下址字段的设计方法
六、微程序入口地址的产生方法
一、微程序控制器概述
微程序:微指令构成的有序集合,一条指令对应一段微程序
微指令:一组微命令构成的集合,用于完成一个功能(相对完整的操作)
微命令:组成微指令的最小单位,是控制实现微操作的控制信号
微操作:微命令执行时产生的动作
控制存储器(控存):存放所有指令的微程序,一个存储单元存放一条微指令,一般为ROM
微地址:微指令在控存中的地址
微地址寄存器μAR:存放微地址的寄存器,用于提供访问控存CM的地址,又称为控存地址寄存器CMAR(Control Memory Address Regeister)
微指令寄存器μIR:存放从控存取出来的微指令的寄存器
微周期:指从控存取出并执行一条微指令所花的时间,一般与一个机器周期相当
微程序控制器的组成与结构:除了操作控制形成部件,其他部分都等同于硬布线控制器
- 控制存储器CM
- 微地址寄存器μAR
- 微指令寄存器μIR
- 后继微地址形成电路:多路选择器
- 取微指令:CM[μAR] -> μIR
- 执行微指令:μIR控制字段产生微操作控制信号
- 下一条指令地址:由后继微地址形成电路产生
硬布线控制器与微程序控制器对比
二、微程序控制器设计方法
设计目标:
- 产生正确的微命令
- 产生正确的微指令序列,即CPU状态转换序列
设计微程序控制器的步骤:
- 确定指令系统
- 确定部件组成和系统结构
- 分析每条指令的执行过程,画出微程序流程图
- 写出每条微指令所发送的微操作控制信号序列
- 设计微指令格式及微程序控制器结构
- 分配微地址和编写微指令代码
- 将所有的微指令代码装入控制存储器的相应单元
1. 确定指令系统:ADD和JMP
2. 确定部件组成与系统结构
3. 分析每条指令的执行过程,画出微程序程序流程图
4. 写出每条微指令所发送的微操作控制信号序列
5. 设计微指令格式及微程序控制器结构
6. 分配微地址,并编写微指令代码
7. 微指令编码装入控制存储器
三、微指令执行过程
研究与应用微程序设计技术的目的:
- 缩短微程序指令字长
- 减少控制存储器的容量
- 加快微程序的执行速度
- 便于微程序的修改与扩充
- 提高微程序设计的灵活性
四、控制字段的编码方式
微指令由控制字段和下址字段组成
水平型微指令
- 基本特征:一条微指令能定义并发送多个微命令,控制数据通路中多个功能部件并行操作
- 控制字段:采用直接控制法、字段直接编译法、字段间接编译法的微指令格式,都属于水平型微指令
- 优点:一条微指令可同时发许多条微命令,微指令的执行效率高、灵活,各部件执行操作的并行能力强,编制的微程序比较短
- 缺点:微指令字太长,增加了控制存储器的横向距离
垂直型微指令
- 基本特征:一条微指令只能控制1~2中微操作
- 控制字段:全译码方式,编码为微操作字段μOP,由μOP规定微指令功能
- 优点:比较直观,容易掌握和便于使用,微指令字长短,减少了横向控制存储器的容量
- 缺点:微指令要经过译码才能发出微命令,微指令的执行效率低,并行操作性差,增加了纵向微程序容量
1. 直接编码法
- 控制字段的编码方式:每一位代表一个微命令(控制信号)
- 执行微指令时:控制字段的各个控制信号,直接连接到部件
- 优点:无需译码,执行速度快,微程序短
- 缺点:微指令字长很长,占用控存容量大
2. 全译码法
- 控制字段的编码方法:将所有控制字段进行二进制编码
- 执行微指令时:译码产生各个微命令
- 优点:微指令字长短
- 缺点:并行操作能力弱,微程序很长,执行速度经译码而降低
- 一般采用垂直型指令格式
3. 字段直接编译法
- 控制字段的编码方式:将控制字段分为若干个小段,每小段通过编码-译码方式,对应到各个控制信息
- 分段原则:相斥性微命令(不能在同一个微周期中同时出现的微命令)分在同一字段内(提高信息位的利用率,缩短微指令字长),相容性微命令(可以在同一个微周期中同时出现的微命令)分在不同字段内(有利于实现并行操作,加快指令的执行速度)
- 每个小字段要保留一个编码作为空操作,表示本组所有控制信号都不发送
- 优点:并行操作能力较强,字长较短,将同类操作的微命令划分在一个字段内,微指令结构清晰、规整,易于编制微程序和扩充功能
4. 字段间接编译法
- 控制字段的编码方法:某字段的编码含义,需要由另一字段来加一解释
- 某一字段所产生的微命令,是和另一字段的代码联合起来定义出来的
四种控制字段编码方法,可以混合应用在微指令的格式中
五、下址字段的设计方法
1. 判定方式
- 当前微指令的后继微地址:由判别测试字段和下址字段共同决定
- 下址地段:全地址(控存全局转移)or 部分地址(控存局部转移)
- 转移微地址:通过逻辑电路生成 or 在下址字段基础上修改,有时还需要状态条件参与
- 优点:每一条微指令都能实现微程序的转移,可以实现快速多路分支,执行速度快,微程序在控存中不用连续存储(微程序设计灵活)
- 缺点:形成后继微地址的电路结构比较复杂,微指令字长较长
2. 计数器方式
- 在微程序中设计一个微程序计数器μPC,由μPC来提供后继微地址:在顺序执行时,μPC自增,在遇到转移指令时,由微指令给出转移微地址,直入μPC
- 优点:微指令字长较短,便于编写微程序,后继微地址产生电路比较简单
- 缺点:微程序较长,执行速度相对较慢
微指令下址字段的设计
- 微指令中下址字段的结构和后继微指令地址的形成方法有关,又称为微程序流的控制。
- 判定方式产生后继微指令地址可由设计者指定或设计者指定的测试判别字段控制产出。
- 测试判别字段的位数取决于测试源的个数。
- 微指令寄存器的下址字段的位数取决于控制存储器的容量。
六、微程序入口地址的产生方法
微程序入口地址:当前指令对应的微程序段的第一条微指令在控存中的地址,是后继微地址的必不可少的一个来源,由指令译码器产生
微程序控制器中,指令译码器的功能:根据指令操作码,产生各指令的微程序入口地址
1. 映射存储器(MAPROM)方法
2. 逻辑电路法
MAPROM和逻辑电路方法对比
①MAPROM方法:
- 优点:非常灵活、不受限制,便于自由安排指令的微程序在控存中的位置
- 缺点:需要访存才能得到微程序入口,速度慢
②逻辑电路方法:
- 优点:能快速的产生微程序入口
- 缺点:微程序入口是指令OP的逻辑函数,故有一定限制,即某条指令的微程序入口一定某个控存地址