logo search
ЗФ / Вопросы-Ответы (ВМСиС)

31. Программная модель контроллера ввода-вывода.

Передача информации с периферийного устройства в ядро ЭВМ называется операцией ввода, а передача из ядра ЭВМ в периферийное устройство - операцией вывода. Связь устройств ЭВМ друг с другом осуществляется с помощью средств сопряжения - интерфейсов. Интерфейс представляет собой совокупность линий и шин, сигналов, электронных схем и алгоритмов, предназначенную для осуществления обмена информацией между устройствами. От характеристик интерфейсов во многом зависят производительность и надежность вычислительной машины. При разработке систем ввода-вывода должны быть решены следующие проблемы:  1) Должна быть обеспечена возможность реализации машин с переменным составом оборудования. 2) Для эффективного использования оборудования ЭВМ должны реализовываться параллельная во времени работа процессора над программой и выполнение периферийными устройствами процедур ввода-вывода. 3) Необходимо стандартизировать программирование операций ввода-вывода для обеспечения их независимости от особенностей периферийного устройства. 4) Необходимо обеспечить автоматическое распознавание и реакцию ядра ЭВМ на многообразие ситуаций, возникающих в ПУ (готовность устройства, различные неисправности и т.п.).  В системах ввода-вывода ЭВМ используются два основных способа организации передачи данных между памятью и периферийными устройствами: программно-управляемая передача и прямой доступ к памяти. Программно-управляемая передача данных осуществляется при непосредственном участии и под управлением процессора, который при этом выполняет специальную подпрограмму процедуры ввода-вывода. Данные между памятью и периферийным устройством пересылаются через процессор. Операция ввода - вывода инициируется текущей командой программы или запросом прерывания от периферийного устройства. При этом процессор на все время выполнения операции ввода-вывода отвлекается от выполнения основной программы. Кроме того при пересылке блока данных процессору приходится для каждой единицы передаваемых данных выполнять несколько команд, чтобы обеспечить буферизацию, преобразование форматов данных, подсчет количества переданных данных, формирование адресов в памяти и т.п. Это сильно снижает скорость передачи данных (не выше 100 Кб/сек), что недопустимо при работе с высокоскоростными ПУ. Между тем потенциально возможная скорость обмена данными при вводе-выводе определяется пропускной способностью памяти. Для быстрого ввода-вывода блоков данных используется прямой доступ к памяти. Прямым доступом к памяти называется способ обмена данными, обеспечивающий независимую от процессора передачу данных между памятью и периферийным устройством.