Прерывание

Материал из Machinepedia
Перейти к: навигация, поиск
IC DIP chips.JPG

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

В зависимости от источника возникновения сигнала прерывания делятся на:

  • программные — инициируются при помощи исполнения специальной инструкции в коде программы. Обычно программные прерывания используются для обращения к функциям операционной системы, драйверов и встроенного программного обеспечения (firmware).
  • синхронные (внутренние) — события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода: переполнение, деление на ноль, недопустимый код операции, обращение к недопустимым адресам;
  • асинхронные (внешние, аппаратные) — события, исходящие от внешних источников (к примеру, периферийных устройств) и могут произойти в любой произвольный момент: сигнал от сетевой карты, дискового накопителя, таймера, движение мыши, нажатие клавиш клавиатуры. Факт возникновения в системе такого прерывания трактуется как запрос на прерывание;

Термин «ловушка» иногда используется как синоним термина «прерывание» или «внутреннее прерывание». Как правило, словоупотребление устанавливается в документации производителя конкретной архитектуры процессора.

Маскирование

В зависимости от возможности запрета внешние прерывания делятся на:

  • маскируемые — прерывания, которые можно запрещать установкой соответствующих битов в регистре маскирования прерываний (в x86-процессорах — сбросом флага IF в регистре флагов);
  • немаскируемые — обрабатываются всегда, независимо от запретов на другие прерывания. К примеру, такое прерывание может быть вызвано сбоем в микросхеме памяти.

Обработчики прерываний обычно пишутся таким образом, чтобы время их обработки было как можно меньшим, поскольку во время их работы могут не обрабатываться другие прерывания, а если их будет много (особенно от одного источника), то они могут теряться.

Личные инструменты
Пространства имён

Варианты
Действия
Присоединиться сейчас к бесплатной торговой площадке №1 для промышленников в России machinebook
Навигация
Навигация
Рекламодателям
Инструменты
Яндекс.Метрика