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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Команда приостановки процессора выполняется до тех пор, пока не возникнет аппаратное прерывание. Когда процессор находится в стадии исполнения этой команды, он потребляет минимальное количество энергии, и, следовательно, почти что не выделяет тепла. В процессорах, совместимых с 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 на последующих архитектурах