Скачиваний:
196
Добавлен:
14.06.2020
Размер:
3.2 Mб
Скачать
  1. Ввод сигнала по прерываниям. Принципы организации и логика работы.

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

https://www.nrjetix.com/fileadmin/doc/publications/Lectures/Lecture6-1.pdf

https://poisk-ru.ru/s57804t1.html

Принцип ввода-вывода по прерываниям от внешних устройств. Достоинства и недостатки.

Ввод-вывод по прерыванию от внешних устройств (ВУ) – такой способ обмена, при котором производится приостановка (для выполнения ввода/вывода) или прерывание выполняемой программы; причём обмен инициирует не программа, выполняемая процессором, а само внешнее устройство (ВУ)

  • при реализации этого способа обмена команды или инструкции обслуживания этого устройства оформляются в виде подпрограммы – подпрограммы обработки прерываний (ПОП)

  • процессор передаёт управление ПОП только в том случае, если ВУ, исходя из своих внутренних побуждений, само известит процессор о готовности к обмену, для этого он выставляет на соответствующую линию шины управления системного интерфейса сигнал «запрос на прерывание»

  • если при программо-управляемом обмене готовность ВУ определяется путём программного считывания содержимого регистра состояний контроллера ВУ, то появление запроса на прерывание появляется аппаратно

  • наличие сигнала готовности проверяется процессором автоматически при выполнении каждой команды – это существенно экономит время процессора, поскольку программный цикл ожидания отсутствует

Плюсы:

  • более рациональное использование ресурсов процессора;

  • универсальность

Минусы:

  • По сравнению с 1: сложнее программно и аппаратно

  • По сравнению с 3: скорость передачи данных значительно ниже

Логика работы (взаимодействие между фоновой программой, программой обработки прерываний и аппаратурой)

Рисунок 3 – принцип работы с прерыванием

Дополнительно:

Какие действия выполняются в компьютере при появлении сигнала на прерывание?

процессор завершает выполнение текущей команды

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

процессор сохраняет в (текущем) стеке содержимое счётчика команд (СК) и содержимое регистра состояний (РС)

процессор помещает в СК адрес подпрограммы обработки прерывания для данного устройства и приступает к её выполнению

в начале своей работы подпрограмма обработки прерывания должна сохранить в стеке содержимое регистров процессора и в конце работы она должна восстановить эти регистры из стека

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

Такой алгоритм обслуживания прерываний с использованием стека обеспечивает вложенность прерываний; вложенность означает, что любое ВУ может прервать уже выполняющуюся подпрограмму обработки прерываний, если оно имеет более высокий приоритет, чем обслуживаемое устройство

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

Устройство с высшим приоритетом обслуживается первым. Если обслуживание запрашивает устройство, приоритет которого не выше приоритета уже обслуживаемого устройства, то его запрос блокируется до завершения текущей ПОП.