Адресация собственно ВУ, когда на шину адреса интерфейса выставляется собственный адрес устройства, в современных компьютерах используется достаточно редко. Примером использования фактического адреса ВУ могут служить мэйнфреймы IBM/360 и их потомки. В современных компьютерах адресация ВУ осуществляется на уровне программно-доступных регистров, их контроллеров, которые называются портами ввода/вывода.
Т.к. адрес порта по логике мало отличается от адреса ячейки памяти, то возможны два подхода к использованию адресного пространства памяти и ввода/вывода:
1. Раздельные адресные пространства.
2. Единое адресное пространство.
При использовании раздельного адресного пространства для памяти и ввода/вывода некоторая часть адресов, как правило, младших, используется двояко и для адресации ячеек памяти и для адресации портов ввода/вывода.
Подобный способ адресации обязательно предполагает наличие в системе команд ЦП, специальных команд ввода/вывода, отличающихся от команд обмена с памятью.
Достоинством такого подхода принято считать возможность использования более короткого адреса порта по сравнению с адресом памяти.
Простейшим примером такого подхода могут служить процессоры фирмы Intel, у которых используется команда IN/OUT для обмена с портами ввода/вывода. При этом прямая адресация порта в двухбайтной команде позволяет адресовать с помощью байтного адреса 256 портов.
Использование единого адресного пространства существенно влияет как на систему команд процессора, так и на управление вводом/выводом.
Как правило, для адресации портов ввода/вывода выделяется некоторая область единого адресного пространства в старших адресах.
Подобная идея была впервые реализована в мини ЭВМ DEC (PDP-11).
Подобный способ хорошо вписывался в рамки компонентов с единым (магистральным) интерфейсом. Вследствие, использования единого адресного пространства в системе команд процессора, отсутствуют специальные команды ввода/вывода. Таким образом, обмен между памятью и портами ввода/вывода реализовывался по аналогии с обменом между процессором и памятью с использованием универсальной команды типа MOV.
Организация ввода/вывода с отображением портов ввода/вывода на память обладает следующими достоинствами:
Упрощение системы команд.
Возможность использования любых видов обработки реализуемых арифметическими и логическими командами применительно к содержимому портов ввода/вывода.
Недостатками использования единого адресного пространства является:
1. Усложнение управления кэшированием, связанное с необходимостью запрета кэшированием части адресного пространства, выделенного для портов ввода/вывода.
2. Сложность реализации этого способа для многошинной архитектуры компьютера.
Раздельное адресное пространство широко используется в компьютерах на базе процессора INTEL. Единое адресное пространство используется, например, в компьютерах на базе процессоров POWER PC и SPARC.