Skip to content

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

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

题目

某计算机采用微程序控制器,共有 32 条指令,公共的取指令微程序包含 2 条微指令,各指令对应的微程序平均由 4 条微指令组成,采用断定法(下地址字段法)确定下条微指令地址,则微指令中下地址字段的位数至少是( )。

错因

A

把"32 条机器指令"的位数()当成下地址字段的位数。核心混淆:下地址要寻址的是"控制存储器中的微指令",不是机器指令。机器指令数 ≠ 微指令总数。

B

知道要按微指令总数算,但漏掉了公共取指部分,或把"4 条/指令"折半估到 64 这一档。,但实际微指令数是 ,6 位不够。

D

多算了一份冗余。把"公共取指 2 条"误以为是"每条机器指令前都要拼 2 条",得 ,再向上取整加保险一档到 。实际上"公共"意味着所有机器指令共享这 2 条微指令,只算一次。

总解析

第一步:算微指令的总条数

控制存储器要装下所有微指令,下地址字段必须能寻址其中任意一条。

微程序条数
公共取指微程序2 条(共享,只算一次)
每条机器指令的微程序平均 4 条
机器指令数32 条

第二步:算下地址字段的最少位数

下地址字段必须能编码 0 ~ 129 共 130 个地址:

位数 够装 130 条吗?
664✗ 不够
7128✗ 不够(差 2 条)
8256✓ 够
9512✓(但不是"最少")

关键边界,所以 7 位不够——只差 2 条也不行;必须再升一位到 8 位。

最终答案是 C(8)

记忆要点

  • "公共"或"共享"的微程序只算一次,不要乘上机器指令条数
  • 微指令总数算出后,向上取整到 2 的下一个幂次的指数即为字段位数
  • 卡在 128 () 和 256 () 之间,差一点也得进位——这种"边界压线"的数字是命题人最爱的设置

两个相关概念区分

字段名寻址对象本题位数
操作码字段(机器指令里)机器指令类型
下地址字段(微指令里)控存中的微指令

A 选项就是把这两个层次混了。

最后更新:

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

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