3.3.6.1.1. Machine Status Register (mstatus)
3.3.6.1.2. Machine Trap-Vector Base-Address Register (mtvec)
3.3.6.1.3. Machine Interrupt Register (mip and mie)
3.3.6.1.4. Machine Exception Program Counter Register (mepc)
3.3.6.1.5. Machine Cause Register (mcause)
3.3.6.1.6. Machine Trap Value Register (mtval)
4.3.1. General-Purpose Register File
4.3.2. Shadow Register
4.3.3. Arithmetic Logic Unit
4.3.4. Multipy and Divide Units
4.3.5. Floating-Point Unit
4.3.6. Custom Instruction
4.3.7. Instruction Cycles
4.3.8. Reset and Debug Signals
4.3.9. Control and Status Registers
4.3.10. Trap Controller (CLINT)
4.3.11. Trap Controller (CLIC)
4.3.12. Memory and I/O Organization
4.3.13. RISC-V based Debug Module
4.3.14. Error Correction Code (ECC)
4.3.15. Branch Prediction
4.3.16. Lockstep Module
4.3.10.1.1. Machine Status Register (mstatus)
4.3.10.1.2. Machine Trap-Vector Base-Address Register (mtvec)
4.3.10.1.3. Machine Interrupt Register (mip and mie)
4.3.10.1.4. Machine Exception Program Counter Register (mepc)
4.3.10.1.5. Machine Cause Register (mcause)
4.3.10.1.6. Machine Trap Value Register (mtval)
4.3.10.1.7. Machine Second Trap Value Register (mtval2)
4.3.11.1.3.1. Machine Trap-handler Vector Table base address Register (mtvt)
4.3.11.1.3.2. Machine Next Interrupt Handler Address and Interrupt Enable Register (mnxti)
4.3.11.1.3.3. Machine Interrupt Status Register (mintstatus)
4.3.11.1.3.4. Machine Interrupt-Level Threshold Register (mintthresh)
4.3.11.1.3.5. Machine Scratch Swap for Interrupt-Level Register (mscratchcswl)
3.3.5. Instruction Cycles
The tables below provides instruction cycles for all types of instructions.
Instructions | Category | Cycles | Pipeline Flush |
---|---|---|---|
BEQ, BNE, BLT, BGE, BLTU, BGEU | Branch Taken | 4 | Yes |
Branch Not Taken | 1 | - | |
LB, LH, LW, LBU, LHU | Load (With AXI-4/Avalon® -MM transfer) | More than 1 | - |
SB, SH, SW | Store (With AXI-4/Avalon® -MM transfer) | More than 1 | - |
ADD, SUB, ADDI | Arithmetic | 1 | - |
SLL, SLLI, SRA, SRAI, SRL, SRLI | Shift | 1 to 8 | - |
SLT, SLTU, SLTI, SLTIU | Compare | 1 | - |
AND, OR, XOR, ANDI, ORI, XORI | Logic Operation | 1 | - |
JAR, JALR | Jump | 4 | Yes |
ECALL, EBREAK | Environment Call and Breakpoint | 4 | Yes |
CSRRW, CSRRS, CSRRC, CSRRWI, CSRRSI, CSRRCI | Control and Status Register | 1 | - |
LUI, AUIPC, FENCE, FENCE.TSO, PAUSE | Others | 1 | - |
Instructions | Category | Cycles |
---|---|---|
BEQ, BNE, BLT, BGE, BLTU, BGEU | Branch Taken | 7 |
Branch Not Taken | 6 | |
LB, LH, LW, LBU, LHU | Load (With AXI-4/Avalon® -MM transfer) | More than 6 |
SB, SH, SW | Store (With AXI-4/Avalon® -MM transfer) | More than 6 |
ADD, SUB, ADDI | Arithmetic | 6 |
SLL, SLLI, SRA, SRAI, SRL, SRLI | Shift | 6 |
SLT, SLTU, SLTI, SLTIU | Compare | 6 |
AND, OR, XOR, ANDI, ORI, XORI | Logic Operation | 6 |
JAR, JALR | Jump | 6 |
ECALL, EBREAK | Environment Call and Breakpoint | 6 |
CSRRW, CSRRS, CSRRC, CSRRWI, CSRRSI, CSRRCI | Control and Status Register | 6 |
LUI, AUIPC, FENCE, FENCE.TSO, PAUSE | Others | 1 |