Introducing PathProfiler – A Hardware Mechanism to Profile Dynamic Execution
summary
PathProfiler records uncompressed source and destination virtual addresses for taken and non‑sequential control transfers into a 32-entry circular buffer and tags each record with branch type, 16‑bit cycle counts and optional 16‑bit performance counters (instructions retired, loads, plus four more). Buffer freezing triggers include counter overflow, debug break or MMIO; a programmable timer adds jitter to sampling. Software reads samples via perf for AutoFDO/BOLT style layout and reports 5–10% gains; a call-stack mode records push/pop call sequences without frame pointers.
AI-written summary · about
chapters (8)
- 0:00Intro
- 1:37Path Profiler Records Taken Branches (red)
- 2:36Path Profiler is...
- 4:37SiFive Implementation
- 6:27Path Profiler - Recording Format
- 7:17Other ISA Implementations
- 9:20An RVIA Task Group Established to Standardize the Path Profiler Concept
- 10:23Conclusion
related talks
56mPath Tracing Three Ways: A Study of C++ Style
41mUsing Microarchitectural Design to Break KASLR and More
01h 05mMegahertz, Gigahertz, Registers and Instructions: How does a CPU actually work?
43mWhat Every Programmer Should Know about How CPUs Work
35mSQUIP or Why We Need to Study Processors Like Nature
15mCPU Utilization Counters for RISC-V
01h 28m“Spectre: Secrets, Side-Channels, Sandboxes, and Security”
19mHow NOT To Program an Out-of-order Vector Processor
