ПРОМЕЖУТОЧНЫЙ ИНТЕРФЕЙС
К процессору микроЭВМ обычно подключается достаточно много ПУ. Это клавиатура, индикаторы, печатающие устройства, накопители, различные датчики и исполнительные устройства систем управления и т.д. ПУ свойственны различное быстродействие, различный набор управляющих сигналов, различные электрические параметры, т.е. их внутренний интерфейс (интерфейс ПУ), как правило, не совместим с системным интерфейсом микроЭВМ. Для сопряжения микроЭВМ с ПУ приходится использовать промежуточный интерфейс, поддерживаемый с обеих сторон специальными адаптерами (ППУ), т.е. между системным интерфейсом микроЭВМ и внутренним интерфейсом ПУ вводится промежуточный интерфейс последовательной или параллельной передачи данных (рис. 7.3). В принципе, каждое ПУ может иметь свой промежуточный интерфейс. Однако для упрощения и унифицирования аппаратуры сопряжения целесообразно использовать единый стандартный промежуточный интерфейс. Используя один и тот же стандартный промежуточный интерфейс последовательной или параллельной передачи данных к микроЭВМ, можно подключать различные ПУ.
Разнообразие ПУ и, прежде всего, их различное быстродействие (например, клавиатура и НМД) не позволяют в реальных микроЭВМ использовать только один тип промежуточного стандартного интерфейса. Между тем каждый из используемых в реальных микроЭВМ стандартных промежуточных интерфейсов позволяет подключать достаточно большие группы ПУ.
При дальнейшем изложении материала под стандартными промежуточными интерфейсами будут пониматься только два типа интерфейсов, которые можно назвать классическими – это последовательный интерфейс RS-232C и параллельный интерфейс CENTRONICS. Адаптеры указанных интерфейсов серийно выпускаются в виде БИС программируемых ППУ и могут использоваться с различными микропроцессорными комплектами. Так, в первом отечественном микропроцессорном комплекте КР580 (прототипом является микропроцессорный комплект фирмы Intel I8080) присутствуют два типа программируемых ППУ – КР580ВВ51 (прототип I8251) и КР580ВВ55 (прототип I8255), являющиеся соответственно адаптерами последовательного и параллельного интерфейсов. (Более подробно принципы последовательной и параллельной передачи данных, а также указанные ППУ рассматриваются вп. 8).
Аналогичные ППУ присутствуют и в современных микропроцессорных комплектах. Например, ППУ UPD71051C и UPD71055 фирмы NEC или микросхемы серий 8211 и 8250/1645/16550 и их модификации фирмы Intel.
Наличие стандартного промежуточного интерфейса создает удобство в подключении различных ПУ к микроЭВМ. Однако этого недостаточно для ведения операций обмена с конкретным ПУ. Для каждого ПУ необходима специальная программа, которая, используя стандартный промежуточный интерфейс, будет вести обмен с конкретным ПУ. Такие программы называют драйверами устройств. Обычно они входят в состав операционной системы.
Таким образом, в системах ввода/вывода современных микроЭВМ можно выделить, как минимум два уровня сопряжения ПУ с процессором и памятью. На первом уровне ППУ сопрягаются с процессором и памятью через системный интерфейс микроЭВМ, который комплексирует отдельные устройства микроЭВМ в единую вычислительную систему. На втором уровне сопряжения ППУ микроЭВМ посредством шин связи соединяются с аналогичными ППУ соответствующих ПУ, т.е. реализуется стандартный последовательный или параллельный промежуточный интерфейс.
Современные ПУ являются, как правило, сложными функциональными устройствами, для управления которыми одних драйверов устройств оказывается недостаточно. Драйверы могут оказаться недопустимо громоздкими и требовать больших вычислительных затрат со стороны центрального процессора. Кроме того, оперативность управления только через драйвер для быстродействующих ПУ может оказаться недостаточной. В связи с этим в состав сложных ПУ всегда входят специальные устройства управления, называемые контроллеры ПУ.
Следует отметить, что понятие "контроллер ПУ" охватывает очень широкий круг устройств. Контроллеры современных ПУ, таких как видеосистемы, жесткие диски и т.п., представляют собой сложнейшие устройства, имеющие собственные процессоры и память, т.е. являются специализированными микроЭВМ с соответствующим программным обеспечением. В то же время контроллером ПУ может быть и достаточно простое устройство, состоящее из нескольких логических схем.
В ряде случаев контроллер ПУ может вообще отсутствовать. Тогда работой ПУ полностью управляет драйвер устройства, а сигналы, поступающие через промежуточный интерфейс, непосредственно воздействуют на узлы ПУ. Необходимо иметь в виду, что в функции контроллеров современных сложных ПУ входит не только организация операций обмена с ядром ЭВМ, но и управление функционированием ПУ в целом, например все действия, связанные с организацией системы физических записей на жестком диске.
При наличии контроллера, что характерно для большинства современных ПУ, управляющие сигналы и данные, переданные по промежуточному интерфейсу от микроЭВМ, первоначально поступают в контроллер ПУ и подвергаются соответствующей обработке. Это обстоятельство отражено на схеме включения промежуточного интерфейса (см. рис. 7.3), где адаптер промежуточного интерфейса является как бы частью контроллера ПУ. Передача данных и сигналов состояния от ПУ к микроЭВМ также происходит под управлением контроллера ПУ.
Подсистемы ввода/вывода больших ЭВМ имеют гораздо более сложную, многоуровневую иерархическую структуру интерфейсов, управляемую специализированными канальными процессорами. Подобные подсистемы обеспечивают обмен данными с множеством сложных устройств, таких как дисковые массивы, графические станции, серверы баз данных, другие ЭВМ, удаленные терминалы и т.п. Их описание выходит далеко за рамки настоящего раздела.
При дальнейшем изложении материала предполагается простейший случай двухуровневой системы сопряжения ПУ и ядра микроЭВМ с использованием одного стандартного промежуточного интерфейса.