ГЛАВА
1
Общие сведения о стандартных интерфейсах
Существует три принципиально различающихся способа обмена
данными с внешними устройствами.
Первый способ это программно-управляемый обмен
(или режим обмена по готовности).
Программно-управляемый обмен данными это передача данных
по инициативе и под управлением программы, осуществляющей ввод/вывод.
Этот режим характеризуется пассивной ролью внешнего устройства (ВУ) в
процессе обмена информацией. Момент передачи данных определяется
выполняемой программой. Передача данных происходит лишь в те моменты
времени, когда встречается команда пересылки данных. Однако перед этим
программа, осуществляющая ввод/вывод, должна проверить готовность ВУ к
приему или передаче данных (обычно путем проверки бита готовности регистра
состояния).
Второй способ носит название обмена в режиме прерываний.
В этом случае активная роль в инициировании процесса обмена
отводится ВУ. Как только ВУ оказывается готово к передаче очередной порции
данных, оно посылает процессору сигнал "Запрос на прерывание", что приводит
к прерыванию выполняемой программы и передаче управления подпрограмме,
обслуживающей ВУ. После передачи данных управление передается в
прерванную программу. Такой режим позволяет, во-первых, обслуживать
одновременно несколько ВУ, а во-вторых, работать с устройствами,
запускающимися в неопределенные моменты времени. Отметим, что, хотя
инициирование процесса обмена принадлежит ВУ, сам обмен осуществляется
под управлением подпрограммы обработки прерываний, выполняемой
процессором.
Обмен данными по инициативе внешнего устройства также может выполняться
и в режиме прямого доступа к памяти (режим ПДП).
Обмен в режиме ПДП является самым быстрым способом
передачи данных между памятью и внешним устройством. Он не загружает
процессор и поэтому может выполняться в промежутках между циклами
обращения процессора к шине. При этом адресация и управление размерами
передаваемого массива данных осуществляется контроллером ПДП или самим
устройством, получившим прямой доступ к памяти.
Управление внешними устройствами, а также обмен
информацией осуществляется через регистры контроллера внешнего устройства.
Количество таких регистров может быть различным и зависит от сложности
конкретного устройства.
В качестве примера можно рассмотреть стандартный контроллер параллельного
принтера IBM-совместимого персонального компьютера, работающий в
режиме однонаправленного вывода по протоколу Centronics. Как достаточно
простое устройство, он содержит всего три программно-доступных регистра
регистр данных (РД), регистр состояния (РС) и регистр управления (команд) (РУ).
Присоединение
внешних устройств
к компьютеру типа IBM возможно:
1) через стандартные параллельный или последовательный (серийный) интерфейсы (порты),
2) через адаптер, непосредственно подсоединенный к системной шине ЭМВ через разъем (слот) на материнской плате.