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

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая IEPCBM (обсуждение | вклад) в 19:35, 23 августа 2021 (пунктуация). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

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

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

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

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

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

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

См. также

Примечания

  1. Intel ® 64 and IA-32 Architectures Software Developer’s Manual С. 1003.
  2. Также MWAIT на последующих архитектурах