从指令大小、操作码大小和操作数数量中查找最大寄存器计数
Finding maximum number of register counts from instruction size, op-code size, and number of operands
我一直在思考如何获得答案。我想说我做了自己的研究,但要么我没有在寻找正确的问题,要么我是盲人。有人可以解释找到答案背后的逻辑吗?我很茫然。
输入寄存器计数:
16 位指令,5 位操作码,2 个操作数的最大寄存器数
16 位指令,8 位操作码,2 个操作数的最大寄存器数
这只是算术。总共 16 位,5 位用于操作码,剩下 11。将 11 除以 2 表明如果您需要两个操作数,每个操作数最多可以有 5 位来表示它,您将剩下 1 位用于其他用途.使用 5 位,您可以寻址 2^5=32 个寄存器。
现在你做另一个。
我一直在思考如何获得答案。我想说我做了自己的研究,但要么我没有在寻找正确的问题,要么我是盲人。有人可以解释找到答案背后的逻辑吗?我很茫然。
输入寄存器计数:
16 位指令,5 位操作码,2 个操作数的最大寄存器数
16 位指令,8 位操作码,2 个操作数的最大寄存器数
这只是算术。总共 16 位,5 位用于操作码,剩下 11。将 11 除以 2 表明如果您需要两个操作数,每个操作数最多可以有 5 位来表示它,您将剩下 1 位用于其他用途.使用 5 位,您可以寻址 2^5=32 个寄存器。
现在你做另一个。