BIOS Inside

(Продолжение. Начало в №43)


4. Определение типа процессора и его частоты

Если BIOS не "узнает" процессор (его тип - модель/стэппинг), то система как бы должна остановиться. Но чаще всего на экран просто выводится что-нибудь смешное типа "80486DX2 at 66MHz" для первых Pentium-ов (так обычно старые BIOS ругаются на AMD K6-2), или вдруг Intel Celeron Coppermine принимается за Pentium III. В любом случае компьютер или не заработает, или же будет работать некорректно, а то и опасно для самих процессоров (например, в случае "незнания" выставив неверное напряжение питания процессора).

  • Соответственно, очередной совет - перед тем как приобрести себе новый процессор, убедитесь, что ваша плата/BIOS его поддерживают. В этом смысле не всегда правильно руководствоваться тем, что написано в инструкции на плату (мануале) или на самой плате. Документация на плату обычно не самая свежая и на момент её печати производитель мог и не подозревать, что когда-то появится вот такой "крутой" процессор, вот на "столько много" мегагерц. Поэтому в ней может и не быть указано, что она поддерживает этот процессор, хотя в "последнем" (самой "свежей" версии) BIOS будет его полная поддержка. Ограничения чаще всего связаны как раз не с возможностями биоса-чипсета, а с невозможностью установить нужное напряжение питания процессора, которое у всё более новых процессоров всегда понижалось, а установленный на плате блок питания процессора не был на это рассчитан.


5. Основная настройка чипсета и прочей логики

 

Главная настройка/программирование переменных чипсета. Часть значений BIOS устанавливает сам, по умолчанию (задаётся производителем платы), а часть может задать/изменить пользователь в подпрограмме BIOS Setup, куда обычно попадают, нажимая Del при загрузке. Переменные, заданные в BIOS Setup, записываются в специальную CMOS-память (в старых системах отдельная микросхемка, а с Пентиум-1 она встраивается в сам чипсет). Именно возможностями этого пункта и отличаются "крутые для разгона" платы, где можно задать множество настроек, влияющих на скорость (и стабильность) всего компьютера, в первую очередь, подсистемы памяти.

  • Совет "гонщикам": перед тем, как запрограммировать переменные, BIOS "смотрит", нажата ли клавиша "INS", и если да, то устанавливает все значения "по умолчанию". А это может оказаться крайне полезно, особенно когда выбор частоты процессора/памяти был "случайно" задан "за слишком" круто.


6. Проверка CMOS-памяти, исправности батарейного питания

CMOS-память - это совсем маленькая по объёму память (256 байт), которая благодаря своей технологии (CMOS- или КМОП-технологии, по-нашему) потребляет очень мало энергии. Поэтому для достаточно долгой беспрерывной работы ей хватает маленького трёхвольтового аккумулятора, который, правда, почему-то обычно называют батарейкой. CMOS-память крайне важна для работы всего компьютера (в ней хранится вся конфигурационная информация), поэтому она также проверяется на контрольную сумму, и при ошибке система просто останавливается, плата не запускается. Вместе с CMOS-памятью проверяется наличие и исправность аккумулятора, питающего её. В результате ошибки BIOS выдаёт соответствующую надпись (что-то типа "CMOS-checksum error" или "Battery Low Level", если аккумулятор разрядился). Если в CMOS-е по каким-либо причинам (например, в результате разгона, севшего аккумулятора, после перешивки BIOS) будет просто беспорядочная информация, компьютер может совсем не запуститься. Поэтому в любом случае в подобной ситуации всегда есть смысл "сбросить CMOS" (перемычка Clear CMOS, расположенная обычно рядом с аккумулятором) или же проверить напряжение аккумулятора - оно не должно быть меньше трёх вольт. Здесь ещё один комментарий: логично было бы предположить, что во время работы компьютера аккумулятор должен подпитываться для подзарядки. Так вот, оказывается, есть такие суперплаты, где об этом забыли подумать, и когда аккумулятор садится, они тихо-мирно издыхают из-за вышеописанной проблемы. Расстроенные обладатели таких суперплат отдают их скупщикам как металлолом, а последним остаётся просто перешить BIOS или заменить аккумулятор и получить абсолютно рабочую плату. Правда, до того, как она опять не вырубится таким же способом. Не буду показывать пальцем, что за монстры придумывали такие перлы, скажу только, что, видимо, не зря название этой фирмы начинается с самой последней буквы буржуйского алфавита.


7. Установка подпрограмм низкоуровневой работы с "железом"

