Skip to content

2012年 408 计算机组成原理 第 18 题

计算机组成原理2012年选择题2分

题目

某计算机的控制器采用微程序控制方式,微指令中的操作控制字段采用字段直接编码法,共有 33 个微命令,构成 5 个互斥类,分别包含 7、3、12、5 和 6 个微命令,则操作控制字段至少有( )。

错因

A

把"5 个互斥类"当成 5 个状态来编码—— 位(再粗暴加点变 5 位)。这是把"类的数量"和"类内微命令的数量"搞混了。字段直接编码法的精髓是"每个类对应一段位字段",而不是"用几位编码这 5 个类的索引"。

B

把题目当成最短编码法来做—— 位。最短编码法把所有 33 个微命令统一编号(含一个"空操作"),整段操作控制字段共用一段位串。

但题目明写"字段直接编码法"——必须按 5 个独立字段算位数再相加,不是合并成一段。

D

把题目当成直接控制法(也叫一码一位法)——给每个微命令分配独立的 1 位(1 = 发出该微命令,0 = 不发),所以 33 个微命令需要 33 位。

直接控制法实现简单(不需要译码器),但位数最多——和"字段直接编码法(少位数 + 加译码器)"刚好是两个极端。题目明确选了字段编码法,不该按直接控制法算。

总解析

核心公式:字段直接编码法每段位数

为什么要 +1?——每个类除了"发出某个微命令"的状态外,还要预留一个"该类不发出任何微命令"的状态(即全 0 编码),让微指令可以"只用某些类、其他类不动"。

逐类计算

类号类内微命令数+1字段位数
1783
2342
312134
4563
5673
总和3315

最终答案是 C(15 位)

三种编码法对比

方法思路位数(按本题)译码电路
直接控制法(一码一位)每个微命令独占 1 位33 位无需译码(最简单)
字段直接编码法互斥类分段,段内编码15 位(本题答案)每段加一个译码器
最短编码法所有微命令统一编号大译码器(最复杂)

判定要点

  1. 看到"互斥类" → 字段直接编码法的标志,每类独立算位数再相加
  2. +1 是预留"空操作"——别忘加,5 个类一起就少 5 倍空间
  3. 向上取整,所以是 4 位不是 3 位

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数