Команда останова
Команда приостановки процессора выполняется до тех пор, пока не возникнет аппаратное прерывание. Когда процессор находится в стадии исполнения этой команды, он потребляет минимальное количество энергии и почти не выделяет тепла. В процессорах, совместимых с i386, эта команда на языке ассемблера записывается как HLT (от англ. halt — остановка) и имеет опкод 0xF4[1][2].
Не стоит путать эту команду с командой NOP.
Принцип действия
Почти каждый современный набор инструкций процессора включает в себя инструкцию ожидания, которая останавливает процессор до тех пор, пока не потребуется какая-либо работа. В процессорах с прерываниями эта инструкция останавливает работу CPU до тех пор, пока не будет получено внешнее прерывание. На большинстве архитектур выполнение такой команды позволяет процессору значительно сократить потребление энергии и тепловую мощность.
Использование в операционных системах
Так как инструкция HLT относится к привилегированным, её может исполнить только программное обеспечение имеющее доступ к кольцу 0, например, ядро системы. Эта команда используется операционной системой во время бездействия.
См. также
Примечания
- ↑ Intel ® 64 and IA-32 Architectures Software Developer’s Manual С. 1003. Дата обращения: 31 июля 2017. Архивировано 9 июля 2017 года.
- ↑ Также MWAIT на последующих архитектурах