Устройства ввода и вывода взаимодействуют с аппаратным обеспечением компьютера через контроллер — специализированный блок управления, который есть у каждого устройства (диска, принтера, терминала и т. п.). 5
Контроллер взаимодействует с драйвером — системным программным модулем, предназначенным для управления данным устройством. 5 Контроллер периодически принимает от драйвера выводимую на устройство информацию, а также команды управления, которые говорят о том, что с этой информацией нужно сделать (например, вывести в виде текста в определённую область терминала или записать в определённый сектор диска). 5
Центральный процессор должен иметь возможность передавать информацию на устройство ввода-вывода и обратно. 3 Существует несколько подходов для связи между CPU и устройством: 3
- Специальная команда ввода-вывода. 3 При этом используются инструкции CPU, специально разработанные для управления устройствами ввода-вывода. 3 Эти инструкции позволяют отправлять данные на устройство ввода-вывода или считывать их с него. 3
- Ввод-вывод с привязкой к памяти. 3 Устройство подключается непосредственно к определённым местам основной памяти, чтобы устройство ввода-вывода могло передавать блок данных в/из памяти, не проходя через центральный процессор. 3
- Прямой доступ к памяти (DMA). 34 Процессор предоставляет модулю ввода-вывода полномочия на чтение из памяти или запись в память без его участия. 3 Модуль DMA сам управляет обменом данными между основной памятью и устройством ввода-вывода. 3 Центральный процессор участвует только в начале и конце передачи данных и прерывается только после передачи всего блока. 3