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

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

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

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

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

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

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

См. также

Примечания

  1. Intel ® 64 and IA-32 Architectures Software Developer’s Manual С. 1003.
  2. Также MWAIT на последующих архитектурах
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.