The Wait for Event (WFE) feature of the Arm v8-A architecture is a locking mechanism that puts the MPCore in a low-power state by disabling most of the clocks in the MPCore while keeping the MPCore powered up. Apart from the small dynamic power overhead on the logic used to enable the MPCore to wake up from the WFE low-power state, the power draw is reduced to only include the static leakage current variable.
A MPCore enters into a WFE low-power state by executing the WFE instruction. When executing the WFE instruction, the MPCore waits for all instructions in the MPCore to complete before entering the idle or low-power state.
If the event register is set, a WFE does not put the MPCore into a standby state, but the WFE clears the event register.
While the MPCore is in the WFE low-power state, the clocks in the MPCore are temporarily enabled (without causing the MPCore to exit the WFE low-power state), when any of the following events are detected.
•An L2 snoop request that must be serviced by the MPCore L1 data cache.
•A cache or TLB maintenance operation that must be serviced by the MPCore L1 instruction cache, data cache, or TLB.
•An APB access to the debug or trace registers residing in the MPCore power domain.