小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
本文同时参与「掘力星计划」,赢取创作大礼包,挑战创作激励金。
关于微指令和微地址以及微命令微操作等概念,很多人容易混淆,本文主要介绍微指令和微地址的概念,并简单区分下微命令、微操作、微指令、微程序的关系
微指令的编码方式
- 水平型微指令:微程序短、执行速度快;微指令长,编写程序麻烦
- 垂直型微指令:微指令短,便于编写程序;微程序长,执行速度慢
- 混合型微指令:垂直型的基础上增加一些不太复杂的并行操作
微指令的编码方式又称为微指令的控制方式,它是指如何对微指令的控制字段进行编码,以形成控制信号[微命令]。
-
直接编码方式(直接控制)
- 在微指令的操作控制字段中,每一位代表一个为操作命令
- 优点是简单直观执行速度快操作并行性好
- 缺点是onehot编码导致指令字长过长
-
字段直接编码方式
- 将微指令的控制字段分成若干段,每段经过译码发出控制信号
- 互斥性微命令放在同一段内,相容性微命令分在不同段内
- 每一小段中包含的信息位不能太多
- 每一个小段留出一个状态表示NULL,通常为
000
- 比直接编码慢
-
字段间接编码方式
- 一个字段的某些微命令需要由另一个字段的某些微命令来解释
- 优点是可以进一步缩短命令的字长
- 但也让微命令很难并行控制,因此一般是作为字段直接编码的辅助阶段
微地址形成方式
- 微指令的下地址字段指出:下地址字段直接指出后继微指令地址,又称为断定方式
- 根据机器指令的操作码形成:当机器指令取至指令寄存器后,微指令的地址由操作码经微地址形成部件形成
- 增量计数器法:
(CMAR) + 1 -> CMAR
- 分支转移 各种标志决定微指令分支转移的地址
- 通过测试网络
- 由硬件直接产生微程序入口地址【第一条地址以及中断周期】
小总结
微命令、微操作、微指令、微程序关系
微程序是一组微指令的集合;
控制部件通过控制线向执行部件发出各种控制命令,通常这种控制命令叫做微命令,是最小单位,组成微指令
执行部件响应微命令而出现的操作叫做微操作,例如: 加法指令的执行可分为:取指,计算地址,取操作数和加法运算四步,每一步都由一组微操作实现.这一组能同时执行的微操作就构成一条微指令
一条机器指令对应一个微程序