Традиционный 8088/86 имел / имеет сигнал управления памятью, который по сути является другим адресным битом, связанным непосредственно с инструкцией.Управляющий сигнал, разделяющий доступы на ввод / вывод и память, создавая два отдельных адресных пространства.В отличие от CS, DS и т. Д., Создающих отдельные области памяти внутри чипа (до попадания во внешнюю область памяти).Другие семейства процессоров используют так называемый ввод-вывод с отображением в память.
В наши дни контроллеры / системы памяти разделены внутри и снаружи микросхемы различными способами, иногда, например, со многими управляющими сигналами, которые указывают команды на данные, заполнение строк кэша, запись через запись и обратно и т. Д.Чтобы сэкономить на внешних схемах, отображение памяти происходит внутри чипа, и, например, выделенные интерфейсы rom, отделенные от оперативной памяти и т. Д., Находятся на краю, гораздо более сложный и отдельный, чем пространство ввода-вывода по сравнению с пространством памяти старого 8088/86..
команда out and in и несколько членов семьи изменяют, выполняете ли вы доступ к вводу-выводу или доступ к памяти, и традиционно контроллер прерываний представлял собой микросхему, которая декодировала шину памяти в поисках доступа к вводу-выводус адресом, выделенным для этого устройства.Десятилетия обратной совместимости позже и у вас есть настоящий код, который вы просматриваете
Если вы действительно хотите понять это, вам нужно найти таблицы данных для устройства, содержащего контроллер прерываний, которые, вероятно, будут объединены с кучей другой логики на большом чипе поддержки.Также могут потребоваться другие таблицы данных.