CY
WARL抑制 mcycle 计数;仅对已实现的计数器有意义。
这个字段控制什么
- - 抑制 mcycle 计数;仅对已实现的计数器有意义。
常见取值
mcycle 计数器未被该位抑制。
mcycle 计数器递增被抑制;仅对已实现计数器有意义。
mcountinhibit(地址 0x320)是计数器或硬件性能监控 CSR,用于读取、配置或控制事件计数。
抑制 mcycle 计数;仅对已实现的计数器有意义。
mcycle 计数器未被该位抑制。
mcycle 计数器递增被抑制;仅对已实现计数器有意义。
保留位;不存在 machine-level time 计数器。
这个字段更适合结合上下文字段解释,不用按固定枚举背诵。
抑制 minstret 计数;仅对已实现的计数器有意义。
minstret 计数器未被该位抑制。
minstret 计数器递增被抑制;仅对已实现计数器有意义。
抑制对应 mhpmcounter3..31 计数;仅对已实现的 HPM 计数器有意义。
对应 mhpmcounter3-31 计数器未被该位抑制。
对应 mhpmcounter3-31 计数器递增被抑制;仅对已实现计数器有意义。
mcountinhibit 是 Machine 计数器与性能监控 CSR 中的 读写 CSR,地址为 0x320。先确认当前特权级和扩展实现情况,再根据位字段判断该 CSR 影响的架构状态。
初始化或进入相关特权流程时,软件先读取 mcountinhibit 了解当前状态。
根据字段定义只修改目标位,保留其余位的原值。
修改后再次读取或通过后续 trap/中断/上下文切换行为验证配置是否生效。
不能只看 CSR 名称判断。官方 CSR 地址编码和表格给出最低访问特权级;mcountinhibit 当前记录为 Machine 模式,权限不足或未实现时访问会触发非法指令异常。
不要把整个 CSR 当普通整数覆盖。应只修改目标字段,保留未修改位,并按规范处理 WARL、WLRL、WPRI 或保留字段。