Конфигурация и инициализация ЭВМ


Проблема конфигурации, заключается в следующем: может оказаться, что у нас имеется несколько однотипных устройств, которые находятся в системе, например, несколько однотипных контроллеров, которые требуют одних и тех же ресурсов. Каждому КПУ выделяется место в памяти с определенными адресами. Но, если нам потребуется включить два, три или четыре однотипных устройства (например, две видеокарты), тогда может возникнуть конфликтная ситуация. Например, если есть видеоадаптер на интерфейсе ISA, то ему выделяется память начиная с адреса А000 до С000, и, понятно, две видеокарты подключить нельзя, т.к. возникает проблема конфликта. Решением такой проблемы может быть использование перемычек. Так же проблема конфигурации возникает тогда, когда ресурсы на СИ (активные или пассивные) могут использовать одно и то же адресное пространство, одни и те же линии прерывания.

Проблема инициализации заключается в следующем. Оказывается мы должны при включении питания каким-то образом подготовить ЭВМ или комплекс, причем заведомо известно, что содержимое ОП теряется, поэтому мы должны предусмотреть некие ПЗУ, которые содержат код, исполняемый процессором, потому что изначально этот код не предусмотрен, который позволит, с учетом конкретной архитектуры ЭВМ, запустить (инициализировать) устройства входящие в систему. А устройств таких много: начиная от СИ, заканчивая котроллерами или ресурсами, работающими на СИ, причем многоуровневыми. Но может оказаться, что изменяется состав вашей вычислительной системы.

Первое и самое простое решение было реализовано на интерфейсе ISA Plug&Play. Это было сделано путём отключения всех устройств и подключения одного. Затем оно инициализируется и временно отключается и т.д.

Сейчас решение проблемы инициализации решается через конфигурационное адресное пространство интерфейса PCI следующим образом. Каждому ресурсу на интерфейсе PCI выделяется 2048 байт в этом адресном пространстве. Разные устройства на интерфейсе имеют различные подключения, а это значит, что по месту подключения можно выделить пересекающиеся конфигурационные адресные пространства. Спецификация PCI требует, чтобы при обработке обращения в конфигурационное адресное пространство ресурс на интерфейсе дешифрировал только младшие 11 разрядов адреса. Старшие разряды адреса зависят от места подключения к интерфейсу, могут быть различными и устройством не обрабатываются. Для предотвращения одновременной обработки запросов в конфигурационное пространство несколькими устройствами на интерфейсе PCI имеется сигнал IDSEL. И только, когда он активен, устройство обладает доступом в его конфигурационное пространство. Очевидно, этот сигнал заводится к каждому месту подключения с дешифраторов старшей части адреса, находящегося в контроллере системного интерфейса.