RISC-V中的可访问非操作数寄存器的自定义指令?还访问内存吗?

时间:2019-04-02 18:55:38

标签: riscv gem5

我正在尝试使用来自此链接https://nitish2112.github.io/post/adding-instruction-riscv/的指令在RISC-V中创建自定义指令。但是我还没弄清楚如何访问操作数未指定的寄存器(不是rd,rs1,rs2)。我计划创建一个“ U”类型的指令(例如lui或auipc),其中20位立即数将携带一个与我要使用的寄存器相对应的立即数(我计划让立即数中的每一位都表明是否与该位对应的寄存器是操作数)。

我还对访问不仅仅是一个8字节的数据感兴趣。那就是我希望创建一条指令,其中指定的寄存器是n个8字节数组的基数。另外,我想知道是否有一种方法(使用一条指令)将多个8byte保存到堆栈中。

我正在尝试在gem5模拟器中实现这一点(在arch / riscv / decoder.isa文件中)。我知道如何在工具链中声明一条指令,但是在模拟器中定义它却很困难。

0 个答案:

没有答案