Команда остановки процессора выполняется до тех пор, пока не возникнет аппаратное прерывание. Когда процессор находится в стадии исполнения этой команды, он потребляет минимальное количество энергии и почти не выделяет тепла. В процессорах, совместимых с i386, эта команда на языке ассемблера записывается как HLT (от  — остановка) и имеет опкод 0xF4Также MWAIT на последующих архитектурах.

Не стоит путать эту команду с командой NOP.

Принцип действия Почти каждый современный набор инструкций процессора включает в себя инструкцию ожидания, которая останавливает процессор до тех пор, пока не потребуется какая-либо работа. В процессорах с прерываниями эта инструкция останавливает работу CPU до тех пор, пока не будет получено внешнее прерывание. На большинстве архитектур выполнение такой команды позволяет процессору значительно сократить потребление энергии и тепловую мощность.

Использование в операционных системах Так как инструкция HLT относится к привилегированным, её может исполнить только программное обеспечение имеющее доступ к кольцу 0, например, ядро системы. Эта команда используется операционной системой во время бездействия.

См. также Spinlock#Проблемы_спинлоков_и_методы_их_решения

Примечания

Категория:Инструкции x86