Операции ввода-вывода осуществляют обмен данными между памятью и внешними устройствами.
Внешние устройства могут подключаться к локальной магистрали в одной точке или множестве точек, называемых портов ввода-вывода. Порты ввода-вывода можно отобразить в адресное пространство ввода-вывода. При этом каждый порт ввода-вывода получает свой номер или адрес в этом пространстве. Если адресное пространство памяти задействовано не полностью (остались адреса, которым не соответствуют физические ячейки памяти) и протоколы работы с внешним устройством совместимы с протоколами работы с памятью, то часть портов ввода -вывода может быть отображена непосредственно в адресное пространство памяти.
Использование того или иного адресного пространства определяется типом команды, выполняемой процессором, или типом ее операндов.
В адресном пространстве ввода-вывода процесс вывода информации инициируется специальными командами, осуществляющими следующие действия.
Физическим управлением устройством ввода-вывода, передачей информации через порт и выставлением некоторых сигналов на магистрали занимается контроллер устройства. Контроллер может непосредственно управлять отдельным устройством (например, контроллер диска), а может управлять несколькими устройствами, связываясь с их контроллерами посредством специальных шин ввода-вывода (шина IDE, шина SCSI и т. д.).
Единообразие действий при обмене с внешними устройствами позволяет добавлять новые устройства без перепроектирования всей системы.