Программирование драйверов Windows

       

ISA: Industry Standard Architecture


Шина ISA была предложена фирмой IBM для PC/AT в начале 1980-x. Она поддерживала подключение и 8-разрядных, и 16-разрядных устройств. По той причине, что эта шина изобреталась два десятилетия назад, она не отличалась ни быстротой, ни простотой конструкции. Эта шина является динозавром компьютерных технологий, однако ее невозможно забыть по двум причинам.

Во-первых, столь популярные и до сих пор обязательные устройства настольного компьютера, какими являются параллельный порт LPT и последовательные СОМ порты, являются устройствами ISA шины. Эта ISA шина через мост подключается к шине PCI, и существует в компьютере даже тогда, когда на материнской плате нет ни одного ISA разъема. (Для фанатиков же ISA устройств некоторые фирмы, например PHILIPS, выпускает микросхемы для реализации подключения ISA плат к шине USB.)

Во-вторых, при усовершенствовании компьютеров, которые ISA шина поначалу вполне устраивала, выявилось столько неудобств и ограничений, что стало очевидным &#8212 к принятию шинных протоколов следует подходить более ответственно. Невысокая пропускная способность (максимум 8 МБ/сек), отсутствие стандарта на использование адресов ввода/вывода, невозможность совместного использования прерываний (их всего 16, большая часть которых уже занята системными устройствами, оставляя вновь подключаемым устройствам всего лишь 2 или 3) настойчиво указывали на необходимость новых решений. Например, старые ISA платы не могут использовать все 16 разрядов адресов ввода/вывода, а декодируют только первые 10 разрядов адреса, в результате чего отзываются по адресам через 0x400 адресов. Устройство с адресом 0x300 отвечает также и по адресу 0x700. Появление таких устройств в системе приводит к откровенной бесполезности большей части 64 Кбайтного адресного пространства ввода/вывода. И, наконец, шина ISA имеет возможность всего лишь 24 разрядной адресации, что определяет ограничение на выполнение переноса данных только в нижние 16 МБ физической памяти. Этот артефакт доставляет Windows особые проблемы при работе с ISA шиной, если возникает необходимость применить DMA способ передачи данных.

Как уже было сказано, устройства ISA шины не объявляли себя, они не предоставляли списка требуемых ресурсов, и они не нуждались в динамическом конфигурировании со стороны программного обеспечения. Конфигурирование этих устройств выполнялось вручную и обычно сводилось к требуемой установке перемычек (jumpers) или переключателей DIP.

Современные ISA устройства пытаются скорректировать эту ситуацию, предлагая Plug and Play расширение к стандарту ISA. Такие устройства значительно расширили свою популярность с введением операционной системы Windows 95. Версии NT, существовавшие до Windows 2000, реально не поддерживали спецификацию PnP, отчего этим новым ISA устройствам приходилось полностью полагаться на специальные программы инсталляции, которые обеспечивали их должное функционирование под NT, и услуги Системного Реестра. Однако с выходом Windows 2000 поддержка таких устройств стала вполне корректной.



Содержание раздела