将SLR和SLL指令实现到MIPS处理器中

时间:2015-04-07 14:33:22

标签: mips

给出MIPS处理器设计

design

我在考虑将sll和srl函数添加到处理器中。我似乎对如何检索要追加的零的数量有任何直觉(从指令的[10:6]动态地从给定的shamt移位)。

有谁可以给​​我一个关于此的开端?谢谢!

1 个答案:

答案 0 :(得分:0)

答案是延迟但我希望将来有人会觉得它有用。

正如您所提到的,shamt(移位量)字段中的位是5(10 - > 6)。因此,2 ** 5 = 32,它对应于可以向右/向左移位的位数。

示例:

  

假设我们执行 srl (右移逻辑)操作, shamt 字段中的值为 00010 (2 in   十进制)和我们想要移位的寄存器中的值是   的 00000000000000000000000000010100

     

该值变为2 00000000000000000000000000000101

另一个例子:

  

指令= srl(右移逻辑)
   Shamt field = 11110 (十进制30)注册值= 11110000000000000000000000000000 结果= 00000000000000000000000000000001

     

寄存器中的值向右移动30位   由shamt字段指示并变为1。

根据shamt字段中的值,您需要将N位移位需要向右或向左移位的寄存器;逻辑或算术。