我正在尝试使用用户级指令实现一个简单的RISC-V 32位内核。
在尝试实现ISA时,我在列表中找到了一条指令(系统)。任何人都可以解释系统指令的工作(管道中会有哪些变化)。
答案 0 :(得分:5)
SYSTEM是一种所谓的主要操作码。一些主要的操作码是他们自己的指令(LUI,AUIPC,JAL,JALR),但是大多数主要操作码都是指令空间。 SYSTEM也是如此。在RV32I中,指令SCALL,SBREAK,RDCYCLE,RDCYCLEH,RDTIME,RDTIMEH,RDINSTRET,RDINSTRETH都使用主操作码SYSTEM进行编码(即指令字的位6:0为1110011)。
有关详细信息,请参阅The RISC-V Instruction Set Manual, Volume I: User-Level ISA, Version 2.0中第49页和第50页的表格和说明。