2013-03-12 2 views
6

Память ввода/вывода с памятью - это метод, позволяющий использовать центральную память (ОЗУ) для связи с периферийными устройствами. Порт-порт ввода-вывода использует порты (со специальными инструкциями по сборке) для обмена данными по цифровым портам.Сопоставленные карты ввода/вывода и сопоставленные порты ввода/вывода

Каковы преимущества одного метода в отношении другого?

+2

Лучше читать FAQ перед публикацией - http://stackoverflow.com/faq –

+1

Преимущество порт ввода-вывода будет то, что вы не» t нужны специальные инструкции для записи на устройства. Это будет выглядеть как запись в память, но некоторые адреса будут сопоставляться определенным наборам устройств. Входы ввода-вывода с отображением портов используют другой класс инструкций. –

+1

Наличие отдельной шины ввода-вывода довольно специфично для процессоров Intel. Это относится к ранним дням 8-разрядных процессоров. В тех случаях, когда конструкции автобусов были чрезвычайно простыми и необходимость в выборе отверстия в адресном пространстве 64 КБ была сложной. Эти соображения сейчас уже не применяются. –

ответ

11

Как сказал Ктулху,

  • отображены в карте памяти ввода/вывода позволяет записи/чтения к портам ввода/вывода устройства такой же, как чтение/запись к нормальной памяти (используя тот же машинный код/​​ASM)

но есть недостаток:

  • вы использовать физическую адресное пространство памяти для памяти отображенного устройства ввода/вывода (думаю 32-битной Windows, не будучи в состоянии получить доступ ко всем 4G оперативной памяти на a)

Таким образом, преимущество использования метода ввода-вывода с отображением портов заключается в том, что у вас есть отдельное адресное пространство для ваших устройств ввода-вывода, и вы можете использовать весь диапазон адресов памяти для доступа к памяти.

EDIT: Вот более полный ответ на ваш вопрос: hardware ports to memory addresses

+0

См. Http: // superuser. ком/кв/703695/78897 – Pacerier

Смежные вопросы