RISC-V 中的 Wait For Interrupt 指令 (wfi)
Note:
以下内容主要来自 RISC-V 特权手册相关部分
——→ 后一些个人注解,使得原文的含义更容易理解
希望对你有所帮助
wfi 详细内容
Wait for Interrupt(WFI)指令通知硬件可以暂停当前的 hart,直到有中断需要服务。[执行 WFI 指令也可以用于通知硬件平台,适当的中断应该优先路由到这个 hart]。WFI 在所有特权模式下都可用,并且可选地对 U-mode 可用。
——→ WFI 可以认为就是低功耗设计,让 hart 在等待的时候可以进入低功耗状态
当 mstatus 中的 TW=1 时,执行此指令可能会引发非法指令异常,具体描述见特权手册 3.1.6.6 节中关于 TW 位的描述。
——→ 这意味着高特权级有办法捕捉低特权级的 WFI 指令,比如 VM 的 wfi 可以被 Hypervisor 捕捉

如果一个已使能的中断存在,或者在 hart 被暂停时变为存在,下一条指令将会触发中断陷阱,即执行将从中断处理程序继续,且 mepc = pc + 4。
下一条指令会触发中断陷阱,以便从中断处理程序返回时,能够执行 WFI 指令之后的


1073

被折叠的 条评论
为什么被折叠?



