Оптимизация BIOS. Полный справочник по всем параметрам BIOS и их настройкам - страница 39

Шрифт
Интервал


Позднее материнские платы начали использовать 16 строк для адресов I/O. Это должно было создать диапазон адресации I/O, равный 64 Кб. К сожалению, многие устройства ISA могли работать только с кодировкой 10-бит. Причина заключается в том, что подобные устройства создавались для оригинальной спецификации IBM, которая поддерживала лишь 10 строк адресов.

Чтобы решить данную проблему, пространство 64 Кб I/O было фрагментировано на разделы по 1 Кб. Однако первые 256 адресов должны быть зарезервированы для материнской платы, следовательно, только первые 256 байт каждого раздела могут быть декодированы в формат 16-бит. Поэтому все устройства 10-бит ISA ограничены последними 768 байтами разделов I/O.

В результате такие устройства ISA могут использовать только 768 адресов I/O. Так как впоследствии появилось множество разнообразных устройств ISA это ограничение создало множество проблем совместимости. Две карты ISA могли использовать одни адреса I/O, что приводило к их несовместимости. Несмотря на то, что производители пытались уменьшить количество конфликтов путем стандартизации I/O адресов по классам устройств, этого оказалось недостаточно.

Наконец, появилось решение проблемы. Вместо того чтобы предоставлять каждому устройству ISA все адреса I/O в диапазоне 10-бит, для устройств было выделено небольшое пространство, а недостающие адреса были «заимствованы» из диапазона 16-бит I/O! Так удалось справиться с задачей.

Устройство ISA получает небольшое количество адресов I/O в диапазоне 10-бит. Затем пространство расширяется с помощью корректировки 16-бит. Так как любой адрес I/O в области декодировки 10-бит имеет шестьдесят три соответствия в кодировке 16-бит, общее количество адресов I/O увеличивается с 768 до 49152!

Кроме того, каждой карте ISA теперь требуется очень мало адресов в диапазоне 10-бит. Это позволило свести к минимуму вероятность конфликтов между устройствами ISA в данном диапазоне. Это решение получило название ISA Aliasing (Корректировка ISA).

Все это очень хорошо для устройств ISA. К сожалению, ограничение 10-бит устройств ISA действует и на устройства, которые используют адресацию 16-бит, то есть устройства AGP и PCI. Как мы уже говорили, только первые 256 адресов разделов поддерживают адресацию 16-бит. Это значит, что все устройства с адресацией 16-бит ограничиваются 256 байтами пространства I/O.