Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Распределение системных ресурсов



Для того чтобы программы могли взаимодействовать со своими устройствами, не мешая другим (и не получая от них помех), все системные ресурсы — адреса памяти и ввода-вывода, запросы прерываний и каналы DMA — должны быть бесконфликтно распределены между устройствами, подключенными к систем­ной шине.

Для адресов памяти и портов ввода-вывода бесконфликтность означает, что диапазоны соответствующих адресов всех имеющихся устройств не должны пе­рекрываться. Это в первую очередь касается адресов, по которым выполняется чтение. Если устройства, конфликтующие по чтению, находятся на одной фи­зической шине, то результат чтения из-за электрического конфликта оказыва­ется неопределенным. Если конфликтующие устройства находятся на разных шинах, то будет прочитаны данные только одного устройства, но какого именно — зависит от настройки мостов, соединяющих шины. Конфликт по адресам для записи часто сознательно используют для одновременной передачи инфор­мации в несколько устройств (например, в PnP ISA, см. [6]). Информация при этом не искажается. Однако незапланированные конфликты по записи могут приводить к неожиданным побочным эффектам в работе устройств, не ожидаю­щих данной записи. Для самого главного ведущего устройства — центрального процессора — безразлично, к какой из шин подключено устройство: он задает только адрес и тип операции. Операции записи могут выполняться широкове­щательно — распространяться по всем шинам. Операции чтения маршрутизи­руются — фактически, чтение по конкретному адресу памяти или порта обычно выполняется только с одной из шин. В иерархии шин PCI мосты выполняют маршрутизацию для всех транзакций.

Для линий запросов прерываний бесконфликтность трактуется несколько слож­нее. В классической системе ISA одну линию запроса может использовать толь­ко одно устройство, все остальные варианты — конфликтные. В системах РпР ISA (имеющих PnP BIOS, более гибко программируемый контроллер прерыва­ний и устройства ISA PnP) при корректных настройках устройства РпР аппа-ратно могут использовать разделяемые (общие для нескольких устройств) линии прерываний (см. 4.4). На обычные карты (устройства) ISA эта возможность, как правило, не распространяется. Однако и для устройств РпР возможны кон­фликты программ, работающих с этими устройствами, если в них не заложена возможность разделяемости прерываний. В системах с PCI разделяемость пре­рываний аппаратно предусмотрена, но опять-таки возможны программные кон­фликты (и некорректно спроектированные карты). В комбинированных систе­мах ISA/PCI доступные линии запросов прерываний делятся между устарев­шими (legacy) устройствами ISA и устройствами PnP ISA и PCI, во второй группе разделяемые прерывания, в принципе, допустимы (но при «правиль­ном» ПО).

Для каналов DMA (контроллеров 8237А) бесконфликтным, как правило, явля­ется лишь монопольное использование канала одним устройством (хотя быва­ют редкие исключения). На устаревших устройствах каналы выбираются двумя джамперами — один для линии DRQx, другой для DACKx#. Естественно, они должны устанавливаться согласованно, на один и тот же номер канала.

Периферийные устройства могут быть встроены в системную плату, а также ус­танавливаться в слоты шин расширения. Системные ресурсы должны распреде­ляться между всеми этими устройствами. В распределении всегда имеются от­носительно неизменная часть (устройства системной платы, установленные ее изготовителем) и переменная часть, определяемая составом карт, установлен­ных пользователем. Настройкой CMOS Setup могут быть заданы ресурсы уст­ройств системной платы, а часть из них может быть даже отключена, если вме­сто них используются адаптеры, установленные в слоты расширения. Правда, бывают случаи, когда штатное отключение (настройкой CMOS Setup) не помо­гает: отключают обычно неисправную периферию, но «сгореть» она может и вместе со своим «выключателем». В этом случае приходится неисправную периферийную микросхему отключать физически (отпаивать; для микросхем CMOS по крайней мере отпаять вывод питания +5 В).

Ресурсы устанавливаемых карт задаются либо вручную, либо автоматически, в зависимости от возможностей шин, карт расширения и BIOS. Цель полной автоматизации — достичь идеала PnP (Plug-and-Play — «вставляй и играй»), когда от пользователя требуется лишь механически установить новое устройст­во, а дальше все распределения и установки драйверов выполняются без его участия. Однако у скептиков есть и другая расшифровка акронима РпР — Plug-and-Pray («включай и... молись»), имеющая под собой вполне реальную основу.

Наиболее распространенными для подключения карт расширения PC являют­ся шины ISA и PCI. В шину PCI изначально были заложены возможности авто­матического конфигурирования устройств, и она поддерживает механизм РпР в полном объеме (см. 14.7). Шина ISA не имела механизмов автоматического конфигурирования и распределения ресурсов, так что все заботы по конфигу­рированию устанавливаемых адаптеров и разрешению конфликтов ложились на пользователя. Задача конфигурирования осложнялась и из-за отсутствия об­щих средств автоматической передачи установленных параметров прикладно­му и системному программному обеспечению. После конфигурирования адап­теров, выполняемого обычно переключением джамперов (хорошо, если имелась документация с их описанием), установленные параметры заносились в ка­кие-либо конфигурационные файлы, специфичные для каждого программного продукта. Для смены конфигурации (а такая необходимость обычно возникает только в процессе использования устройств или при добавлении новых) всю кропотливую работу по конфигурированию приходилось проводить повторно. При этом, естественно, возможны ошибки. Неподготовленному пользовате­лю эта работа может показаться непосильной, и он зовет на помощь профес­сионала.

Некоторое облегчение конфигурирования принесло применение в адаптерах энергонезависимой памяти (NVRAM или ее разновидности — EEPROM), хра­нящей параметры, в том числе параметры использования системных ресурсов. Конфигурирование этих адаптеров выполняется программно специальной ути­литой, а не с помощью джамперов. Отсюда и два их названия: Software Con­figured (программно конфигурируемые) или Jumperless (свободные от джампе­ров). Сейчас большинство карт ISA поддерживают спецификацию PnP ISA, благодаря чему во многих случаях с пользователя действительно снимаются за­боты по конфигурированию.

Помимо «явно полезных» устройств конфигурированию подлежат и мосты PCI, соединяющие все шины современных ПК. При конфигурировании мостов им указывается распределение системных ресурсов по шинам, которые они свя­зывают. Таким образом задаются пути транслирования управляющих сигналов по шинам с соответствующим управлением буферами данных. Конфигурирова­ние мостов, как правило, происходит незаметно для пользователя, хотя некото­рыми параметрами (выделением определенных ресурсов) можно управлять с помощью CMOS Setup.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.