Power Management

What is the Arm WFI (Wait For Interrupt) instruction used for?

  1. ADisabling all interrupts to speed up processing
  2. BWaiting for a Wi-Fi signal to arrive
  3. CStopping the CPU in a low-power state while waiting for an interrupt when idle, resuming when one arrives
Show answer and explanation

Answer: C. Stopping the CPU in a low-power state while waiting for an interrupt when idle, resuming when one arrives

Waiting in an empty loop when idle keeps the CPU executing instructions and consuming power. Executing WFI puts the CPU into a low-power state, for example by stopping its clock, doing nothing until an interrupt arrives. It is used in OS idle loops and in microcontroller main loops waiting for the next interrupt. x86 has a similar HLT instruction.

  • A. It does not disable interrupts.
  • B. It has nothing to do with Wi-Fi.
  • C. Correct. It saves far more power than spinning in an empty loop.
Practice this topic Back to topic

More Power Management questions

  1. What is commonly used to wake a battery-powered device from sleep at a set time?
  2. If only the supply voltage is lowered by 10% (all else equal), by roughly what percentage does dynamic power fall?
  3. In the CMOS dynamic power formula P = αCV²f, what does α represent?
  4. What is the dynamic power of a circuit with activity factor α = 0.1, switched capacitance C = 1 nF, supply voltage V = 1 V and frequency f = 1 GHz?
  5. With the supply voltage unchanged, only the clock frequency is halved. What happens to the dynamic energy needed to finish a fixed amount of computation?