BIOS. Экспресс-курс - страница 6



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

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

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

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

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

Перед началом каждой операции POST генерирует специальный код, размером в один байт (от 00h до FFh), называемый POST-кодом, и записывает значение в диагностический порт с адресом 80h, который используется для этих целей еще со времен самого первого компьютера IBM PC. В случае возникновения неисправности процесс диагностики просто останавливается ("зависает"), а POST-код, заранее выведенный на указанный порт, однозначно определяет операцию, при которой возникла неполадка.

Единственный минус подобной системы – таблицы POST-кодов для BIOS разных производителей различны, а в связи с постоянным появлением новых устройств, что приводит к необходимости внесения изменений в соответствующие спецификации, даже у одного производителя для разных моделей устройств могут использоваться не одинаковые таблицы диагностических кодов. Это несколько путает пользователя и мешает достоверно судить об источнике неполадки. Ориентироваться в таком случае приходится на оригинальные разработки, например, компании AWARD (точнее Phoenix под упомянутой торговой маркой). Остается только надеяться, что производители будут упоминать о внесенных изменениях в руководствах по установке материнских плат. В главе 15 приведены POST-коды AVARD BIOS.

Мониторинг старта осуществляется с помощью специальных плат – контроллеров состояния порта 0080h. Так называемые POST-платы предназначены для захвата диагностических кодов и наглядного их отображения на цифровом индикаторе, что позволяет выполнять раннюю диагностику до запуска операционной системы (рис. 2.1).