计算机组成原理——微指令和微地址

3,531 阅读3分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

本文同时参与「掘力星计划」,赢取创作大礼包,挑战创作激励金。

关于微指令和微地址以及微命令微操作等概念,很多人容易混淆,本文主要介绍微指令和微地址的概念,并简单区分下微命令、微操作、微指令、微程序的关系

微指令的编码方式

  • 水平型微指令:微程序短、执行速度快;微指令长,编写程序麻烦
  • 垂直型微指令:微指令短,便于编写程序;微程序长,执行速度慢
  • 混合型微指令:垂直型的基础上增加一些不太复杂的并行操作

微指令的编码方式又称为微指令的控制方式,它是指如何对微指令的控制字段进行编码,以形成控制信号[微命令]

  • 直接编码方式(直接控制)

    • 在微指令的操作控制字段中,每一位代表一个为操作命令
    • image.png
    • 优点是简单直观执行速度快操作并行性好
    • 缺点是onehot编码导致指令字长过长
  • 字段直接编码方式

    • 将微指令的控制字段分成若干段,每段经过译码发出控制信号
    • 互斥性微命令放在同一段内,相容性微命令分在不同段内
    • 每一小段中包含的信息位不能太多
    • 每一个小段留出一个状态表示NULL,通常为000
    • 比直接编码慢
  • 字段间接编码方式

    • 一个字段的某些微命令需要由另一个字段的某些微命令来解释
    • 优点是可以进一步缩短命令的字长
    • 但也让微命令很难并行控制,因此一般是作为字段直接编码的辅助阶段

微地址形成方式

  • 微指令的下地址字段指出:下地址字段直接指出后继微指令地址,又称为断定方式
  • 根据机器指令的操作码形成:当机器指令取至指令寄存器后,微指令的地址由操作码经微地址形成部件形成
  • 增量计数器法:(CMAR) + 1 -> CMAR
  • 分支转移 各种标志决定微指令分支转移的地址
  • 通过测试网络
  • 由硬件直接产生微程序入口地址【第一条地址以及中断周期】

小总结

微命令、微操作、微指令、微程序关系

微程序是一组微指令的集合;

控制部件通过控制线向执行部件发出各种控制命令,通常这种控制命令叫做微命令,是最小单位,组成微指令

执行部件响应微命令而出现的操作叫做微操作,例如: 加法指令的执行可分为:取指,计算地址,取操作数和加法运算四步,每一步都由一组微操作实现.这一组能同时执行的微操作就构成一条微指令

一条机器指令对应一个微程序