8.6 自制操作系统: risc-v Machine寄存器mcounteren/mcountinhibit

本文详细介绍了RISC-V架构中的两个重要寄存器——mcounteren和mcountinhibit。mcounteren寄存器用于控制不同特权模式下硬件性能监视计数器的访问权限,而mcountinhibit寄存器则用来抑制这些计数器的增长。这两个寄存器对于操作系统开发者理解和优化性能至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • mcounteren

全称:机器计数器使能寄存器( Machine Counter-Enable Register)

counter-enable寄存器mcounteren 是一个32-bit的寄存器,控制硬件性能监视器couters作用域下一个最低特权模式。

此寄存器仅控制可访问性。读取或写入这个寄存器的行为不会影响底层计数器,即使在不可访问时,这些计数器也会继续增加。

当清除mcounteren寄存器中的CY、TM、IR或HPMn位时,当以s模式或u模式执行时,试图读取周期、时间、instret或hpmcountern寄存器将导致非法的指令异常。当设置了这些位中的一个,就允许在下一个实现的特权模式中访问相应的寄存器(如果实现了s模式,否则采用u模式)。

cycle,instret和hpmcounterN CSRs是只读的,分别是mcycle、minstret和mhpmcounterN的影子。time CSR 是只读的,是memory-mapped mtime寄存器的影子。类似的,在RV32I中,cycleh、instreth和hpmcounterNh CSRs分别是mcycleh、minstreth和mhpmcounter

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

byd yes

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值