BIOS Inside

(Окончание, начало в №43)


8. Обнаружение и инициализация видеоадаптера, клавиатуры, мыши (PS/2), дисковода. Настройка контроллера ввода-вывода (LPT, COM1, COM2), других PNP-устройств

На этом этапе происходит поиск видеоадаптера, управление передаётся Video BIOS адаптера, который инициализирует видеокарту и выводит её заставку. Если видеокарта не обнаружена, система, опять же, противно пищит. Также контроллером опрашивается, подключена ли клавиатура: если да, то происходит её внутренний самотест, если нет, то выдаётся соответствующее сообщение об ошибке (если это не запрещено в BIOS Setup). Инициализируется мышь-PS/2 и дисковод. Если мыши нет, отключается её прерывание (IRQ12). Во многих последних платах появилась возможность освободить также и прерывание дисковода (IRQ6), если он отсутствует/не используется. Происходит настройка параметров Super I/O (так зовут микросхему контроллера ввода-вывода) в соответствие с переменными, записанными в CMOS (которые, в свою очередь, задаются в BIOS Setup). Тут же происходит поиск других PNP-устройств и распределение между ними прерываний.

  • ...Поделись прерыванием своим, и оно к тебе ещё не раз вернётся... Некоторые замечания на эту тему.
    Если ваша "крайне" плагэндплэйная карточка постоянно "залазит не туда", не забывайте, что, как правило, во всех BIOS есть возможность вручную распределить прерывания в BIOS Setup.
    Часто, когда в системе много устройств, прерываний может просто не хватать. В этом случае можно порекомендовать отключить "неиспользуемые" прерывания. Но не "жадничайте", т.к. если прерывание для USB можно и отключить (особенно если у вас и разъёма такого-то нет), то, например, отключение прерывания для вашей видеокарты, если у вас стоит 3D-ускоритель, будет плачевным - Windows предстанет перед вами в аскетичной 16-цветной палитре.
    Ну а если у вас вообще что-нибудь антикварно-неплагэндплэйное, нужно быть внимательным и не использовать "уже кем-то занятых" прерываний для этих устройств. Обычно это касается стареньких звуковых карточек, которые пытаются отбить прерывание у принтера (IRQ7) или сетевых карт, всячески требующих IRQ3 от COM2 (туда же сунутся многие не-PNP ISA-модемы) - нужно вырубать COM2 в соответствующем разделе BIOS Setup.


9. Отображение на экране типа/частоты процессора, основного теста памяти, лого EnergyStar

 

Кроме определения типа процессора, происходит и определение его частоты. Как правило, осуществляется это следующим способом. В процессоре есть специальный регистр, который увеличивается на единицу за каждый такт. BIOS засекает время (примерно 1/18-я секунды - период таймера), смотрит, сколько нащёлкает за это время тактов, и получает частоту. Но частота, конечно, получается примерная, не всегда "круглая", поэтому BIOS берёт ближайшее "круглое" значение из зашитой в него "таблицы частот". Кстати, именно из-за того, что частота берётся из таблицы, многие платы с процессорами, частота которых превышает последнюю строчку из этой таблицы, будут писать, например, "AMD K6-2(tm) at 400MHz" и для К6-2 400, и для К6-2 450, и для К6-2 500. "Таблица частот" в системах Pentium-III/Athlon была бы совсем громадной, поэтому там "округление" происходит по специальному алгоритму. Также на этом этапе выводится лого EnergyStar и происходит проверка всей памяти путём последовательной записи и проверки.


10. Детектирование IDE-устройств

Предварительно происходит программный сброс контроллера HDD. Если диски ранее были продетектированы в BIOS Setup, то их параметры берутся из CMOS. Если стоит режим Auto, они детектируются на данном этапе. После происходит поиск других IDE-устройств: CD-ROM, Zip-Drive и др. Обнаруженные Primary-IDE устройства получают прерывание IRQ14, на Secondary-IDE - IRQ15. Тут хотелось бы отметить крайне важную для теперешнего времени проблему - ограничение со стороны BIOS/интерфейса IDE на поддержку HDD большой ёмкости. Когда-то, давно, большой ёмкостью считались винчестеры ёболее 512 Mb. Это было первое ограничение. Потом, в некоторых системах - 2 Gb. Но большинство старых Pentium1 ограничивается использованием максимум 8 Gb винчестеров. Следующая планка самая проблемная. Если предыдущие проблемы можно было обойти разными способами, потому как BIOS Setup просто показывал неправильные параметры диска, то, начиная с 32 Gb, он просто отказывается детектировать их вообще. Поэтому совет.

  • Если вы счастливый обладатель даже не самой старой Socket7-системы или имеете совсем "беспородистую" систему на Slot1/Socket370, то при выборе нового диска ограничьтесь лучше HDD 30 Gb максимум, иначе точно придётся модернизировать вашу старушку. Платы "взрослых" производителей, точнее, их последние версии BIOS, как правило, рассчитаны на использование HDD большой ёмкости.


11. Поиск других BIOS (например, BIOS SCSI-контроллера)

В системе также могут присутствовать другие устройства, имеющие свой BIOS. При их обнаружении управление передаётся им для инициализации обслуживаемых ими устройств. Замечание: некоторые SCSI-контроллеры не имеют собственного BIOS. Но во многие BIOS, как "породистых" так и не очень производителей, по этому поводу встраивается небольшая подпрограммка (или несколько) для работы с самыми распространёнными типами адаптеров. Эта подпрограмма и выполняет функции BIOS адаптера.


12. Передача управления загрузочному (boot) сектору

Ну и, наконец, последний этап. Опрашивая устройства в порядке, предписанном в BIOS Setup, управление передаётся программе-загрузчику. Все дальнейшие действия по загрузке компьютера уже выполняет именно он.

Роман СЕВКО,
k6-2@narod.ru

Версия для печатиВерсия для печати

Номер: 

45 за 2001 год

Рубрика: 

Hardware
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!