Синхронизация передачи данных при вводе/выводе
Специфика периферийных устройств заключается в том, что их схемы работают несинхронно с тактом работы процессора и, как правило, являются намного менее быстродействующими по сравнению с ПР и ОП.
RD контроллер по отношению к ПР является быстродействующим регистром, который способен производить прием/передачу данных наравне с внутренними регистрами ПР. С другой стороны, RD осуществляет прием/передачу данных от связанного с ним ПУ с той скоростью и в том порядке, которые обусловлены характеристиками данного ПУ.
Поэтому, моменты появления данных на RD контроллере ПУ при вводе, или готовность ПУ принять новые данные при выводе – непредсказуемы. Определение моментов готовности ПУ принять или передать новые данные и передача данных при условии наступления ожидаемых моментов составляют суть условных программных способов ввода/вывода.
В настоящее время известны два условных способа программного ввода/вывода:
· с проверкой готовности,
· с использованием системы прерывания.
В обоих способах синхронизация передачи данных осуществляется при помощи бита RDY("флага готовности") в специальном программно доступном регистре управления (RU) контроллера ПУ.
Рис.5.1. Передача данных с проверкой готовности
Работа RD с использованием бита RDY в процессе ввода или вывода характеризуется чередованием двух фаз:
1. передача данных между RD и ПУ (доступ ПР к RD при этом запрещен);
2. передача данных между RD и ПР (доступ ПУ к RD при этом запрещен).
Закончив свои операции по загрузке RD при вводе или чтению содержимого RD при выводе, ПУ устанавливает бит RDY в состояние 1 - "поднимает флаг готовности". Поднятие флага означает окончание фазы ПУ в работе RD и начало фазы ПР: поднятый флаг разрешает доступ к RD со стороны ПР и запрещает доступ со стороны ПУ.
ПР по окончании своего этапа обмена информацией с RD сбрасывает флаг в нулевое состояние. Сброс флага символизирует окончание фазы ПР и начало фазы ПУ.
Использование системы прерывания при организации ввода/вывода освобождает процессор от непрерывного опроса состояния флага готовности, дает возможность использования процессора в фоновой работе. В этом варианте готовность данных используется для формирования сигнала прерывания фоновой работы и передачи управления программе ввода/вывода с последующим возвратом к фоновой работе.
Рассмотренная процедура передачи данных через буфер (регистр РД) и синхронизации с помощью обоюдно управляемого и тестируемого флага составляет техническую основу всякой передачи данных между устройствами.
Вопросы для самопроверки:
1. Ввод/вывод с проверкой готовности.
2. Ввод/вывод с использованием системы прерывания.
Дата добавления: 2021-01-26; просмотров: 398;