此操作码的位数是多少?

时间:2016-12-30 17:14:14

标签: cpu-architecture

PC内存模块包含512k字。 Word有64位。二进制指令有四个段:间接位,操作码,寄存器代码部分,用于确定32个寄存器和地址部分之一。指令二进制代码存储在字存储器中。

  1. 操作码,寄存器代码和地址段需要多少位?
  2. 间接:1位

    Reg:5(2 ^ 5 = 32)

    地址:19(2 ^ 19 = 512k)

    操作码= 64 - 5 - 19 = 40位

    我认为我的答案是正确的,但实际上操作码不能有40位。 (这是一万亿条指令)。 40是正确的吗?

1 个答案:

答案 0 :(得分:0)

你的答案是正确的,除了你忘了减去间接位总共64 - 5 - 19 - 1 = 39.

并非所有39位都需要成为操作码的一部分 通常,操作码字段的位是根据未给出的操作码数计算的。

可以使用或保留这39位以供将来使用 例如,可以使用3位来指定每个字中的一个字节(从而扩展地址位) 另外19位可用于指定第二个地址等。