МП имеют раздельную адресацию памяти и портов ввода-вывода, за счет сигналов чтения ввод-вывод и запись ввод-вывод ( и ) на шинах ввода-вывода, которые порождаются инструкциями вв-вывода.Сигналы и вырабатываются также в циклах DMA (прямого доступа в память), однако в этом случае на шине адреса будет присутствовать адрес памяти, в который производится доступ, а не адрес порта.
Инструкции ввода-вывода предусматривают:
1. Непосредственная адресация порта
2. Косвенное обращение через регистр
В реальном режиме МП программе доступно все пространство адресов вв-выв. В защищенном режиме, возможно, программно ограничить доступное пространство вв-выв, а внутри этой области можно также программно разрешить или запретить доступ к конкретному устройству. Размер области и карта разрешенных портов (IO Permission Bitmap) задаются ОС в дескрипторе сегмента состояния задачи (TSS).
Порты ввода-вывода.
ПВВ – это модули для реализации взаимодействия между МПС и внешней средой, ПВВ – это адресуемые одно- или двунаправленные буферные регистры, предназначенные для построения программного интерфейса. Для адресации портов используется шина адреса или ее часть.
Общая структурная схема.
Несколько портов вывода могут иметь совпадающие адреса, при этом операции записи будут нормально отработаны. IF порты ввода имеют совпадающие адреса, то при операции считывания будет происходить конфликт на шине.IF такие порты будут находится на разных физических шинах, то конфликт исключается за счет буфера данных.
Каждой шине назначается своя область адресов ввода и дешифратор, расположенный на системной плате при чтении открывает соответствующий буфер данных. Для современных плат со встроенной периферией и несколькими шинами, распределением адресов управляет BIOS через регистры конфигурирования CHIPSET.
Типовая схема подключения портов ввода-вывода.
Портам ввода-вывода присваивается n-разрядный код, по которому процессор может отличать их друг от друга. В данной схеме порт вывода и порт ввода имеют одинаковый код за счет организации управляющих сигналов (вывод, ввод), подключенных через логику «и» на выход DC адреса.
Существует три типа обмена между МПС и внешними устройствами: