CSR 位字段

RISC-V mhpmcounter30h CSR 寄存器详解

地址 0xB9E特权级 Machine 模式访问 读写 / RV32 高半 / 32 位Machine 计数器与性能监控 CSR

mhpmcounter30h(地址 0xB9E)是仅在 RV32 可用的 Machine 高半 CSR,读写 mhpmcounter30[63:32]。

位作用速览
bit 3 = 只有第 3 位;bits 12..11 = 第 12 到第 11 位
高位 MSB低位 LSB
字段映射

按 bit 字段理解 mhpmcounter30h

0 个关键字段
官方依据与检索要点

mhpmcounter30h 是 RV32 Machine 高半 CSR,用于读写 mhpmcounter30[63:32];它不是独立计数器。

该 CSR 仅在 RV32 上存在,访问父 mhpmcounter30 的位 63:32。
父计数器是最多 64 位精度的 WARL 计数器;事件和实现数量/宽度由平台定义。
合法实现可使父计数器及 mhpmevent30 均为只读零;mcountinhibit.HPM30 仅抑制递增。

读这个 CSR 时先看什么

  • - mhpmcounter30h 仅在 RV32 上作为 mhpmcounter30 的位 63:32 高半提供;RV64 没有该 CSR。
  • - 实现的计数器数量、宽度和事件集由平台定义。
  • - 合法实现可将 mhpmcounter30 和对应 mhpmevent30 均实现为只读零;mcountinhibit.HPM30 只控制父计数器是否递增,不改变可访问性。

写入前的风险检查

  • - 在 RV32 上写 mhpmcounter30h 只改变父 mhpmcounter30 的位 63:32;父计数器是 WARL,支持至多 64 位精度。

放回真实流程里理解

1

确认实现提供所需计数器。

2

在 RV32 上通过 mhpmcounter30h 访问 mhpmcounter30 的位 63:32。

3

用 mhpmevent30 的平台定义事件解释父计数器。

常见问题

mhpmcounter30h 可以在任意特权级访问吗?

不能。它是仅在 RV32 上存在的 Machine 模式 CSR。

mhpmcounter30h 是新的独立计数器吗?

不是。它只是 RV32 上 mhpmcounter30 的高 32 位访问 CSR。