RISC-V ISA Explorer · System
Zihpm: Perf Counters
Ratified 2023-03 · version 2.0.0
Up to 29 programmable event counters, hpmcounter3 through hpmcounter31, for profiling and performance tuning.
Typical use: Hardware performance monitors
Open Zihpm in the explorerDependencies
Requires
Instructions
No instruction encodings are listed for this extension in the catalogue.
Control and status registers (58)
| Name | Address | Mode | Description |
|---|---|---|---|
hpmcounter10 | 0xc0a | U | Unprivileged Hardware Performance Counter 10 |
hpmcounter10h | 0xc8a | U | Unprivileged Hardware Performance Counter 10, high half |
hpmcounter11 | 0xc0b | U | Unprivileged Hardware Performance Counter 11 |
hpmcounter11h | 0xc8b | U | Unprivileged Hardware Performance Counter 11, high half |
hpmcounter12 | 0xc0c | U | Unprivileged Hardware Performance Counter 12 |
hpmcounter12h | 0xc8c | U | Unprivileged Hardware Performance Counter 12, high half |
hpmcounter13 | 0xc0d | U | Unprivileged Hardware Performance Counter 13 |
hpmcounter13h | 0xc8d | U | Unprivileged Hardware Performance Counter 13, high half |
hpmcounter14 | 0xc0e | U | Unprivileged Hardware Performance Counter 14 |
hpmcounter14h | 0xc8e | U | Unprivileged Hardware Performance Counter 14, high half |
hpmcounter15 | 0xc0f | U | Unprivileged Hardware Performance Counter 15 |
hpmcounter15h | 0xc8f | U | Unprivileged Hardware Performance Counter 15, high half |
hpmcounter16 | 0xc10 | U | Unprivileged Hardware Performance Counter 16 |
hpmcounter16h | 0xc90 | U | Unprivileged Hardware Performance Counter 16, high half |
hpmcounter17 | 0xc11 | U | Unprivileged Hardware Performance Counter 17 |
hpmcounter17h | 0xc91 | U | Unprivileged Hardware Performance Counter 17, high half |
hpmcounter18 | 0xc12 | U | Unprivileged Hardware Performance Counter 18 |
hpmcounter18h | 0xc92 | U | Unprivileged Hardware Performance Counter 18, high half |
hpmcounter19 | 0xc13 | U | Unprivileged Hardware Performance Counter 19 |
hpmcounter19h | 0xc93 | U | Unprivileged Hardware Performance Counter 19, high half |
hpmcounter20 | 0xc14 | U | Unprivileged Hardware Performance Counter 20 |
hpmcounter20h | 0xc94 | U | Unprivileged Hardware Performance Counter 20, high half |
hpmcounter21 | 0xc15 | U | Unprivileged Hardware Performance Counter 21 |
hpmcounter21h | 0xc95 | U | Unprivileged Hardware Performance Counter 21, high half |
hpmcounter22 | 0xc16 | U | Unprivileged Hardware Performance Counter 22 |
hpmcounter22h | 0xc96 | U | Unprivileged Hardware Performance Counter 22, high half |
hpmcounter23 | 0xc17 | U | Unprivileged Hardware Performance Counter 23 |
hpmcounter23h | 0xc97 | U | Unprivileged Hardware Performance Counter 23, high half |
hpmcounter24 | 0xc18 | U | Unprivileged Hardware Performance Counter 24 |
hpmcounter24h | 0xc98 | U | Unprivileged Hardware Performance Counter 24, high half |
hpmcounter25 | 0xc19 | U | Unprivileged Hardware Performance Counter 25 |
hpmcounter25h | 0xc99 | U | Unprivileged Hardware Performance Counter 25, high half |
hpmcounter26 | 0xc1a | U | Unprivileged Hardware Performance Counter 26 |
hpmcounter26h | 0xc9a | U | Unprivileged Hardware Performance Counter 26, high half |
hpmcounter27 | 0xc1b | U | Unprivileged Hardware Performance Counter 27 |
hpmcounter27h | 0xc9b | U | Unprivileged Hardware Performance Counter 27, high half |
hpmcounter28 | 0xc1c | U | Unprivileged Hardware Performance Counter 28 |
hpmcounter28h | 0xc9c | U | Unprivileged Hardware Performance Counter 28, high half |
hpmcounter29 | 0xc1d | U | Unprivileged Hardware Performance Counter 29 |
hpmcounter29h | 0xc9d | U | Unprivileged Hardware Performance Counter 29, high half |
hpmcounter3 | 0xc03 | U | Unprivileged Hardware Performance Counter 3 |
hpmcounter30 | 0xc1e | U | Unprivileged Hardware Performance Counter 30 |
hpmcounter30h | 0xc9e | U | Unprivileged Hardware Performance Counter 30, high half |
hpmcounter31 | 0xc1f | U | Unprivileged Hardware Performance Counter 31 |
hpmcounter31h | 0xc9f | U | Unprivileged Hardware Performance Counter 31, high half |
hpmcounter3h | 0xc83 | U | Unprivileged Hardware Performance Counter 3, high half |
hpmcounter4 | 0xc04 | U | Unprivileged Hardware Performance Counter 4 |
hpmcounter4h | 0xc84 | U | Unprivileged Hardware Performance Counter 4, high half |
hpmcounter5 | 0xc05 | U | Unprivileged Hardware Performance Counter 5 |
hpmcounter5h | 0xc85 | U | Unprivileged Hardware Performance Counter 5, high half |
hpmcounter6 | 0xc06 | U | Unprivileged Hardware Performance Counter 6 |
hpmcounter6h | 0xc86 | U | Unprivileged Hardware Performance Counter 6, high half |
hpmcounter7 | 0xc07 | U | Unprivileged Hardware Performance Counter 7 |
hpmcounter7h | 0xc87 | U | Unprivileged Hardware Performance Counter 7, high half |
hpmcounter8 | 0xc08 | U | Unprivileged Hardware Performance Counter 8 |
hpmcounter8h | 0xc88 | U | Unprivileged Hardware Performance Counter 8, high half |
hpmcounter9 | 0xc09 | U | Unprivileged Hardware Performance Counter 9 |
hpmcounter9h | 0xc89 | U | Unprivileged Hardware Performance Counter 9, high half |