logo search
ГОСЫ / ГОСБилеты

1. Понятия прерывания. Виды прерываний. Механизмы прерываний.

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

Прерывания, возникающие при работе вычислительной системы, можно разделить на два основных класса:

- внешние (асинхронные);

- внутренние (синхронные).

Внешние прерывания вызываются асинхронными событиями, которые происходят вне прерываемого процесса, например:

- прерывания от таймера;

- прерывания от внешнего устройства (прерывания по вводу/выводу);

- прерывания по нарушению питания;

- прерывания с пульта оператора вычислительной системы;

- прерывания от другого процессора или другой вычислительной системы.

Внутренние прерывания вызываются событиями, которые связаны с работой процессора и являются синхронными с его операциями, например:

- нарушение адресации;

- наличие в поле адреса несуществующей инструкции;

- деление на нуль;

- переполнение или исчезновение порядка;

- ошибка четности;

- ошибка в работе различных аппаратных устройств.

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

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

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

Механизм обработки прерываний включает следующие шаги:

1) установление факта прерывания и его идентификация;

2) запоминание состояния прерванного процесса (счетчика команд, содержимого регистров процессора, спецификации режима и др.);

3) аппаратная передача управления подпрограмме обработки прерываний;

4) сохранение информации о прерванной программе, которую не удалось сохранить на шаге 2 с помощью действий аппаратуры, иногда большого объема информации;

5) обработка прерываний;

6) восстановление информации, относящейся к прерванному процессу;

7) возврат в прерванную программу.

Шаги 1 – 3 реализуются аппаратно, а шаги 4 –7 программно.

Главные функции механизма прерываний:

- распознавание или классификация прерываний;

- передача управления на обработку прерываний;

- корректное возвращение к прерванной программе.