【问题标题】:Finding maximum number of register counts from instruction size, op-code size, and number of operands从指令大小、操作码大小和操作数数量中查找最大寄存器计数
【发布时间】:2021-11-10 23:54:58
【问题描述】:

我一直在努力思考如何获得答案。我想说我做了自己的研究,但要么我没有寻找正确的问题,要么我是盲人。有人可以解释一下找到答案的逻辑吗?我很茫然。

输入寄存器计数:

16 位指令,5 位操作码,2 个操作数的最大寄存器数

16 位指令,8 位操作码,2 个操作数的最大寄存器数

【问题讨论】:

    标签: computer-science cpu-architecture cpu-registers instruction-set


    【解决方案1】:

    这只是算术。总共 16 位,5 位用于操作码,剩下 11 位。将 11 除以 2 表明如果您需要两个操作数,每个操作数最多可以有 5 位来表示它,您将剩下 1 位用于其他操作.使用 5 位,您可以寻址 2^5=32 个寄存器。

    现在你做另一个。

    【讨论】:

    • 感谢您的快速回复,非常感谢。至于问题,是否是 2^4 = 16 个寄存器,因为我们将在操作码之后为两个操作数(每个 4 个)留下 8 位?使用更复杂的示例,“32 位指令,10 位操作码,具有 3 个操作数的最大寄存器计数”。算术是否如下:32 位 - 10 位操作码 = 22 位。 22 位/3 个操作数 = 每个操作数可以有 7 位,剩下 1 位。因此,我们可以寻址 2^7 = 128 个寄存器。
    • @MarkKobain:对,你明白了。真的只是数数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多