——如阅读体验不佳,可转为横屏阅读;如微信无法横屏,可尝试文末方法。
表-控制相关概念
术语
功能定义
功能实现
(微)命令
控制实现微操作的命令
由控制部件发出
微操作
由(微)命令控制实现的最基本操作
由执行部件执行
指令
控制实现操作(一系列微操作)的命令
分割成一系列(微)命令
操作
由指令控制实现的一系列微操作
分割成一系列微操作
说明:
1) 关系图
表-硬连线(组合逻辑)设计与微程序(存储逻辑)设计
微操作命令序列的形成方法
控制信号生成方式
设计步骤
具体实现
硬连线(组合逻辑)设计
微操作命令(即控制信号)由逻辑电路产生。
1) 列出所有微操作命令的操作时间表;
包括工作周期(即指令周期中的机器周期)、节拍(即机器周期中的节拍)、状态条件、微操作命令信号、操作码等项。
2) 写出所有微操作命令各自的最简逻辑表达式;
其中,m为每个机器周期中包含的节拍数,n为操作码的位数,
当机器周期Mi包含微操作命令MOP时,机器周期Mi=1,否则机器周期Mi=0;
当机器周期Mi的节拍Tj包含微操作命令MOP时,节拍Tj=1,否则节拍Tj=0;
当操作码k在机器周期Mi的节拍Tj需微操作命令MOP时,操作码k=1;
3) 画出所有微操作命令的逻辑图。
对应每一个微操作命令的逻辑表达式都可画出一个逻辑图,即每一个微操作命令对应一个逻辑电路。
微程序(存储逻辑)设计
微操作命令(即控制信号)由微指令的操作码控制字段中的有效位(为1)产生。
1) 写出对应机器指令的微操作及节拍安排;
微操作Ad(CMDR)→CMAR只能在微指令送至CMDR(即CM(CMAR)→CMDR)这一微操作完成后的下一时钟周期完成,而微指令打入到CMDR中(即CM(CMAR)→CMDR)均发生在微操作Ad(CMDR)→CMAR的下一时钟周期T的上升沿,而一旦微指令打入到CMDR中,该微指令对应的微操作便同步执行了(即CM(CMAR)→CMDR和CMDR中控制信号的执行是同时完成的)。(寄存器的当前保存内容和寄存器的当前输出内容是相同的,当寄存器的“内容”改变时,寄存器的输出立刻随之改变,永远保持一致。实际上寄存器并未在“内部”真正“存放”内容,只不过寄存器的输出端的有效信号可以保持不变,表现为好像寄存器“内”存放着输出端的信号,寄存器的输出端的有效信号是通过寄存器“内”的逻辑电路生成的)
2) 确定微指令格式;
微指令格式包括微指令的编码方式、后续微指令的地址形成方式和微指令字长等3个方面。
3) 编写每条微指令的二进制代码(称为微指令码点);
编写每条微指令的二进制代码(称为微指令码点);
表-微程序设计
微程序设计的原理
在微程序设计中,每条机器指令对应一个微程序,每个微程序包含若干条微指令,每条微指令对应若干个微操作命令。微程序存储在控制存储器中。微指令以二进制代码的形式表示,每位代表一个控制信号,若该位为1,表示该控制信号有效,若该位为0,表示该控制信号无效。
不同指令的取指周期、间址周期和中断周期对应的操作是相同的,因而所有的指令共用取指周期微程序、间址周期微程序和中断周期微程序。控存中微程序的总个数为机器指令(不同指令的执行周期微程序不同)数加上取指周期、间址周期和中断周期的3个微程序。
微指令的基本格式
控制信号
条件测试(转移控制)
下地址
操作控制
顺序控制
相关寄存器
CMAR:控存地址寄存器(功能类似MAR+PC),存放预读取的微指令的地址;
CMDA:控存数据寄存器(功能类似MDR+IR),存放从控存中读出的微指令(无数据,控存CMEM中存放的是对应机器指令操作码部分的微程序指令);
表-微指令的控制字段的编码方式
微指令格式
编码方式
实现方法
水平型微指令
直接编码
每位代表一个微操作命令(1-有效,0-无效)
可以将某些微操作命令(这些命令对于所有微指令而言总是同时全部出现或全部不出现)合用一位代码来控制,这样可以压缩指令的操作控制字段,缩短微指令字长。
字段直接编码
(显式编码)
段内互斥,段间并行(互斥指同一时刻至多有1个操作命令有效,可能全无效,即不发微指令的状态);
字段的位数由互斥的微操作命令数+1(字段内各位全无效,即不发微指令的状态)决定;
字段间接编码
(隐式编码)
一个字段的某些微命令还需由另一个字段中的某些微命令来解释;
混合编码
直接编码+字段(直接/间接)编码
常数字段
垂直型微指令
微指令操作码字段(微操作码)
由微指令操作码字段规定微指令的功能,类似机器指令的操作码的方式
1) 水平型微指令用较短的微程序结构换取较长的微指令结构,垂直型微指令用较长的微程序结构换取较短的微指令结构;
2) 水平型微指令比垂直型微指令并行能力强、效率高、灵活性强;
3) 水平型微指令执行一条机器指令所需的微指令数目少,速度比垂直型微指令快;
表-微指令序列地址的形成方式
微指令序列地址的形成方式
(CMAR)+1→CMAR
形成当前微程序的微指令序列中顺序执行的下一条微指令的地址
微指令的下地址字段
形成微指令序列中跳转执行的下一条微指令的地址,条件测试字段应包含一种不转移的情况
Op(IR)经微地址形成部件编码
形成不同指令各自的执行周期微程序的首地址
微程序入口地址(取指、间址、中断),硬件方式
形成不同指令共用的取指周期微程序、间址周期微程序和中断周期微程序的首地址
表-微程序设计分类
微程序设计分类
控制存储器
指令系统
优点
静态微程序设计
ROM
指令系统固定
动态微程序设计
EPROM
指令系统可变
有利于仿真
表-毫微程序设计
毫微程序结构
微指令类型
特点
关系
第一级微程序
并行操作能力不强,但有严格的顺序结构,由它确定后续微指令的地址,当需要时可调用第二级。第一级微程序主要用于执行顺序的控制。
垂直型微指令和水平型微指令不是一条一条地对应,而是由水平型微指令(即毫微指令)组成的毫微程序去执行垂直型微指令的操作。毫微指令与微指令的关系好比微指令与机器指令的关系。
第二级微程序
并行操作能力很强,但不包含后续微指令的地址,第二级微程序执行完毕后返回到第一级微程序。第二级微程序用于执行操作的具体实现。
1) 毫微程序设计采用两级微程序的设计方法,第一级微程序为垂直型微指令,第二级微程序为水平型微指令,两级微程序分别存放在两级控制存储器内。
文章合集:
考研计算机之数据结构
考研计算机之计算机网络
考研数学之高等数学
考研数学之线性代数
点击下方公众号主页,关注以阅读更多文章
——可选择“【右上角···】→【在浏览器中打开】”进行横屏阅读。