Команда останова

Команда приостановки процессора выполняется до тех пор, пока не возникнет аппаратное прерывание. Когда процессор находится в стадии исполнения этой команды, он потребляет минимальное количество энергии и почти не выделяет тепла. В процессорах, совместимых с i386, эта команда на языке ассемблера записывается как HLT (от англ. halt — остановка) и имеет опкод 0xF4[1][2].

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

Принцип действия

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

Использование в операционных системах

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

См. также

Примечания

  1. Intel ® 64 and IA-32 Architectures Software Developer’s Manual С. 1003. Дата обращения: 31 июля 2017. Архивировано 9 июля 2017 года.
  2. Также MWAIT на последующих архитектурах