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