Распределение ресурсов карты расширения PCI с помощью Plug-and-Play BIOS
Спецификация Plug-and-Play BIOS гласит, что если у вас PnP BIOS, он может настроить аппаратное обеспечение.
Это означает, что ваш BIOS считывает требования к ресурсам всех устройств и настраивает их (выделяет им ресурсы шины).
Всегда ли PnP выделяет ресурсы (т. Е. Назначает адреса ввода-вывода или памяти и irqs) устройствам, встроенным / интегрированным в материнскую плату?
Если PnP BIOS(то есть присутствует структура $PnP), всегда назначает ресурсы (адреса ввода / вывода и адреса памяти) всем устройствам, присутствующим в mobo(т.е. встроенным / интегрированным в mobo), а также на платах расширения PCI.
Хотя BIOS может не знать, как "настроить" не встроенные устройства (т.е. устройства, не встроенные в mobo), и будет настраивать только устройства, встроенные / интегрированные в самом mobo, он "должен" назначать адреса (ввод / вывод и память в PCI BARs) и irq, чтобы избежать конфликтов в случае использования не PnP-ОС, такой как DOS.
Мой вопрос:
Должен ли PnP BIOS назначать входы / выходы, адреса памяти и irq устройствам карты расширения PCI во время POST, т.е. перед загрузкой и передачей управления загрузчику ОС? Это правда для всех PnP BIOS?
Предположим, что для параметра [Plug-and-Play OS] задано значение No., т. Е. Мы сказали BIOS, что у нас не ОС PnP, а ОС, отличная от PnP, такая как DOS.
Некоторые BIOS не имеют этой опции. Всегда ли они распределяют ресурсы между всеми устройствами (то есть как встроенными, так и в слотах расширения)?
Обновление 2012-08-01:
Раздел 2.1, озаглавленный "Требования POST к BIOS системы" спецификации BIOS PnP v1a, гласит:
(Я упомянул только 3 пункта, которые имеют отношение к этому посту. Помеченная (*) информация - это моя интерпретация утверждений стандарта.)
Для достижения целей Plug and Play системный BIOS POST отвечает за выполнение требований, перечисленных ниже:
Конфигурация всех "статических" устройств, известных системному BIOS:
Как минимум, это включает устройства системной платы. Он также может включать в себя "Plug and Play ISA Cards" и устройства, расположенные на EISA, ISA, PCI или любой другой доступной архитектуре статической шины.
* По сути, вышеприведенное утверждение говорит, что устройства, "встроенные / интегрированные" в системную плату на любой статической шине (например, PCI, ISA или EISA).) "Должны" быть сконфигурированы BIOS, потому что BIOS знает об этом все устройства, встроенные в mobo, как часть разработки.* Системный BIOS-программист должен включить положения для настройки устройств, встроенных в mobo, как часть разработки системы.
Включает ли это также "карты, установленные в слоты для карт PCI/ISA/EISA"? Вот где я точно запутался.
BIOS POST Resource арбитраж: BIOS системы теперь должен знать об использовании системных ресурсов. Используя информацию, предоставляемую через сервисы времени выполнения (описанные в следующем разделе), наряду с информацией о ресурсах, известной BIOS системы, можно избежать критических конфликтов ресурсов. "Загрузка операционной системы с отключенным конфликтующим устройством лучше, чем конфликт ресурсов и возможный сбой системы".
* Это похоже на устройства ISA / EISA, встроенные / встроенные в слоты карт расширения ISA / EISA. Поскольку ресурсы устройств PCI не могут конфликтовать с точки зрения распределения адресов ввода-вывода (или памяти) (поскольку адреса не привязаны к устройствам PCI и, следовательно, находятся в "руках" BIOS для выделения не конфликтующих адресов). и распределение irq (потому что прерывания PCI могут использоваться совместно), так что это означает, что "все" устройства PCI (встроенные или не встроенные) будут инициализированы / распределены в памяти или адресах ввода-вывода и назначениях irq.
Поддержка операционных систем Plug and Play и Non-Plug-Play: BIOS POST системы "Plug and Play " должен " настраивать" систему для работы как с поддержкой "Plug and Play", так и с операциями "не Plug and Play" system.* В средах, отличных от Plug and Play, "либо BIOS системы ", либо " соответствующее системное программное обеспечение (драйверы устройств)" должны "конфигурировать" все устройства (карты ISA Plug and Play, устройства PCI и т. д.). Это позволит всем средам "загружаться точно так же, как на стандартных ПК-совместимых системах". Однако в среде Plug and Play системный BIOS теперь может помочь операционной системе выполнять такие функции, как конфигурирование устройств системной платы во время выполнения и распознавание событий при изменении устройств системной платы.
** Все эти 3 утверждения из спецификации, похоже, указывают на то, что если должна загружаться не PnP-ОС (например, DOS), то системный BIOS "должен" настроить (или, по крайней мере, выделить адреса и irqs) "все Устройства PCI, встроенные / встроенные в материнскую плату (mobo) или нет. Для устройств ISA и EISA BIOS "не должен" включать / выделять ресурсы для этих устройств ISA / EISA (как встроенных, так и не встроенных), что приведет к конфликту назначения ресурсов.*
Прав ли я, заключив, что: "Если BIOS должен загружать ОС, отличную от PnP, он должен включить (т.е. включить, т.е. выделить ресурсы) " каждое "PCI-устройство (встроенное в mobo или в слот карты расширения PCI) в системе. чтобы они были доступны для использования ОС и прикладными программами?
По крайней мере, так должно быть, если для параметра [Plug-and-Play OS] установлено значение NO. то есть мы сказали BIOS, что у нас не ОС PnP, а ОС, отличная от PnP, такая как DOS.
1 ответ
Если вы установите в ОС PnP значение no, BIOS будет назначать ресурсы всем устройствам. Если в BIOS для PnP OS установлено значение yes, оно будет назначать ресурсы только тем устройствам, которые могут потребоваться для загрузки ОС или к которым ОС может потребоваться доступ до того, как механизм PnP заработает.