До сих пор мы рассматривали операции компьютера, управляемые процессором, основное внимание обращая на взаимодействие процессора и памяти. О роли компонентов ввода-вывода было упомянуто лишь вскользь.
Процессор может не только читать данные из памяти и записывать их туда, обращаясь по адресу к определенной ячейке, но также читать и записывать данные в устройство ввода-вывода. Таким образом устройство ввода-вывода (например, контроллер диска) обменивается данными с процессором. При этом процессор должен идентифицировать устройство, которое будет управляться определенным устройством ввода-вывода. Из команд ввода-вывода можно сформировать такие же последовательности, как показанные на рис. 1.4 последовательности команд обращения к памяти*
Иногда желательно, чтобы обмен данными с памятью выполнялся непосредственно устройством ввода-вывода, а процессор в это время выполнял другие задания. В этом случае процессор передает устройству ввода-вывода полномочия для чтения из памяти и записи в память, что позволяет освободить процессор. Во время такой передачи данных устройство ввода-вывода читает или записывает команды в память, принимая на себя ответственность за этот обмен. Такой режим, известный под названием прямого доступа к памяти (direct memory access — DMA), рассматривается в следующих разделах этой главы.
Во всех компьютерах предусмотрен механизм, с помощью которого различные устройства (ввода-вывода, памяти) могут прервать нормальную работу процессора. Основные общепринятые классы прерываний перечислены в табл. 1.1.