COUNT
读写mhpmevent10 所选事件的 Machine HPM 计数值,是最高 64 位精度的 WARL 寄存器;合法实现可将它及对应 mhpmevent10 都实现为只读 0。
这个字段控制什么
- - mhpmevent10 所选事件的 Machine HPM 计数值,是最高 64 位精度的 WARL 寄存器;合法实现可将它及对应 mhpmevent10 都实现为只读 0。
常见取值
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
mhpmcounter10(地址 0xB0A)是 Machine 硬件性能监控计数器 10,以最高 64 位精度计数由 mhpmevent10 选择的事件。
mhpmevent10 所选事件的 Machine HPM 计数值,是最高 64 位精度的 WARL 寄存器;合法实现可将它及对应 mhpmevent10 都实现为只读 0。
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
mhpmcounter10 是第 3 个 Machine HPM 计数器。它不自行定义事件含义,而是以最高 64 位精度统计 mhpmevent10 当前选择的平台定义事件。
配置 mhpmevent10 选择要统计的平台定义事件。
必要时设置 mcountinhibit.HPM10 暂停 mhpmcounter10 递增。
读取 mhpmcounter10;在 RV32 上配合读取 mhpmcounter10h 获得最高 64 位精度的值。
不能直接从任意特权级访问 mhpmcounter10。CSR 表将它列为 Machine 读写 CSR。较低特权级访问对应的只读 hpmcounter10 视图时,S/U 模式受 mcounteren.HPM10 控制,U 模式还受 scounteren.HPM10 控制;未获许可的读取会触发非法指令异常。
mhpmcounter10 是 Machine 读写计数器;hpmcounter10 是对应的低特权级只读影子。S/U 模式读取受 mcounteren.HPM10 控制,U 模式还受 scounteren.HPM10 控制。