计组面试题—机器指令与微指令的区别是什么?

164 阅读4分钟

Author : Cyan_RA9
Source : 【卡码笔记】网站
Question : 机器周期与微指令的区别是什么?

【简要回答】

机器指令和微指令的概念

  • 机器指令:我们平时所说的“指令”即机器指令,机器指令是计算机硬件直接识别和执行的基本操作命令,通常以二进制编码形式存在。每条机器指令对应一个特定的操作,如加法、减法、数据移动等。
  • 微指令:微指令是控制CPU内部操作的底层指令,用于实现机器指令。每条机器指令通常由一系列微指令组成,微指令控制数据路径和功能单元的操作。

机器指令和微指令的区别

  • 如下表所示: image.png

【详细回答】

  • 机器指令
    由于机器语言直接由二进制代码构成,所以机器语言不需要经过翻译就可以被机器所理解,是计算机唯一能够识别的语言;而机器语言由一条条语句构成,每一条语句就是一条机器指令。机器的指令系统就是指一台计算机的所有机器指令的集合
    一条机器指令执行一个基本操作,如传送数据、加法运算,从这个角度来看,程序就是由一系列有序的指令构成的。所以说,高级语言要想在机器上执行,需要转换为机器语言程序。
  • 微指令
    对于CISC(Complex Instruction Set Computer),其控制器大多采用微程序控制。微程序的设计思想,是将指令系统中的每一条指令都编写成一段微程序,那么执行一条指令(即机器指令)的过程,就可转化为执行一段微程序的过程。每一段微程序都包含若干条微指令
  • 机器指令与微指令的关系
    每执行一条微指令,控制器都需要给出该微指令的全部微操作控制信号,将控制器向执行部件发出的各种控制信号(或者叫控制命令)称为微命令,每一条微指令中可能包含多个微命令,执行部件收到微命令后所执行的操作称为微操作,也就是说,微命令与微操作是一一对应的
    同时发出的一组微命令的集合就形成微指令(每条微指令对应的微命令并不相同),而共同完成一条机器指令的微指令的集合,就构成了微程序。

【知识拓展】

微指令的编码方式

  • 概述:微指令的编码方式是指如何对微指令的控制字段进行编码,以表示不同的微命令组合。
  • 常用的微指令编码方式
    1. 直接编码法:
      也叫直接控制法,在微指令的控制字段中,每一位代表一个微命令,无需进行微指令的译码。
      优点:简单,执行速度快,操作并行性好;
      缺点:微指令字较长,使得控制存储器(存放微程序的存储器)所占容量较大,n个微命令就要求微指令的操作字段有n位。
    2. 字段直接编码法:
      也叫显式编码或单重定义编码法,将控制信号划分成若干个字段,每个字段都是一组互斥的微命令,即每个字段中一个微周期内至多只有一个信号有效,达到“组内互斥,组间相容”的效果。字段直接编码法需要通过字段译码器对每组编码进行译码输出,并将输出的若干微命令的集合作为当前执行的微指令的操作控制信号。因此,对于需要并行发出的微命令,必须将其分配在不同的字段中。
      优点:缩短了微指令长度;
      缺点:在微指令寄存器的输出端,需要为该字段增加一个微指令译码器,该译码器的输出即为原来的微命令,注意——此处“原来的微命令”指的是在微指令控制字段中直接编码的、未经过译码的微命令信号。
    3. 字段间接编码法:
      在字段直接编码法的基础上,还规定一个字段的某些微命令,要兼由另一字段中的某些微命令来解释,这种编码方式称为“字段间接编码法”。
      优点:进一步减少了指令字长;
      缺点:削弱了微指令的并行控制能力,且译码线路复杂,时间开销大,现在基本被淘汰了,没啥计算机用的。