Именно здесь записываются в память все подпрограммы обработки прерываний: от клавиатуры и таймера до видео и винчестера. От правильной реализации этого пункта во многом зависит и скорость, и стабильность, и совместимость системы. Поэтому из-за некорректной работы именно этого пункта сыпятся всякие проклятия и обвинения платы в глючности, а значит, именно в этот пункт чаще всего и вносятся изменения, - выходят новые версии BIOS, где исправляются замеченные ошибки. Характерный, ещё свежий пример - проблема, с которой столкнулись счастливые обладатели Athlon`ов на ВИА-шных платах с Лайв-звуком от "Креатив".

  • Очередной совет: если свежекупленная плата ну просто дико радует вас своей стабильностью, и только какой-нибудь проклятый 3D-Mark-ообразный тест постоянно подвешивает систему или после просыпания компьютера (из Suspend Mode) вдруг куда-то пропадает мышка, или любая другая, не совсем логичная, экзотичная, неадеквадная реакция со стороны почти любимца - не расстраивайтесь, не кричите, что нет в жизни счастья, идеальных женщин и материнских плат, - а просто зайдите на страничку производителя вашей платы, там вполне может оказаться свежая прошивочка, где как раз и будут заборены эти столь досадные недоразумения. Ещё один момент происходит на данном этапе, который, кстати, отражает тот факт, что и лично процессор (совершенно не разогнанный) может быть повинен в возникающих ошибках. Думаю, все помнят, что, как ни странно, поговорка о том, что не ошибаются только компьютеры, не совсем верна. Ошибаются. И на ноль они успешно делят, и два плюс два у них не четыре получается, в общем, тоже грешны. Конечно, эти ошибки очень мелкие и, как уверяют маркетологи, могут случаться раз в тысячелетия, но скорости растут, тысячелетия сжимаются до дней, а то и минут. Потому в Intel-процессорах, начиная с PentiumPro (семейство P6, в которое входят и P-2/Celeron/P-III/P4), ввели что-то типа "набортного BIOS" самого процессора - изменяемый микрокод его команд. Ведь проще заменить микрокод программно, просто включив новый код с найденной и исправленной ошибкой, в свежую прошивку BIOS, а не отзывать назад проданные процессоры и менять их на новые, которые не будут твердить, что 2+2=3.9999999999. В общем, на этом этапе, кроме всего прочего, происходит ещё инициализация внутреннего микрокода процессора. Но не все ошибки (именно процессора) можно исправить/уже исправлены подобным способом (обновлённый микрокод). Все равно остаётся несколько десятков встречающихся пусть, в основном, лишь теоретически, но однозначных багов. Это надо помнить - нет ничего идеального.

(Продолжение следует)

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

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

Номер: 

44 за 2001 год

Рубрика: 

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

Комментарии

Аватар пользователя Макс Курмаз
По-моему, опять есть неточности.

>> Характерный, ещё свежий пример

>> проблема, с которой столкнулись

>> счастливые обладатели Athlon`ов на

>> ВИА-шных платах с Лайв-звуком

>> от "Креатив".

Зависит ли эта проблема от обработчиков прерываний? А может, дело в настройках чипсета, точнее, контроллера PCI?

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

Третий момент: если проц не определяется, то он не получает нужный микрокод. Вот почему нужен новый BIOS, а не из-за неправильного питания.

Аватар пользователя apple_rom
1. VIA тыкает на Creative, те - на VIA, кто прав, кто виноват и почему - точно сказать сложно. Ведь аналогичные проблемы с SBLive! присутствуют и на Intel-овских чипсетах. Но в принципе - да, не слишком удачный пример, проблему басмастеринга сложно отнести к чему-то конкретно.

2 и 3. Помните, были такие компьютеры - Pentium1:). Точнее, Socket7. Так там не было ещё VID и microcode, они появились начиная с P2. Правда, вру - VID были, но в мобильных, например, К6-2+, но это не в счёт.

Аватар пользователя Savely
To apple_rom: Мы помним, что в P1 напряжение проца ставилось джамперами и от BIOS не зависело. ;-)
Аватар пользователя apple_rom
2 Savely

Согласен. Речь о тех, где использовался JumperFree - автодетект.

Аватар пользователя Savely
И сколько их таких было - 5 процентов? :-).

Ты уж извини, статья неплохая - пусть народ хоть в основном сечет.

А тут для меня лично один из немногих тредов, где я могу что-то сказать... Так что не обижайся, если на след. неделе наеду :-)))

Аватар пользователя apple_rom
>И сколько их таких было - 5 процентов? :-).

А. Хотелось всё ж "пообщее, поглобальней".

>Так что не обижайся, если на след. неделе наеду :-)))

Не вопрос, я к критике отношусь, тем более - всех денег не заробатаешь, всех хэлпов не прочтёшь... Да я и сам могу (наехать на написанное) - многое утрировалось в виду невозможности сказать обо всём подробно, да ещё чтоб всем понятно было. Да и писалось, вообще-то, давненько, некоторое в моём представлении изменилось, но не хотелось затевать Бесконечную правку.

Аватар пользователя Sanyok
To author: Good article. "всех хэлпов не прочтёшь".

To all: VIA and SBLive problem is indeed more related to chipset and PCI controller. Nevertheless is it not BIOS that sets chipset registers at startup?

(Sorry no russian letters on keyboard)