Другие шины ПК

Предыдущая  Содержание  Следующая V*D*V

PCI и ISA являются наиболее часто используемыми периферийными интерфейсами в мире персональных компьютеров, но они не являются единственными. Вот краткий обзор особенностей других шин, найденных на рынке ПК.

MCA

Micro Channel Architecture (MCA, микроканальная архитектура) является стандартом IBM, используемым в компьютерах PS/2 и некоторых ноутбуках. На аппаратном уровне Micro Channel имеет больше функций, чем ISA. Он поддерживает multimaster DMA (многоабонентский ПДП), 32-х разрядные адреса и линии передачи данных, разделяемые линии прерываний, а также географическую адресацию для доступа к находящимся на плате регистрам конфигурации. Такие регистры называются Programmable Option Select (POS, выбор программируемых опций), но они не имеют всех возможностей регистров PCI. Поддержка в Linux для Micro Channel включает в себя функции, которые экспортируются для модулей.

 

Драйвер устройства может прочитать целое значение MCA_bus, чтобы увидеть, работает ли он на компьютере с Micro Channel. В качестве макроса препроцессора так же определён макрос MCA_bus__is_a_macro. Если MCA_bus__is_a_macro не определён, то MCA_bus, являющееся целой переменной, экспортируется в код модуля. Оба символа, MCA_BUS и MCA_bus__is_a_macro определены в <asm/processor.h>.

EISA

Шина Extended ISA (EISA, расширенная ISA) является 32-х разрядным расширением ISA, с совместимым интерфейсным разъёмом; платы устройств ISA могут быть подключены к разъёму EISA. Дополнительные провода разведены под контактами ISA (отдельный небольшой разъём).

 

Подобно PCI и MCA, шина EISA разработана для подключения безджамперного устройства и она имеет те же возможности, как MCA: 32-х разрядная адресная и линия передачи данных, многоабонентский DMA и разделяемые линии прерываний. Устройства EISA настраиваются программным обеспечением, но им не требуется какая-либо особенная поддержка от операционной системы. Драйверы EISA уже существуют в ядре Linux для сетевых устройств и контроллеров SCSI.

 

Драйвер EISA проверяет значение EISA_bus, чтобы определить, поддерживает ли данный компьютер шину EISA. Как и MCA_bus, EISA_bus является либо макросом, либо переменной, в зависимости, определён ли EISA_bus__is_a_macro. Оба символа определены в <asm/processor.h>.

 

Ядро имеет полную поддержку EISA для устройств с sysfs и функциональностью управления ресурсами. Это находится в каталоге drivers/eisa.

VLB

Ещё одним расширением для ISA является интерфейсная шина VESA Local Bus (VLB), которая расширяет разъёмы ISA, добавляя третий продольный слот. Устройство можно подключить только в этот дополнительный разъём (без подключения двух связанных с ним разъёмов ISA), потому что слот VLB дублирует все важные сигналы от разъёмов ISA. Такие "автономные" периферийные устройства VLB не использующие слот ISA редки, так как большинству устройств необходимо достичь задней панели, чтобы их внешние разъёмы стали доступны.

 

Шина VESA является гораздо более ограниченной по своим возможностям, чем шины EISA, MCA и PCI и исчезает с рынка. Не существует специальной поддержки в ядре для VLB. Однако, оба драйвера, Lance Ethernet и IDE дисков, в Linux 2.0 могут иметь дело с VLB версиями своих устройств.

Предыдущая  Содержание  Следующая