ВУЗ:
Составители:
42
Шаг 2. Запоминание состояния прерванного процесса вычислений.
Состояние процесса выполнения программы определяется, прежде все-
го, значением счетчика команд (адресом следующей команды), содер-
жимым регистров процессора, и может включать также спецификацию
режима (например, режим пользовательский или привилегированный) и
другую информацию.
Шаг 3. Управление аппаратно передается на подпрограмму обра-
ботки прерывания. В простейшем случае в счетчик команд заносится
начальный адрес подпрограммы обработки прерываний, а в соответ-
ствующие регистры – информация из слова состояния.
Шаг 4. Сохранение информации о прерванной программе, которую
не удалось спасти на шаге 2 с помощью аппаратуры. В некоторых про-
цессорах предусматривается запоминание довольно большого объема
информации о состоянии прерванных вычислений.
Шаг 5. Собственно выполнение программы, связанной с обработ-
кой прерывания. Эта работа может быть выполнена той же подпрограм-
мой, на которую было передано управление на шаге 3, но в ОС доста-
точно часто она реализуется путем последующего вызова соответству-
ющей подпрограммы.
Шаг 6. Восстановление информации, относящейся к прерванному
процессу (этап, обратный шагу 4).
Шаг 7. Возврат на прерванную программу.
Следует отметить, что шаги 1-3 реализуются аппаратно, а шаги 4-
7 – программно.
Главные функции механизма прерываний – это:
распознавание или классификация прерываний;
передача управления соответствующему обработчику прерыва-
ний;
корректное возвращение к прерванной программе.
На рис. 6 показано, что при возникновении запроса на прерывание
естественный ход вычислений нарушается и управление передается на
программу обработки возникшего прерывания (обработчик прерываний,
процедура обслуживания прерываний, англ. Interrupt Service Routine).
При этом средствами аппаратуры сохраняется (как правило, с помощью
механизмов стековой памяти) адрес той команды, с которой следует
продолжить выполнение прерванной программы.
Страницы
- « первая
- ‹ предыдущая
- …
- 40
- 41
- 42
- 43
- 44
- …
- следующая ›
- последняя »