Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / doc100 / Пожаров.doc
Скачиваний:
25
Добавлен:
01.08.2013
Размер:
169 Кб
Скачать
    1. Система прерывания программ

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

ЦП

«Дейзи»-цепочка

ПУ1

ПУk

Рис.4

Способ формирования и передачи в ЦПУ вектора прерывания.

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

Принятый способ возврата из прерываний и его реализация.

Начало фронта подтверждения прерывания инициирует начало передачи вектора прерывания (через некоторое время задержки).Затем на устройстве линия подтверждения разрывается. Для того, чтобы

процессор знал, что на шине вектор,

Запрос прерывания сигнал подтверждения через канал шины

управления возвращается в процессор.

Подтверждение Идет запись и обработка вектора прерыва-

ния. По окончании обработки идет

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

Запоминание и восстановление состояния прерываемой программы.

По приходу сигнала запроса прерывания происходит запоминание текущей программы. Так как запоминание идет на макро уровне, то ожидается завершение текущей команды, затем сохраняются значения Регистров Общего Назначения (РОН)+регистр флагов +указатель текущей команды IP CS ( получается уже следующей команды).После прихода вектора выполняется соответственная программа обработки по завершении которой происходит восстановление состояния прерванной програмы. Так как текущая команда выполнена, то начинается выполнение следующей.

Управление приоритетами.

В случае, когда запрос на прерывание выставляют одновременно два и более устройств, необходимо решать порядок поступления векторов на процессор. Высшим приоритетом обладает ПУ1, затем ПУ2 и так далее до ПУk. Данная процедура обеспечивается тем, что ключ на линии подтверждения в устройстве при отправке вектора, размыкается и сигнал подтверждения прерывания не доходит до следующих(менее приоритетных) устройств.

В случае внутренних прерываний процессор выполняет соответственную процедуру.