Autoconfig

Материал из Википедии — свободной энциклопедии
Перейти к навигацииПерейти к поиску

Autoconfig — механизм автоматического (без необходимости установкиджамперов) распределения аппаратных ресурсов дляустройств расширения компьютераAmiga. Много позже эта возможность была реализована и на других платформах (Amiga 500 с поддержкойAutoconfig появилась в1987 г., а первая версия шиныPCI появляется в1992 г.), поддержка протокола на уровнеОС получила названиеPlug and Play.

В момент включения компьютераAmigaOS последовательно опрашивает каждое подключённое устройство и выделяет ему диапазон адресов вадресном пространствепамяти компьютера.В случаях, когда устройством оказывается карта расширения памяти,AmigaOS присоединяет новую доступную память к уже существующей в системе. ТакжеAutoconfig поддерживает загрузку изПЗУ.

Содержание

Протокол

[править |править код]

Каждый слот расширения (а значит, и каждая карта, устанавливаемая в него) снабжена двумя сигналами:/CFGIN и /CFGOUT (символ «/» означает, что используется инверсная логика и активным уровнем сигнала является логический нуль).

Если линия /CFGOUT слота неактивна, то считается, что карта, установленная в этот слот, не настроена.

Линии /CFGIN всех слотов расширения (кроме линии /CFGIN первого слота) подтянуты к неактивному уровню. Таким образом, после включения питания считается, что все карты расширения не настроены.

Если вход карты /CFGIN активен, в выход /CFGOUT не активен, то карта «откликается» на обращения к участку памяти, начинающемуся с адреса $E80000 (или $FF000000 для шины Zorro III) (своего рода аналог конфигурационного пространства на шинеPCI). Иначе говоря, состояние, при котором вход карты /CFGIN активен, а выход /CFGOUT не активен, соответствует режиму конфигурации.

Конфигурация устройства начинается с установки линии /CFGIN в активное состояние. Далее производятся необходимые действия по конфигурации (чтение информации о карте расширения и настройка адресов). После завершения конфигурации карте даётся указание установить /CFGOUT в активное состояние (указание установить /CFGOUT в активное состояние даётся и в том случае, если не удаётся полностью настроить устройство и ОС хочет прекратить настройку текущей карты и перейти к настройке следующей).

Включение микросхемы 7432 для корректной работы Amiga Autoconfig
СК — системный контроллер;
/CFGIN1 и /CFGOUT1 — линии /CFGIN и /CFGOUT первого слота расширения, /CFGIN2 и /CFGOUT2 — линии /CFGIN и /CFGOUT второго слота расширения и т. д.

Сигналы /CFGIN и /CFGOUT слотов расширения соединены в цепочку: /CFGOUT первого слота соединяется с /CFGIN второго, /CFGOUT второго - с /CFGIN третьегои т. д. Линия /CFGIN первого слота и /CFGOUT последнего подключаются к системному контроллеру. Таким образом, после конфигурации последней карты расширения системный контроллер будет оповещён о том, что не осталось карт расширения, требующих конфигурации. Такой подход имеет преимущество: отсутствует ограничение на количество карт, участвующих в конфигурации. Однако, если цепочка оказывается разорванной (например, в один из слотов не установлена карта расширения), то процесс конфигурации зависает (системный контроллер не может дождаться установки линии /CFGOUT последнего слота расширения в активное состояние). Решением проблемы стала установка микросхемы 74LS32 (четыре двухвходовых элемента ИЛИ) и подтяжка линий /CFGOUT всех слотов расширения к активному уровню. Эта микросхема стала единственным аппаратным обеспечением, необходимым для корректной работыAutoconfig.

Сравнение с PCI

[править |править код]

Несмотря на то, что по сравнению сPCI реализация протоколаAutoconfig более проста, он обеспечивает те же самые функции автоматического конфигурирования устройств. ШинаPCI осуществляет произвольный доступ к конфигурируемым устройствам (вAutoconfig — последовательный) и, как следствие, программная модель механизма конфигурации становится сложнее, а также появляется ограничение на количество устройств (более подробно см. описание конфигурационного циклаtype0 шиныPCI).

Хотя реализацияAutoconfig проще, а количество подключаемых устройств не ограничено, Autoconfig имеет недостаток: устройства могут быть сконфигурированы только последовательно и только один раз (до перезагрузки компьютера).

См. также

[править |править код]

Ссылки

[править |править код]
Источник —https://ru.wikipedia.org/w/index.php?title=Autoconfig&oldid=141007531
Категории:
Скрытая категория: