Введенный в память ввод-вывод отображается в том же адресном пространстве, что и память программ и / или пользовательская память, и доступ к нему осуществляется аналогично.
Ввод-вывод с отображением портов использует отдельное выделенное адресное пространство и доступен через выделенный набор инструкций микропроцессора.
Поскольку 16-разрядные процессоры постепенно устаревают и заменяются на 32-разрядные и 64-разрядные в общем использовании, резервирование диапазонов адресного пространства памяти для ввода / вывода представляет меньшую проблему, поскольку адресное пространство памяти процессора обычно намного больше, чем требуется для всех устройств памяти и устройств ввода-вывода в системе.
Таким образом, стало все более практичным использовать преимущества ввода-вывода с отображением в памяти.
Недостатком этого метода является то, что вся адресная шина должна быть полностью декодирована для каждого устройства. Например, машине с 32-битной адресной шиной потребовались бы логические вентили для разрешения состояния всех 32 адресных линий, чтобы правильно декодировать конкретный адрес любого устройства. Это увеличивает стоимость добавления аппаратного обеспечения к машине.
Преимущество системы IO Mapped IO состоит в том, что для декодирования дискретного адреса требуется меньше логики и, следовательно, меньше затрат на добавление аппаратных устройств к машине. Однако могут потребоваться дополнительные инструкции.
Ссылка: - Проверить эту ссылку