-
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和mhpmcounterNh的只读影子。在RV32I上,timeh CSRs是memory-mapped mtime寄存器高32bits的只读影子,而