computer-science - 根据指令大小、操作码大小和操作数数量查找寄存器计数的最大数量

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

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

输入寄存器计数:

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

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

最佳答案

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

现在你做另一个。

关于computer-science - 根据指令大小、操作码大小和操作数数量查找寄存器计数的最大数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69200802/

相关文章:

unit-testing - 如何制作用于测试的扩展入口决策表

math - d-ary堆的运行时间?

computer-science - 图灵机与冯·诺依曼机

cpu-registers - 从 GNU/Linux shell 使用 devmem 读取 Armv8-A 寄存器

cpu-registers - 使用 CPU 寄存器进行临时数据存储比使用内存位置有什么优势?

javascript - 将 if 语句内的逻辑重构为最低限度

assembly - MESI 协议(protocol)是否足够,还是仍然需要内存屏障? (英特尔 CPU)

cpu-architecture - 微码术语 : are there names for different "styles" of microcode?

memory - DMA 与加载/存储单元

assembly - 在汇编程序中交换最高有效字节和最低有效字节