Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КР ОС.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
89 Кб
Скачать
☆

Тема 2. Прерывания.

Задание №2. Основные этапы обработки прерывания на аппаратном уровне.

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

Обработка прерываний проходит в два этапа. Первый этап – аппаратный, он выполняется ЦП. Второй этап – программный, он выполняется ОС.

Аппаратный этап обработки прерываний.

На аппаратном этапе обработки прерываний процессором производятся следующие действия:

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

- завершение выполнения текущей команды;

- сохранение актуального состояния (некоторого подмножества регистров) процессора в аппаратный буфер;

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

Рассмотрим три модели организации прерываний:

- использование «регистра прерываний»;

- использование вектора прерываний;

- использование регистра «слово состояние процессора».

Использование «регистра прерываний».

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

Использование вектора прерываний.

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

Использование регистра «слово состояние процессора».

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