Выбрать главу

Логическая структура BIOS

BIOS материнской платы, как и любое программное обеспечение, имеет определенную структуру. В общей сложности можно выделить два уровня подпрограмм.

Первый уровень представляет собой набор подпрограмм, необходимых для запуска устройства (инициализации), в процессе которого проверяются такие параметры, как: работа тактовых генераторов, уровни рабочих напряжений, температура и прочее. В результате определяется возможность работы инициализируемого устройства, после чего активизируется очередной уровень программного обеспечения. Это Boot Block.

 На первом этапе инициализации практически любое устройство, будь то материнская плата или контроллер SCSI, не проявляет "признаков жизни" (таких, как звуковые сигналы, моргание индикаторов и т. п.).

Второй уровень подпрограмм предоставляет сервисные услуги по диагностике, а иногда даже по устранению различных неполадок. На данном этапе осуществляется окончательная инициализация устройства и вывод результатов самодиагностики (звуковые сигналы на системном динамике, сообщения на экране монитора или, в частном случае, вывод определенных кодов на дисплей диагностического устройства). Это Main Block.

Те же программы осуществляют управление компонентами ПК в таких режимах, как Suspend или Sleep Mode, при работе в среде MS-DOS и т. д.

Еще выделяют области, где хранятся данные ESCD и т. п, но в них хранятся вовсе не программы, а некие значения, необходимые для работы компонентов ПК (рис. 1.4).

Рис. 1.4. Так выглядит общая структура BIOS

Глава 2 Процессы, происходящие при включении компьютера

Любой пользователь на этот вопрос ответит: «Компьютер тестирует память, находит подключенные жесткие диски и загружает операционную систему». Это верный ответ. Но отражает ли он действительную ситуацию? Процесс загрузки по своей структуре довольно сложен. Представлять последовательность событий иногда очень полезно, например, при диагностике неисправностей.

В первую очередь электроника блока питания проходит процесс самотестирования, а уже затем на внутренние компоненты компьютера подается напряжение питания. Это происходит менее чем 0,1–0,5 секунды. По окончании тестов на центральный процессор поступает сигнал RESET. Тот самый, который и вы можете вызвать нажатием кнопки RESET, расположенной на системном блоке. Блок питания, не прошедший самотестирования, не включается, и компьютер, естественно, не начнет свою работу. Делается это для уменьшения вероятности повреждения электроники, а в качестве управляющего сигнала используется специальный сигнал, именуемый как "Power Good" ("хорошее напряжение").

В итоге центральный процессор готов к выполнению программы. Но на данном этапе доступна всего одна программа – некий стартовый блок, записанный в микросхеме постоянной памяти, установленной на материнской плате, являющейся, как все мы знаем, самой главной платой. Благодаря работе этого самого стартового блока появляется возможность запуска других программ, а в итоге и операционной системы.

Сначала осуществляется проверка состояния центрального процессора, его рабочих характеристик. В частности, проверяется напряжение питания, температура, частота системной шины, множитель и т. п. параметры. Если они не соответствуют параметрам, заданным производителем для данной модели процессора, то компьютер может и не включиться, хотя встречаются и исключения. Проверка осуществляется выполнением простейших вычислений, по результатам которых можно определить исправность процессора.

Следующий этап – проверка содержимого микросхемы постоянной памяти, которая является хранилищем не только стартового блока, но и всех остальных подпрограмм, необходимых для осуществления дальнейшей инициализации оборудования, да и для загрузки операционной системы тоже. Обратите внимание, что ошибки в микросхеме ПЗУ могут повлечь за собой невозможность старта компьютера, особенно если речь идет о стартовом блоке. Вот такова зависимость аппаратного обеспечения от программного обеспечения.

Как только система убеждается в целостности программ, записанных в микросхеме постоянной памяти, она начинает последовательно их запускать.

Разработчики х86-х платформ в свое время предусмотрительно встроили в базовую систему ввода-вывода (BIOS) различные процедуры диагностики неисправностей. Весь комплекс по инициализации компонентов ПК и их проверке носит обобщающее название POST (Power-On Self Test, что в вольном переводе обозначает "Самотестирование по Включению Питания").