logo search
АрхВС

12) Набор инструкций. События - прерывания и исключения.

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

Исключения классифицируются как сбои (отказы), ловушки и аварийные завершения, в зависимости о том, как выдается сообщение о том, что они произошли, и от того, поддерживается ли возможность рестарта вызвавшей их команды. Сбой это исключение, сообщение о которой выдается на границе команды, предшествующей команде, вызвавшей это исключение.

представляют собой принудительную передачу управления задаче или процедуре. Такая задача или процедура называется обработчиком. Прерывания происходят в

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