Ввод вывод

Опубликовано в Архитектуры процессоров (истоки)

Ввод вывод. Проблемы организации ввода/вывода данных всегда занимали особое место в ряду проблем, решаемых разработчиками ЭВМ.

Разнообразие самих устройств и их функционального назначения (долговременное хранение информации, визуализация, получение твердых копий, и т.д.) с одной стороны, и существенное различие устройств по скорости выполнения операций с другой стороны, были существенным препятствием на пути создания универсального механизма управления вводом/выводом.

Ввод вывод

Кроме того, в устройствах ввода/вывода, как ни в каких других устройствах ЭВМ, возникает значительное количество особых ситуаций, связанных с готовностью устройства, готовностью носителя и т.д., которые специфичны для данного конкретного устройства и требуют, следовательно, специальной обработки.

Другой важной проблемой является синхронизация работы самих устройств, их контроллеров и устройства управления процессором.

Ввод вывод

Возникают вопросы и плане взаимодействия процессора и контроллеров устройств при запуске, выполнении и завершении операций.

Таким образом, можно выделить следующие проблемы, требующие решения в рамках архитектуры ввода/вывода:

1. общее управление;

2. запуск операции ввода/вывода;

3. идентификация и обработка особых ситуаций;

4. завершение операций ввода/вывода;

5. синхронизация;

6. подключение новых устройств.

Ввод и вывод информации

Основные архитектурные решения. Исторически первым архитектурным решением по организации вво-да/вывода была предложенная уже во втором поколении ЭВМ идея введение специализированных процессоров ввода/вывода (каналов), способных управлять различными по быстродействию внешними устройствами, что позволило освободить процессор для выполнения основной обработки.

Такое решение получило название ввод/вывод с канальной архитектурой.

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

Достаточно интересной является и архитектура, предусматривающая объединение в рамках сквозной адресации собственной памяти (буферов команд и буферов данных) устройств ввода/вывода — архитектура с общей памятью.

  Устройства ввода и вывода

Основная идея канальной архитектуры — наличие специального процессора ввода/вывода — канала. В этой архитектуре предусматривается наличие в оперативной памяти специальной программы канала, которую канал, после активации центральным процессором выбирает из ОП в собственный буфер, что показано на рисунке ниже.

Ввод вывод

Взаимодействие процессора и канала в канальной архитектуре

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

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

Обработка завершения операции ввода/вывода возлагается в канальной архитектуре на операционную систему.

К недостаткам данной архитектуры можно отнести необходимость особого канального программирования и синхронизации устройства управления процессором, нескольких каналов и специальных программ обработки особых ситуаций ввод/вывод в операционной системе — обработчиков канальных прерываний.

 Система ввода вывода

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

Эти магистрали получили название шины данных, шины адреса и шины управления, как это представлено ниже:

Ввод вывод

Архитектура с общей шиной

Единая система аппаратурных соединений значительно упростила структуру, сделав ее более децентрализованной.

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

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

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

 Модуль ввода вывода

Архитектура ввода/вывода с общей памятью. Стремление универсально выполнять операции доступа, как к внешним, так и к внутренним устройствам привела в рамках архитектуры процессора пересылок к идее объединения адресного пространства не только внутри процессора и оперативной памяти, но и на уровне буферов устройств ввода/вывода.

Ввод вывод

Архитектура ввода/вывода с общей памятью

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

0