Effective Timekeeping in RISC-V Processors: Overview of mtime Design Approaches
summary
RISC-V’s 64-bit mtime is memory-mapped but can be implemented four practical ways: trap-emulate CSR accesses (used by Ibex and NewRISC32) which is simple but slow; a dedicated 64-bit wire for low-latency access which costs area; let CSR instructions issue loads/stores via the memory stage introducing potential stalls; or use a CSR-based mtime where mtime is a shadow of mcycle (as in Rocket Chip) to save area and speed accesses for single-clock deeply embedded cores.
AI-written summary · about
chapters (14)
- 0:00mtime in RISC-V
- 1:03What is mtime
- 4:13Memory-mapped mtime registers
- 6:46mtime access design approaches
- 8:52Emulating mtime via software
- 9:56Direct mtime signal routing
- 10:59CSR-to-bus mtime translation
- 12:28Pure CSR mtime design
- 13:56Shadow CSR for mtime
- 14:17mtime design trade-offs
- 14:38Q&A on RISC-V cores
- 17:06Hard real-time mtime design
- 18:51mtime optimizations and size
- 20:17CSRs vs memory-mapped mtime
related talks
17mSecuring High-performance RISC V-Processors from Time Speculation
25mRISC-V Zkt: Portable Timing Attack Resistance (via Dynamic Taint Analys...
20mArchitectural Extensions for a RISC V Processor for Embedded Security
18mTransparent Checkpointing for Fault Tolerance in RISC-V
27mControl Flow Integrity on RISC-V
08mLightning Talk: Timesecbench: A Work in Progress Benchmark Suite to Assess Timing...
21mUtilizing RISC-V Trace Standards for Efficient Bugfixing and Profiling
47mA Security RISC? The State of Microarchitectural Attacks on RISC-V
