Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы 2008-2009.doc
Скачиваний:
20
Добавлен:
17.09.2019
Размер:
4.36 Mб
Скачать

40. Механизм ввода-вывода по прерываниям

Со стороны ЦП:

  1. ЦП выдает команду ввода или вывода, а затем продолжает выполнять другую полезную работу.

  2. Когда ВУ готово к обмену данными, оно через МВВ извещает об этом процессор с помощью запроса на прерывание.

  3. ЦП осуществляет передачу очередного элемента данных, после чего возобновляет выполнение прерванной программы.

Ввод данных по прерыванию:

  1. ЦП выдает команду чтения, а затем продолжает выполнение других заданий.

  2. Получив команду, МВВ приступает к вводу элемента данных с ВУ.

  3. Когда считанное слово оказывается в регистре данных модуля, МВВ формирует на управляющей линии сигнал прерывания ЦП.

  4. Выставив запрос, МВВ помещает введенную информацию на шину данных, после чего он готов к следующей операции В/ВЫВ.

  5. ЦП в конце каждого цикла команды проверяет наличие запросов прерывания.

  6. Когда от МВВ приходит сигнал запроса, ЦП сохраняет контекст текущей программы и обрабатывает прерывание. (В рассматриваемом случае ЦП читает слово из модуля, записывает его в память, выдает модулю команду на считывание очередного слова.)

  7. ЦП восстанавливает контекст прерванной программы и возобновляет ее выполнение.

Свойства:

    1. (+) эффективнее программно управляемого В/ВЫВ, поскольку устраняет ненужные ожидания;

    2. (-) обработка прерывания занимает достаточно много времени ЦП;

    3. (-) каждое слово, пересылаемое из памяти в модуль В/ВЫВ или в противоположном направлении, как и при программно управляемом В/ВЫВ, проходит через ЦП.

41. Методы идентификации устройств, запрашивающих прерывание.

    • множественные линии прерывания (между ЦП и модулями ввода-вывода);

    • программная идентификация;

    • векторное прерывание.

Множественные линии прерывания

    • (+)наиболее простой подход;

    • (-)выделение слишком большого количества управляющих линий для этих целей нерационально;

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

Программная идентификация

  1. Обнаружив запрос прерывания, ЦП переходит к общей программе обработки прерывания.

  2. Задачей общего обработчика является опрос всех МВВ с целью определения источника запроса.

  3. Когда источник прерывания установлен, ЦП переходит к программе обработки прерывания, соответствующей этому источнику.

  • (-) большие временные потери.

Векторные прерывания

Получив подтверждение прерывания от процессора, выставившее запрос устройство выдает на ШД специальное слово – вектор прерывания. Вектор содержит либо адрес МВВ, либо какой-нибудь другой уникальный идентификатор, который ЦП интерпретирует как указатель на соответствующую программу обработки прерывания.

Свойства:

    • (+) наиболее эффективная процедура идентификации;

    • (+) не требует предварительных действий для определения источника запроса прерывания.

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