请阅读【ARMv8/v9 ARM64 System Exception】
文章目录
WFI 与 WFE
ARMv8架构提供了几个与事件相关的指令,包括等待事件(WFE)、发送事件(SEV)和本地发送事件(SEVL),这些指令有助于减少因处理器元素(PE,Processor Element)反复尝试获取自旋锁(spin-lock)而导致的功耗和总线竞争。这些指令在应用层面上是可用的,但要完全理解它们的行为,需要系统级别的异常处理知识。下面详细介绍这三个指令的功能及其对系统性能优化的影响。
等待事件(WFE)
WFE指令使得一个处理器元素可以进入低功耗状态,直到发生以下情况之一:
- 发生了一个异常。
- 接收到一个事件信号。
- 如果存在外部中断,处理器也可能被唤醒,即使这个中断最终被处理器的状态所屏蔽。
WFE指令通常用于自旋锁等待循环中,允许处理器在等待锁释放的