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 в активное состояние даётся и в том случае, если не удаётся полностью настроить устройство и ОС хочет прекратить настройку текущей карты и перейти к настройке следующей).

СК — системный контроллер;
/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 имеет недостаток: устройства могут быть сконфигурированы только последовательно и только один раз (до перезагрузки компьютера).
См. также
[править |править код]Ссылки
[править |править код]- J. Miner et alAmiga Hardware Reference Manual, 3-rd ed,Addison-Wesley, 465 p., 1991,ISBN 0-201-56776-8. (англ.)