Способы обмена информации.
Программный обмен
Участники: ЦП и ПУ;
Инициатор: ЦП;
Процессор проверяет готовности ПУ с помощью одной или нескольких команд. Если ПУ готово, то инициируются собственно ввод или вывод одного или нескольких слов данных. Когда же ПУ не готово, процессор выполняет цикл с повторной проверкой флага ПУ до тех пор, пока устройство не будет готово к операциям ВВ. Данный цикл называется циклом ожидания готовности ПУ и реализуется в различных процессорах по-разному.
Основной недостаток программного обмена связан с непроизводительными потерями времени процессора в циклах ожидания. К достоинствам следует отнести простоту его реализации, не требующей дополнительных аппаратных средств.
Обмен в режиме прерывания
Участники ЦП, ПУ и КПр;
Инициатор ПУ;
Переход к выполнению команд, осуществляется с помощью специальных аппаратных средств. Команды обмена данными в этом случае выделяют в отдельный программный модуль - подпрограмму обработки прерывания. Задачей аппаратных средств обработки прерывания в процессоре как раз и является приостановка выполнения основной программы и передача управления подпрограмме обработки прерывания. При обращении к подпрограмме они инициируются командой, а при обработке прерывания управляющим сигналом от ВУ, который называют "Запрос на прерывание".
Эта важная особенность обмена с прерыванием программы позволяет организовать обмен данными с ВУ в произвольные моменты времени, не зависящие от программы, выполняемой. Таким образом, появляется возможность обмена данными с ПУ в реальном масштабе времени. Обмен с прерыванием программы существенным образом экономит время процессора, затрачиваемое на обмен. Это происходит за счет того, что исчезает необходимость в организации программных циклов ожидания готовности ПУ, на выполнение которых тратится значительное время, особенно при обмене с медленными ПУ.
Прямой доступ к памяти
Одним из способов обмена данными с ВУ является обмен в режиме прямого доступа к памяти (ПДП). В этом режиме обмен данными между ВУ и основной памятью происходит без участия процессора. Обменом в режиме ПДП управляет не программа, выполняемая процессором, а электронные схемы, внешние по отношению к процессору. Обычно схемы, управляющие обменом в режиме ПДП, размещаются или в специальном контроллере, который называется контроллером прямого доступа к памяти, или в контроллере самого ВУ.
Управляющий сигнал "Требование прямого доступа к памяти" (ТПДП) формируется контроллером прямого доступа к памяти. Процессор, получив этот сигнал, приостанавливает выполнение очередной команды, не дожидаясь ее завершения, выдает на системный интерфейс управляющий сигнал "Предоставление прямого доступа к памяти" (ППДП) и отключается от шин системного интерфейса. С этого момента все шины системного интерфейса управляются контроллером ПДП. Контроллер ПДП, используя шины системного интерфейса, осуществляет обмен одним байтом или словом данных с памятью и затем, сняв сигнал ТПДП, возвращает управление системным интерфейсом процессору. В промежутках между сигналами ТПДП процессор продолжает выполнять команды программы. Тем самым выполнение программы замедляется, но в меньшей степени, чем при обмене в режиме прерываний.
