【问题标题】:MIPS – 5 bits to represent registers?MIPS – 5 位来表示寄存器?
【发布时间】:2019-04-20 22:42:58
【问题描述】:

在 MIPS 中,寄存器的操作码是 5 位长。

我读到每个寄存器都是32位长的,那为什么指令格式中只用5个来表示它们的操作码呢?

【问题讨论】:

    标签: mips computer-science cpu-architecture machine-code


    【解决方案1】:

    http://www.cs.uwm.edu/classes/cs315/Bacon/Lecture/HTML/ch05s03.html

    “比如MIPS处理器有32个通用寄存器,所以需要5位来指定使用哪一个。相比之下,MIPS有4GB的内存容量,所以需要32位来指定使用哪一个内存要使用的单元格。具有 3 个操作数的指令如果都是寄存器则需要 15 位,如果都是内存地址则需要 96 位。"

    以 2 为基数计算所有事物。

    【讨论】:

      【解决方案2】:

      您可以仅用 32 位寻址多达 4GiB 的 RAM,对吧?这是因为2^32 为您提供4'294'967'296,这是您可以访问的独立“单元格”的数量。这些“单元”中的每一个都是 8 位(一个字节)。

      寄存器也会发生同样的事情,除了每个“单元”是 32 位而不是 8 位。使用 5 位寻址寄存器,您可以获得2^5 = 32 个可能的单元 - 即 32 个可能的 32 位寄存器。

      寄存器的容量与寻址一定数量的寄存器所需的位数无关。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多