In the x86 computer architecture, HLT
(halt) is an assembly language instruction which halts the central processing unit (CPU) until the next external interrupt is fired.[1] Interrupts are signals sent by hardware devices to the CPU alerting it that an event occurred to which it should react. For example, hardware timers send interrupts to the CPU at regular intervals.
Most operating systems execute a HLT
instruction when there is no immediate work to be done, putting the processor into an idle state. In Windows NT, for example, this instruction is run in the "System Idle Process". On x86 processors, the opcode of HLT
is 0xF4
.
On ARM processors, the similar instructions are WFI
(Wait For Interrupt) and WFE
(Wait For Event).