logo search
стр 103-113

Связь компьютера с периферийным устройством

Частным случаем связи «точка-точка» является соединение компьютера и периферийного устройства. Для обмена данными компьютер и периферийное устройство оснащены внешними интерфейсами или портами.

Приложение

Адрес данных в ОП

Тип операции

Информация об устройстве

ОС

Драйвер

Команды процессора

порт

ПУ

Контроллер ПУ Устройство управления

порт

порт

Команды и данные

Интерфейс

Рис. 15.1 Связь компьютера с периферийным устройством

В данном случае к понятию интерфейс относятся:

Со стороны компьютера логикой передачи сигналов на внешний интерфейс управляют:

Со стороны ПУ интерфейс чаще всего реализуется аппаратным устройством управления ПУ, хотя встречаются и аппаратно-программные устройства.

Обмен данными между ПУ и компьютером является двунаправленным, таким образом по каналу связи передается следующая информация:

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

1. Приложение обращается с запросом на выполнение операции печа­ти к операционной системе. В запросе указываются: адрес данных в оперативной памяти, идентифицирующая информация принтера и операция, которую требуется выполнить.

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

  1. Драйвер по заданному адресу скачивает данные из ОП в свой буфер и затем передает команды и данные контроллеру, который помеща­ет их в свой внутренний буфер. Контроллер перемещает данные из внутреннего буфера во внешний порт.

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

  3. Устройство управления принтера, обнаружив на соответствующей линии стартовый бит, выполняет подготовительные действия и начинает принимать информационные биты, формируя из них байт в своем приемном буфере. Если передача сопровождается битом четности, то выполняется проверка корректности передачи: при правильно выполненной передаче в соответствующем регистре устройства управления принтера устанавливается признак завершения приема информации. Наконец, принятый байт обрабатывается принтером — выполняется соответствующая команда или печатается символ. Обязанности между драйвером и контроллером могут распределяться по-разному, но чаще всего контроллер поддерживает набор простых команд, служащих для управления периферийным устройством, а на драйвер обычно возлагаются наиболее сложные функции реализации об­мена. Например, контроллер принтера может поддерживать такие эле­ментарные команды, как "Печать символа", "Перевод строки", "Возврат каретки" и т. п. Драйвер же принтера с помощью этих команд реализует печать строк символов, разделение документа на страницы и другие более высокоуров­невые операции. Драйвер, задавая ту или иную последовательность команд, определяет тем самым логику ра­боты периферийного устройства.