微程序
每一条机器指令对应一个微程序。
每一条微程序是一系列微指令的有序合集。
微指令
又称控制字,是控制存储器中的一个单元的内容。
每一条微指令是若干个微命令的集合。
微指令分为:
- 垂直型微指令:接近于机器指令,每条指令只能完成一个微操作。
- 水平型微指令:一条微指令里有多条并行的微指令,效率高。
每一条微指令包含:
- 微操作码字段(操作控制字段),用来产生某一步操作所需的各微操作控制信号。
- 微地址码字段(顺序控制字段,下地址字段),用来控制产生下一条要执行的微指令地址。
微指令编码法
微指令编码法用来编码微操作码字段。
- 直接控制法:微操作码字段中每一个二进制表示一个微命令,二进制序列就是微命令序列。
优点:不需要译码,结构简单,并行性强,操作速度快。
缺点:如果微命令太多会导致微指令字太长。 - 最短编码法:每个微操作只对应一个微命令,N个微命令就需要位来存储对应的序列。
优点:微指令字长最短。
缺点:需要通过译码器。同一时刻只能产生一个微命令,不能利用机器硬件的并行性,对于要求同一时间执行的组合性微操作将无法实现。 - 字段直接编码法(显式编码法):前两种方法的结合,将互斥的微操作组合到同一个字段,字段内使用最短编码法。
优点:微指令字长较短。
缺点:需要通过译码器,比直接控制法慢。 - 字段间接编码法(隐式编码法):一个字段的某些编码需要与其他字段的编码来联合定义微命令。
优点:比显式编码法进一步缩短了微指令字长。
缺点:削弱了微指令的并行控制能力。
后继微地址的形成
每条微指令执行完后都会形成后继微地址。
- 增量方式(顺序-转移型微地址):将控制存储器中μMAR改为具有技术功能的计数器。顺序执行时,后继微地址 当前微地址 ;转移或转子时,由顺序控制字段产生转移微地址。
- 断定方式:
下地址段分为两部分:- 非测试段:一般是微地址的高位部分。
- 测试段:根据有关状态的测试结果确定地址,一般对应地址的低位部分。测试段N位会产生个分支。
微命令
微命令是控制计算机各部件完成某个微操作的命令。
微命令与微操作一一对应,微命令是微操作的控制信号,微操作是微命令的操作过程。
微命令之间存在兼容性和互斥性。
微操作
微操作是计算机中最基本的、不可再分的操作。
指令的微操作序列
ADD @R0, R1
即() + -> ,设ALU前有寄存器Y,ALU后有寄存器Z
- 取指周期
- PC -> MAR
- M(MAR) -> MDR
- MDR -> IR
- PC + 1 -> PC
- 取数周期
- -> MAR
- M(MAR) -> MDR
- MDR -> Y
- 执行周期
- + Y -> Z
- Z ->
微地址
存放微指令的控制存储器的单元地址称为微地址。
微周期
微周期是指从控制存储器中取出到执行完一条微指令所需要的全部时间。
微程序控制器
组成

控制存储器(CM)
用来存放微程序。
微指令寄存器(μIR)
用来存放从控制存储器中取出的微指令,位数与微指令字长相等。
微地址形成部件
用来产生初始微地址和后继微地址,保证微指令的连续执行。
微地址寄存器(μMAR)
用来存放微地址形成部件产生的微地址,为控制存储器读取微指令做准备。