Visible to Intel only — GUID: mie1734402666646
Ixiasoft
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. Arithmetic Logic Unit
4.3.3. Multipy and Divide Units
4.3.4. Floating-Point Unit
4.3.5. Custom Instruction
4.3.6. Instruction Cycles
4.3.7. Reset and Debug Signals
4.3.8. Control and Status Registers
4.3.9. Trap Controller (CLINT)
4.3.10. Memory and I/O Organization
4.3.11. RISC-V based Debug Module
4.3.12. Error Correction Code (ECC)
4.3.13. Branch Prediction
4.3.14. Lockstep Module
4.3.9.1.1. Machine Status Register (mstatus)
4.3.9.1.2. Machine Trap-Vector Base-Address Register (mtvec)
4.3.9.1.3. Machine Interrupt Register (mip and mie)
4.3.9.1.4. Machine Exception Program Counter Register (mepc)
4.3.9.1.5. Machine Cause Register (mcause)
4.3.9.1.6. Machine Trap Value Register (mtval)
4.3.9.1.7. Machine Second Trap Value Register (mtval2)
Visible to Intel only — GUID: mie1734402666646
Ixiasoft
4.3.9.1.2. Machine Trap-Vector Base-Address Register (mtvec)
Bit Field | |||||||||||||||
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
Base[31:2] (WARL) | |||||||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Base[31:2] (WARL) | Mode |
- The BASE field must always be 4-byte boundary aligned.
- The MODE field determines the processor’s behaviour for asynchronous interrupts.
mtvec | MODE | Description |
---|---|---|
00 | Direct mode | All traps set pc to BASE << 2 |
01 | Vectored mode | All exceptions set pc to BASE << 2 All interrupts set pc to BASE << 2+4*cause |
10 | Reserved | - |
11 | Reserved | - |
When MODE=Direct (‘00’), all traps into M-mode cause the program counter to be set to the address in the BASE field.
When MODE=Vectored (‘01’), all synchronous exceptions cause the program counter to be set to the address in the BASE field, whilst asynchronous interrupts cause the program counter to be set to address in the BASE field plus four times the interrupt cause number.