
- •2.2.2. Асинхронный аппаратно-управляемый информационный обмен
- •Временная диаграмма асинхронного ввода информации
- •Временная диаграмма асинхронного вывода информации
- •Обработка векторных прерываний
- •Невекторные прерывания
- •1) Обслуживание всех ву по единой подпрограмме прерывания
- •2) Обслуживание ву по индивидуальным подпрограммам прерываний (принцип)
- •3.1.1 Асинхронный аппаратно-управляемый информационный обмен по прерыванию с использованием программного полинга
- •3.1.2 Асинхронный аппаратно-управляемый обмен по прерыванию с использованием схемного (аппаратного) полинга
- •3.1.3 Асинхронный аппаратно-управляемый информационный обмен с использованием схемного параллельного опроса источника прерывания
- •3.1.4 Асинхронный аппаратно управляемый обмен по прерыванию с использованием специализированных контроллеров прерываний
- •3.2 Асинхронный аппаратно-управляемый информационный обмен в режиме прямого доступа к памяти
2.2.2. Асинхронный аппаратно-управляемый информационный обмен
по инициативе МП с запросом и подтверждением готовности ВУ и данных
а) ввод (прием) информации: Структурная схема асинхронного ввода
б) вывод (передача) информации: Структурная схема асинхронного вывода
Информационный обмен осуществляется с учетом готовности внешнего устройства, т.е. МП, подходя к выполнению соответствующей процедуры (приема или передачи информации), предварительно запрашивает готовность ВУ (сигналом Q), после чего дожидается сигнала подтверждения готовности внешнего устройства (G) и только после этого производится собственно пересылка информации.
Временная диаграмма асинхронного ввода информации
При вводе информации: МП, получив от ВУ подтверждение готовности к информационному обмену (сигнал G=0), далее запрашивает от ВУ (сигналом Q=1) готовность самих данных. ВУ (по мере подготовки данных) вначале выдает их для МП, а затем сообщает об этом (своим сигналом G=1) микропроцессору. Только после этого МП считывает данные от ВУ. Далее сигналом Q=0 МП сообщает ВУ, что прием байта (или слова) информации состоялся, ВУ переводит свой сигнал G в исходное состояние (G=0) и снимает данные и до пересылки очередного байта (слова) шина данных может находиться в неопределенном состоянии.
Схема алгоритма
работы ВУ
Временная диаграмма асинхронного вывода информации
запрос гот. ВУ
При выводе информации: МП, получив от ВУ подтверждение готовности к информационному обмену (сигнал G=1), далее выдает для ВУ данные и сигналом Q=1 подтверждает их готовность. ВУ (по мере своей готовности) считывает данные от МП, а затем сообщает ему о получении информации своим сигналом G=0. Только после этого МП снимает данные для ВУ, предварительно предупредив его об этом сигналом Q=0. Далее до пересылки очередного байта (слова) шина данных может находиться в неопределенном состоянии.
Метод, таким образом, учитывает, реальное быстродействие ВУ, позволяет использовать в МПС ВУ с различным быстродействием и гарантирует достоверность передаваемой информации.
Примечание.
На практике могут применяться более простые или более сложные протоколы информационного обмена, по сравнению с рассмотренными, обычно асинхронный обмен осуществляют по типу «ведущий-ведомый» (т.е. одно устройство – МП – всегда инициирует обмен как рассмотрено выше); но применяется и обмен с использованием равноправных участников. В этом случае используют процедуры обработки прерывания или прямого доступа к магистралям с осуществлением соответствующего арбитража.
II. Информационный обмен по инициативе ВУ
3. Асинхронный аппаратно-управляемый информационный обмен
3.1. Асинхронный аппаратно-управляемый обмен по прерыванию
Общая идея обработки прерываний
МП выполняет основную (фоновую) программу, не заботясь о проверке состояния ВУ. ВУ по мере возникающей необходимости сами информируют МП о необходимости выполнения той или иной процедуры их обслуживания, формируя сигналы прерывания.
После получения от ВУ сигналов прерывания МП приостанавливает выполнение основной программы и переходит к выполнению соответствующих подпрограмм обработки прерываний.
Однако прерывание основной программы происходит в необязательном порядке. Разрешение прерывания санкционируются программистом в основной программе специальными «командами разрешения прерываний». В исходном состоянии (например, после включения напряжения питания или после подачи сигнала системного сброса) МП обычно не способен воспринимать и обрабатывать внешние прерывания (после получения очередного сигнала прерывания МП также обычно теряет способность последующего восприятия сигналов внешних прерываний). Это обеспечивает защиту тех или иных процедур основной программы от нежелательного прерывания (защитить те или иные участки основной программы от нежелательных прерываний программист может также специальными командами «запрещения прерываний»).
При переходе к подпрограмме прерывания МП первым делом выявляет источник прерывания и получает «вектор прерывания», т.е. конкретный адрес расположения подпрограммы обслуживания прерывания. При переходе к обработке прерывания вначале запоминается (обычно в стеке) «вектор состояния системы» на момент прерывания основной программы (который включает, в том числе адрес возврата в основную программу). Далее следует собственно подпрограмма обработки прерывания, в ходе которой программным путём должна быть разрешена обработка повторных прерываний, а в самом конце подпрограммы восстанавливается ранее зафиксированный вектор состояния системы, чем осуществляется возврат именно в ту точку основной программы, где она была прервана внешним прерыванием.
Пересылка (передача)
или определение вектора прерывания
Существуют прерывания: невекторные и векторные.