我有点不理解具体命令的实现。
在本例中,有一个传递给0x00c6ba23的命令,它是二进制文件中的0000 0000 1100 0110 1011 1010 0010 0011
我试图找到ALU控制单元的输入为这条指令。
从这个我可以看到
010001110100011 (不正确)01101011000000000我用这个图像来解码它

我的问题是如何获得此函数的ALU控制位和ALUOp控制位?为什么函数SD,即使funct 3显示的是011而不是111?
发布于 2018-12-19 06:54:50
..。为什么函数SD,即使funct 3显示的是011而不是111?
011是正确的。funct3位必须为011,这样才能成为SD指令。根据https://content.riscv.org/wp-content/uploads/2017/05/riscv-spec-v2.2.pdf第105页,SD指令的格式如下:
| imm[11:5] | rs2 | rs1 | 011 | imm[4:0] | 0100011 |如果funct3位为111,则此指令将不是SD。
..。如何获得此函数的ALU控制位和ALUOp控制位?
因为这是一条SD指令,所以您可以直接从图表中的下一张表格中的SD行中读取这些位数,这是您在问题中引用的。
https://stackoverflow.com/questions/53842488
复制相似问题