Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / docx53 / Меньшиков.docx
Скачиваний:
30
Добавлен:
01.08.2013
Размер:
488.01 Кб
Скачать

4.5. Система прерывания программ.

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

В функции СПП входит:

  • Формирования сигнала запроса на разрешенные прерывания в соответствии с приоритетами устройств (блокировка запрещенных прерываний осуществляется методом маскирования).

  • Сохранение текущих параметров системы, необходимых для возобновления выполнения прерванной программы, после завершения программы обработчика прерывания.

  • Восстановление сохраненных параметров и возобновление прерванной программы.

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

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

Последовательность действий при обработке прерываний:

  1. Распознавание запроса на прерывание.

  2. Запоминание состояния.

  3. Маскирование прерываний.

  4. Подтверждение прерывания.

  5. Вызов подпрограммы обработки прерывания.

  6. Восстановление и возврат.

Рис.7- Структурная схема системы прерываний

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

При выходе из прерывания МУУ формирует сигнал сброса прерывания. Этот сигнал сбрасывает триггер в нулевое состояние.

4.6. Система ввода\вывода.

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

Соседние файлы в папке docx53