Extended I/O Decode
- опция разрешения расширенного декодирования шины адреса при операциях ввода/вывода. Стандартный диапазон адpесов устpойств ввода/вывода - 0...0х3FF, что является следствием 10-pазpядного адpесного пpостpанства ввода/вывода, принятого еще в PC AT. Расшиpенное декодиpование позволяет получить более шиpокий диапазон адpесов, снимая при этом очень давние и жесткие ограничения. Ведь центральный процессор может поддеpживать 16 адpесных линий, что расширяет диапазон устройств ввода/вывода до 64К-адресного пpостpанства. Необходимо отметить, что большинство "старых" материнских плат и адаптеров ввода/вывода могли декодировать только 10 адресных линий, тем самым ограничивая количество используемых портов ввода/вывода.
Если речь идет о PCI-шине, то порты ввода/вывода шины PCI могут быть как 8-, так и 16-битными. Для адресации портов на шине PCI доступны все 32 бита адреса, но процессоры x86 могут использовать только младшие 16 бит. Кроме того, на адресное пространство PCI влияет и 10-битное декодирование адреса, принятое в традиционной шине ISA. В результате каждый адрес порта на шине ISA, в случае расширенного декодирования и использования сконфигурированных ISA-устройств, имеет 64 "псевдонима", смещенных друг от друга на 1К (40h). Последний факт означает, что и при расширенном декодировании, и при наличии ISA-карт возможности адресации для устройств PCI оказываются также ограниченными.
Но речь может идти не только об ограничениях. Возможны конфликты, особенно в тех случаях, когда программы (драйвера) и сами устройства работают с различными адресными форматами. В одном случае, с адресами в шестнадцатеричной форме, в другом, в двоичной. В одном случае, адрес читается слева направо, в другом, справа налево. Такое тоже случается!
Вернемся к декодированию и возможным конфликтам, к вопросу о 16- и 10-битном декодировании. В качестве примера можно привести "смешивание" адресов для COM4 и некоторых S3-видеокарт. И напоследок немножко арифметики. Стандартный адрес "Sound Blaster" - 220h (10 0010 0000). Для карты с адресом 2A20h (10 1010 0010 0000) имеем полное совпадение с 220h по младшим десяти разрядам.
Смотри дополнительно главу "Порты".