Процессор i486 позволяет адресовать порты ввода/вывода одним из следующих способов:
- Через отдельное адресное пространство ввода/вывода, доступ к которому выполняется посредством команд ввода/вывода.
- Через ввод/вывод, управляемый памятью, где порты ввода/вывода представлены в адресном пространстве физической памяти.
Использование отдельного адресного пространства ввода/вывода поддерживается специальными командами и механизмом аппаратной поддержки. При использовании пространства ввода/вывода, отображенного на памятью, для доступа к портам ввода/вывода используется обычный набор команд общего назначения, а защита осуществляется при помощи механизма сегментации или подкачки страниц. Некоторые разработчики систем могут предпочесть использовать средства ввода /вывода, встроенные в процессор, тогда как другим больше подходит простота единого физического адресного пространства.
Если для защиты адресного пространства ввода/вывода используется сегментация или подкачка страниц, то поля AVL в дескрипторах сегментов или элементах страничной таблицы позволяют пометить страницы, содержащие ввод/вывод, как непереместимые и не подлежащие подкачке. Поля AVL предназначены для такого рода использования, когда системному программисту требуется расширить механизмы трансляции адреса и защиты.
Разработчики аппаратного обеспечения используют эти способы отображения портов ввода/вывода в адресном пространстве при разработке схем декодирования адресов в системе. Порты ввода/вывода могут быть отображены в памяти таким образом, чтобы находиться либо в адресном пространстве ввода/вывода, либо в адресном пространстве физической памяти (или и там, и там). Системным программистам может понадобиться обсудить с разработчиками аппаратного обеспечения предпочтительный для них тип адресации ввода/вывода.