Загрузка...

Способы ввода/вывода


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

§ регистры команд, куда записываются коды действий, которые должен выполнить контроллер;

§ регистр состояния. Программа, читая содержимое этого регистра, определяет состояние контроллера и ПУ;

§ регистры дынных, через которые происходит обмен данными с ПУ.

Недостатки:

§ Неэффективное использование процессора, т.к. процессор занимается вводом-выводом и вынужден ожидать готовность ПУ.

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

§ Для каждого контроллера и ПУ необходима своя, отличная от других программа ввода-вывода.

Достоинства:

§ Требуется минимальный объем оборудования.

§ Простота КПУ.

§ Простота подключения различных типов ПУ.

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

Структурная схема ввода-вывода по прерываниям

Рис. 1. 63. Структурная схема ввода-вывода по прерываниям

Недостатки:

§ Усложняется КПУ.

§ Может быть использован этот ввод/вывод для реакции на достаточно редкие события.

§ Усложняется программа обработки прерывания, т.к. вынуждена реагировать и анализировать большое число событий ввода-вывода.

Достоинства:

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

§ Позволяет разделить процедуру ввода-вывода на относительно независимые части. Например: процесс обмена данными, процедура обработки событий от КПУ, инициализация и завершение ввода-вывода.

в) Ввод/вывод через прямой доступ к памяти. При традиционной реализации используются специальные процессоры, по пересылке данных, называемые каналами DMA.

В связи с развитием интегральной схемотехники КПУ иногда реализуются совместно с каналом прямого доступа и этот ресурс на интерфейсе называется активным.

1-й способ. Использование канала прямого доступа для организации ввода/вывода через DMA.

Структурная схема ввода-вывода через прямой доступ к памяти

Рис. 1. 64. Структурная схема ввода-вывода через прямой доступ к памяти

DRQ – запрос прямого доступа.

DACKответ канала DMA после захвата системного интерфейса контроллеру ПУ.

Контроллер DMA перед началом обмена программируется путём задания команды (чт/зап), задаётся начальный адрес ОП и длина пересылаемых данных. Получив команду на начало работы, канал ожидает прихода сигнала DRQ. Получив этот сигнал, канал захватывает, как активное устройство системный интерфейс выставляет текущий адрес ОП и выдаёт команду чтения или записи ОП. По готовности данных при чтении из ОП выдаётся сигнал DACK КПУ, который означает, что контроллер может выставить или считать данные с системного интерфейса. Получив сигнал DACK, КПУ считывает или записывает данные в соответствии с их назначением (задаётся при программировании КПУ перед вводом/выводом через DMA). Получив данные, устройство снимает сигнал DRQ и соответственно снимается сигнал DACK.

После завершения обмена канал DMA увеличивает адрес и уменьшает размер своих регистров и переходит в состояние ожидания следующего сигнала DRQ.

TC – окончание счёта. При передаче последней порции данных канал DMA формирует сигнал ТС, после получения которого устройство не выставляет сигнал DRQ, т.к. обмен не завершён. Если данные при пересылке исчерпаны контроллером ПУ, то для остановки процесса ввода/вывода через DMA устройство генерирует прерывание. Процедура обработки прерывания завершает ввод/вывод через DMA. Прерывание генерируется контроллером ПУ также и по завершению обмена по инициативе канала DMA (при получении сигнала ТС).

Достоинства:

§ значительно упрощается КПУ, т.к. оборудование DMA размещается как устройство на системно интерфейсе и используется многими устройствами;

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

Недостатки:

§ системный интерфейс должен содержать дополнительные сигналы;

§ если нет ни одного устройства, которое работает через DMA, множество каналов DMA как ресурсы на системном интерфейсе не используются.

2-й способ. Использование канала прямого доступа для организации ввода/вывода через DMA.

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

Рис. 1. 65. Подсистема ввода вывода

Загрузка...