Команда остановки процессора выполняется до тех пор, пока не возникнет аппаратное прерывание. Когда процессор находится в стадии исполнения этой команды, он потребляет минимальное количество энергии и почти не выделяет тепла. В процессорах, совместимых с i386, эта команда на языке ассемблера записывается как HLT (от — остановка) и имеет опкод 0xF4Также MWAIT на последующих архитектурах.
Не стоит путать эту команду с командой NOP.
Принцип действия Почти каждый современный набор инструкций процессора включает в себя инструкцию ожидания, которая останавливает процессор до тех пор, пока не потребуется какая-либо работа. В процессорах с прерываниями эта инструкция останавливает работу CPU до тех пор, пока не будет получено внешнее прерывание. На большинстве архитектур выполнение такой команды позволяет процессору значительно сократить потребление энергии и тепловую мощность.
Использование в операционных системах Так как инструкция HLT относится к привилегированным, её может исполнить только программное обеспечение имеющее доступ к кольцу 0, например, ядро системы. Эта команда используется операционной системой во время бездействия.
См. также Spinlock#Проблемы_спинлоков_и_методы_их_решения
Примечания
Категория:Инструкции x86