Как сказал Ктулху,
- отображены в карте памяти ввода/вывода позволяет записи/чтения к портам ввода/вывода устройства такой же, как чтение/запись к нормальной памяти (используя тот же машинный код/ASM)
но есть недостаток:
- вы использовать физическую адресное пространство памяти для памяти отображенного устройства ввода/вывода (думаю 32-битной Windows, не будучи в состоянии получить доступ ко всем 4G оперативной памяти на a)
Таким образом, преимущество использования метода ввода-вывода с отображением портов заключается в том, что у вас есть отдельное адресное пространство для ваших устройств ввода-вывода, и вы можете использовать весь диапазон адресов памяти для доступа к памяти.
EDIT: Вот более полный ответ на ваш вопрос: hardware ports to memory addresses
Лучше читать FAQ перед публикацией - http://stackoverflow.com/faq –
Преимущество порт ввода-вывода будет то, что вы не» t нужны специальные инструкции для записи на устройства. Это будет выглядеть как запись в память, но некоторые адреса будут сопоставляться определенным наборам устройств. Входы ввода-вывода с отображением портов используют другой класс инструкций. –
Наличие отдельной шины ввода-вывода довольно специфично для процессоров Intel. Это относится к ранним дням 8-разрядных процессоров. В тех случаях, когда конструкции автобусов были чрезвычайно простыми и необходимость в выборе отверстия в адресном пространстве 64 КБ была сложной. Эти соображения сейчас уже не применяются. –