CSR 位字段
RISC-V hpmcounter25h CSR 寄存器详解
地址 0xC99特权级 U模式访问 只读 / RV32 高半/32 位用户级计数器与性能监控 CSR
hpmcounter25h 是 Zihpm 定义的用户级只读 CSR,仅在 XLEN=32 时存在;它读取 hpmcounter25 的位 63:32。Zihpm 依赖 Zicsr,已实现计数器的数量、宽度和计数事件由平台定义。
字段映射
按 bit 字段理解 hpmcounter25h
0 个关键字段
读这个 CSR 时先看什么
- - hpmcounter25h 仅在 XLEN=32 时存在;在 XLEN>32 上访问高半 CSR 会触发非法指令异常。
- - Zihpm 提供最多 29 个附加性能计数器;已实现计数器的数量、宽度和事件由平台定义。访问未实现计数器可能触发非法指令异常,也可能返回常量值。
- - 在实现 S 模式的特权架构中,U 模式读取需 mcounteren 和 scounteren 的 HPM25 位均置位;若未实现 S 模式,则由 mcounteren 控制到 U 模式的访问。V=1 时访问还受 mcounteren 和 hcounteren 控制;VU 模式还需 scounteren,对应 mcounteren 位已置位而 hcounteren 位清零时会触发虚拟指令异常。
写入前的风险检查
- - hpmcounter25h 是只读 CSR;写入只读 CSR 会触发非法指令异常。
放回真实流程里理解
1
仅在 RV32 上读取 hpmcounter25h。
2
与 hpmcounter25 的低 32 位读取配合使用。
3
结合平台定义的计数器实现、事件配置和访问控制解释结果。