Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учб.-мтд. псб..doc
Скачиваний:
233
Добавлен:
22.03.2016
Размер:
3.6 Mб
Скачать

7.2.3. Функции устройств ввода/вывода

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

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

Рис. 7.5

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

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

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

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

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

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

Рис. 7.6

Параллельная передача данных является по своей организации наиболее простым способом обмена. В простом контроллере вывода (рис.7.6), обеспечивающем побайтную передачу данных на внешнее устройство (ВУ), в шине связи с ВУ используются всего два управляющих сигнала: «Выходные данные готовы» и «Данные приняты».

Для формирования управляющего сигнала «Выходные данные готовы» и приема из ВУ управляющего сигнала «Данные приняты» в контроллере используется одноразрядный адресуемый регистр состояния и управления А2 (обычно используются раздельные регистр состояния регистр управления). Одновременно с записью очередного байта данных с шины данных системного интерфейса в адресуемый регистр данных контроллера (в порт вывода А1), в регистр состояния и управления записывается логическая единица. Тем самым формируется управляющий сигнал «Выходные данные готовы» в шине связи с ВУ.

Приняв байт данных, ВУ управляющим сигналом «Данные приняты» обнуляет регистр состояния контроллера. При этом формируется управляющий сигнал в ЦП «Готовность ВУ», передаваемый в процессор по одной из линий шины данных системного интерфейса посредством стандартной операции ввода.