Учим как... понимать POST-коды
Дмитрий Сазонов
Xakep Железо, номер #005, стр. 005-084-1
Тестер: Дмитрий Сазонов
В жизни любого человека, достаточно долго занимающегося компьютерами, наступает такой момент, когда свежесобранная машина, причем собранная из новых комплектующих, тихо, без истеричных писков берет и не запускается. Как правило, в таком случае вокруг компьютера начинаются пляски с бубном в тщетных попытках найти виновника, но не все так просто, и чаще всего приходится идти к ближайшему знакомому вместе со всей грудой железа, и последовательно тестировать его на заведомо рабочей машине. Кто хоть раз попадал в такую ситуацию, знает, сколько уходит времени и нервов на это неблагодарное дело. И вся эта морока из-за невозможности сразу же точно выявить источник ошибки.
Девайс
Такой неприятной ситуации можно избежать, имея индикатор POST-кодов (Power On Self Test, то есть самотест при включении питания). Он представляет собой маленькую PCI или ISA плату с индикатором. В случае возникновения ошибок во время включения компьютера этот девайс показывает код ошибки, по которому можно легко определить, кто виновник трагедии. В данной статье рассматриваются коды ошибок трех самых распространенных фирм: AWARD, AMI и Phoenix, но на самом деле компаний-разработчиков BIOS’ов намного больше, и у каждой свои коды ошибок. Рассмотреть все типы в данной статье невозможно, поэтому мы остановились на самых распространенных в нашей стране. Большая часть «других» типов BIOS’ов является разработками разных брендов, таких как Сompaq, IBM, Intel и других.
Принцип работы
Теперь разберемся, как же все это хозяйство работает. При включении, как и при холодной перегрузке (reset), компьютер первым делом тестирует все системы, например, процессор, память, видюху, клавиатуру, порты ввода/вывода и.т.д. Перед запуском каждого теста процедура POST генерирует POST-код и выводит его в порт 80h. После этого процедура начинает тест. Если тест не проходит, процесс тестирования просто «зависает», и система останавливается (компьютер, соответственно, не запускается), а информация о последней протестированной системе остается записанной в порт. Генератор POST-кодов читает данные из этого порта, приводит их к доступному виду (шестнадцатеричный код) и выводит на встроенный в него индикатор. Таким образом, можно с большой точностью найти причину неисправности. Индикатор POST-кодов иногда реализован производителем на самой материнской плате и работает по тому же принципу.
Разновидности
Существует достаточно много разновидностей генераторов, функционально они отличаются не существенно, а вот исполнением могут отличаться очень сильно. Пожалуй, наиболее важным отличием продвинутых моделей POST-индикаторов от их дешевых собратьев является возможность настройки диагностического адреса. Дело в том, что во многих «брендовых» компьютерах диагностическая информация может выводится не в порт 80h, а, к примеру, в порт 92h, поэтому дешевый индикатор не является универсальным, впрочем, в наших условиях данный недостаток не критичен.
Так как девайс этот, в принципе, не сложный, многие умельцы собирают его для себя сами, в домашних условиях. Собрать подобное устройство вполне под силу даже начинающему радиолюбителю. Но здесь есть одно «НО» - это разъем PCI, сделать его в домашних условиях практически невозможно, поэтому собирать индикатор самостоятельно нецелесообразно, гораздо проще купить готовый, тем более, стоит он совсем недорого. Также индикатор может быть снабжен разноцветными диодами, индицирующими наличие питания в цепях матплаты (-5В, -12В, +3.3В, +5В, +12В).