Начнем с того, что полное название БИОСа – ROM BIOS (Read Only Memory Basic Input/Output System – только для чтения основная система ввода/вывода). По-русски это будет – ПЗУ (Постоянное Запоминающее Устройство). На фига нужна BIOS? Дело в том, что ПЗУ является связующим звеном, между операционной системой и железом. Не будь ROM BIOS, то операционка была бы через чур привязана к аппаратным средствам и полностью бы от них зависела.
А это ни есть хорошо - подгонять операционную систему под каждую конфигурацию аппаратных средств. Любая система укомплектована своей ROM BIOS, а поскольку операционные системы имеют единый интерфейс для работы с различной аппаратурой, то проблем в несовместимости hardware и software, как правило не происходят, так как между ними как раз и стоит BIOS. Все это может выглядеть примерно так:
Каждая материнская плата оснащена микросхемой BIOS, которых существует четыре типа:
1. ROM (Read Only Memory) или ПЗУ;
2. PROM (Programmable ROM) или ППЗУ (Программируемое ПЗУ);
3. EPROM (Erasable PROM) или СППЗУ (Стираемое ППЗУ);
4. EEPROM (Electrically EPROM) или ЭСППЗУ (Электронно – Стираемое ППЗУ), второе название – flash ROM.
Теперь о всех по порядку.ROMПервые ПЗУ представляли собой матрицу на которой был выжжен код программы. Матрица представляла собой кремниевый кристалл. Перезаписать данные не представлялось возможным. Сия технология продержалась не слишком долго и мы ее рассматривать более подробно не будем.PROMВ конце 70х годов фирма Texas Instruments разработала впервые программируемое ПЗУ. Первое ППЗУ имело емкость до 2 Мбайт. Принцип программирования этого ППЗУ понять можно если представить каждую ячейку хранения информации в виде плавкого предохранителя. Если предохранитель целый – это 1, если нет – 0. Большинство подобных микросхем работало под напряжением около 5 В, а запись кода производилась при напряжении 12 В. Но если 1 могла преобразоваться в 0, то преобразование наоборот невозможно. Из этого следует, что запись на микросхему PROM можно сделать один раз. Но в отличие от ПЗУ, ППЗУ можно было запрограммировать в домашних условиях. Нужно было лишь купить новую ИС и иметь дома программирующее устройство подключенное к компьютеру. Микросхемы ППЗУ имели свои идентификационные номера по которым можно было определить тип ППЗУ и объем в Кбайтах. Например, номер 271000 означает тип - TI, объем – 1Мбит.EPROMНа новых микросхемах имелось кварцевое окошко, между прочим довольно дорогое. Знаете зачем? Через окошко под воздействием ультрафиолетовых лучей возникала химическая реакция которая восстанавливала ячейки (вспомните пример плавких предохранителей). Для этого требовались лучи с длинной волны в 2,537 ангстрем и интенсивностью в 12000 мВт/см2. Максимальное расстояние от источника до микросхемы должно было быть не более 3 см., а время экспозиции – от 5 до 15 мин. Для стирания записанной информации применялось специальное устройство. По физическим и функциональным параметрам микросхемы EPROM особо не отличались от PROM. Кстати, во времена широкого использования ППЗУ, пользователям рекомендовалось окошко заклеивать изоляционной лентой во избежания повреждения данных под воздействием солнечных лучей. Нумерация микросхем была схожей с PROM.EEPROMОсновное преимущество этих микросхем заключается в том, что для перепрограммирования не требуется их снятия с материнской платы и не требуется никакого дополнительного оборудования. Уже с 1994 года почти все системные платы оснащаются flash ROM, а на данный момент времени другого BIOS на современной материнской плате и не встретишь. Нумерация flash BIOS такая:
28Fxxx - 12V Flash память
29Cxxx - 5V Flash память
29LVxxx - 3V Flash memory
28Cxxx – EEPROM или Flash память
PH29EE010: SST ROM Чип - перепрашиваемый
29EE011: Winbond чип - 5V Flash память
29C010: Atmel Chip - 5V Flash память
Свой дальнейший рассказ я поведу именно о flash BIOS.Вот так вот выглядит микросхема ROM BIOS:А вот так вот будут выглядеть упрощенные схемы расположения ROM BIOS на материнских платах:
ROM BIOS состоит из четырех основных компонентов:
POST (Power-On Self Test)
Процедура самотестирования при включении питания. При проверке тестируются: центральный процессор, само ПЗУ, элементы материнской платы, ОЗУ и основные периферийные устройства. Грубо говоря, POST – это набор маленьких подпрограмм. Проверка не является тщательной но серьезные неисправности все же обнаруживаются. Информация об ошибках выводится тремя путями: вывод информации в виде текста или шестнадцатеричных кодов ошибок на экран и набор звуковых сигналов. В случае успешного прохождения теста встроенный динамик выдает один короткий сигнал.
BIOS (Basic Input/Output System)
По сути дела это набор драйверов (драйвер – программа управления устройством), обеспечивающих работу системы при запуске компьютера или при загрузке в безопасном режиме. Дело в том, что когда Вы включаете комп, то еще до загрузки операционной системы можно управлять им с клавиатуры, видеть все действия на мониторе. Кроме этого, если Вы загружаетесь в безопасном режиме, то отказываетесь от драйверов операционной системы и в работе остаются только драйвера BIOS.
Программа начальной загрузки
Эта программа после включения компьютера ищет операционную систему, загружает ее и отдает ей все управление компьютером.
CMOS (Complementary Metal Oxide Semiconductor)
Сия технология позволяет создавать более экономичные микросхемы. Эффект экономии достигается за счет уменьшения потребления энергии. Такое название происходит от специфичности работы логических вентилей, полученных по этой технологии. Когда одни вентили открываются, другие вентили, являющиеся парой первой, закрываются. Большие потоки энергии могут проходить через двойственные вентили только тогда, когда они меняют свой статус. Благодаря такой работе и достигается экономия энергии, что позволяет использовать в качестве питающего элемента батарейку не большой емкости. Расположена эта хитрая микросхема на материнской плате. Впрочем, батарейка тоже.
Для чего нужна в компьютере CMOS? Здесь хранятся настройки BIOS, которые можно изменить с помощью программы Setup. Вызвать эту программу достаточно просто, необходимо лишь после включения компьютера, еще до начала загрузки операционной системы, нажать несколько раз кнопи [Delete] или [Ctrl][Alt][Esc] или [Ctrl][Esc] или [Esc]. Короче, вариантов несколько и зависит это от производителя, но что и когда жать, как правило, пишется внизу экрана.
Кстати, если Вы что-то изменили настройках BIOS и компьютер отказался после этого работать (не проходит даже POST и нет короткого звукового сигнала), то не кидайтесь в панику. Как правило, все производители материнских плат предусмотрели такой вариант – покопайтесь в инструкции к Вашем материнской плате и Вы найдете название той заветной кнопи, которую необходимо нажать сразу же после включения питания к системному блоку. В некоторых стареньких компьютерах CMOS Setup загружалась с винта или дискеты, а в современных компах она находится в ПЗУ.
Спешу отметить тот факт, что сама системная программа BIOS, которая хранится в ПЗУ, при включении компьютера записывается в оперативную память, а точнее в так называемую верхнюю память UMB (Upper Memory Area). UMB - это 384 Кбайт, зарезервированной у верхней границы первого мегабайта системной памяти (для компьютеров класса АТ). Адреса этой зоны находятся в пределах от A000 до FFFF. Для системной BIOS выделены сегменты E000 и F000, а это уже после первых 128 Кбайт, которые отданы видеопамяти. Не вся выделенная под системную программу BIOS область оперативной памяти используется на 100%. Зачастую сегмент Е000 только лишь считается занятым программой BIOS, что на самом деле не так. Процессоры, начиная с 80386, с помощью устройств управления, могут использовать этот сегмент для других программ.
Благодаря программе Setup можно изменить параметры конфигурации системы, настроить работу некоторых устройств, защитить компьютер от несанкционированного включения и так далее. О том как и что настроить в BIOS я, пожалуй, писать не буду. Все равно у меня не получится лучше, чем это написано на www.ixbt.com. Там есть подробное описание настроек BIOS от AWARD Software International Inc. Я сам, честно говоря, в работе не раз пользовался этой статьей.
И напоследок я не могу удержаться и дам Вам практический совет: старайтесь ничего не менять в BIOS, если Ваша система в порядке! Только в случае неисправностей или отладки работы какого-либо устройства можно что-нить изменять в настройках. Прежде чем запускать Setup наберитесь информации и делайте все с умом. Помните – голова дана человеку не только для того, что б в нее есть!
А теперь давайте посмотрим, что происходит, когда Вы включаете компьютер:
1. После включения источник питания проводит самотестирование и в случае положительного результата теста выдает на материнскую плату сигнал Power Good. Все это происходит за 0.5 сек.
2. После получения сигнала Power Good таймер перестает генерировать подаваемый на процессор сигнал Reset.
3. CPU начинает выполнять код, который записан в ROM BIOS по адресу FFFF:0000. По данному адресу записана команда перехода на реально выполняемый код ROM BIOS.
4. ROM BIOS проводит тестирование системы на наличие ошибок, в случае нахождения которых будет подан лишь звуковой сигнал, так как видеоадаптер еще не инициирован.
5. Для того, что бы найти программу работы с видеоадаптером, BIOS сканирует адреса от C000:0000 до C780:0000. В случае нахождения программы, BIOS проверяет контрольную сумму кода. При совпадении суммы с заданной управление передается BIOS видеоадаптера и на монитор выводится первичная информация. В случае, если BIOS видеоадаптера на найдена, управление передается, встроенному в BIOS материнской платы, драйверу.
6. Сканируются следующие адреса памяти начиная с C800:0000 до DF80:0000 с целью обнаружения BIOS каких либо еще устройств в системе. В случае обнаружения оных так же проверяется контрольные суммы кодов и затем управление этих устройств отдается их встроенным BIOS.
7. По адресу 0000:0472 ROM BIOS проверяет значение слова, определяющего тип загрузки – холодная или горячая. В случае холодной загрузки в работу будет запущена POST, в случае горячей – POST будет пропущен.
8. Выполняется POST (в случае холодного пуска) для проверки всех компонентов системы. При отсутствии фатальных ошибок выдается встроенным динамиком короткий сигнал.
9. ROM BIOS производит поиск дискеты в дисководе (при соответствующей настройке) и читает на ней сторону 0, цилиндр 0 сектор 1. Этот сектор загружается по адресу 0000:7С00 и проверяет, является ли дискета загрузочной. В случае повреждения этих данных или же дискета не является загрузочной, то на экран выводится соответствующее сообщение.
10. Если в дисководе нет дискеты, то ROM BIOS читает MBR (Memory Boot Record), которая лежит в первом секторе жесткого диска и загружает его (сектор) в память по адресу 0000:7С00.
11. В работу вступает программа, находящаяся в MBR. Дальнейшее нас уже не должно интересовать, так как не относится к теме данной статьи.
Как Вы наверно уже поняли ОЗУ и ПЗУ разделять на диаметрально противоположные памяти нельзя. Часть адресного пространства ОЗУ отводится под данные и коды BIOS. Говоря другими словами, во время работы компьютера BIOS является частью оперативной памяти. Ниже я приведу карту памяти и размещения области ROM BIOS в большинстве АТ совместимых компьютерах:
Теперь кое-что о совместимости. Любая версия ROM BIOS не может поддерживать абсолютно все существующие устройства. Особенно это касается устаревших версий. Оно и понятно. Мир не стоит на месте. Постоянно появляется что-то новенькое и это новенькое иногда требует обновления BIOS. Следует учесть еще и вот какой аспект. Дело в том, что на рынке инфотехнологий всего два основных производителя ROM BIOS – Phoenix Technologies, и AMI (American Megatrends, Inc). Когда-то существовала еще и Award Software, но в 1998 году Award была выкуплена Phoenix и сейчас существует лишь торговая марка. Большинство производителей материнских плат заказывают BIOS у этих фирм. Но, например, Compaq производит BIOS полностью самостоятельно, что сказывается на, мягко говоря, низкой совместимости с устройствами изготовленными другими фирмами. Поэтому будьте осторожны с покупкой подобных персональных компьютеров.
Ну и напоследок об обновлении ROM BIOS. Дело это не шуточное и поэтому определитесь – действительно ли Вам необходимо обновлять версию BIOS. Лучше всего пригласить человека, который уже занимался подобными вещами. Если же у Вас нет таких знакомых, тогда дело осложняется. Но нет ничего невозможного, не боги же горшки обжигают. Вот несколько советов:
1. Помните всегда - нет никаких гарантий, что обновление пройдет гладко, безболезненно и безошибочно.
2. Не факт, что если Ваша система нормально работает с данной версией BIOS, то будет еще лучше работать с обновленной.
3. Обязательно сохраните текущую версию BIOS перед заменой.
4. Прежде чем заняться обновлением, соберите как можно больше информации о процессе смены версий BIOS конкретно для Вашей материнской платы.
5. Если у Вас нет опыта работы с DOS, советую Вам немного потренироваться в работе с этой операционной системой.
6. И самое главное, помните, что если во время перезаписи пропадет питание или случится еще какой сбой, то последствия непредсказуемы. Вполне возможен вариант, когда Вы уже ничем не сможете помочь своему компьютеру и придется нести его в сервис, где Вам возможно и все восстановят, но уже за N-ую сумму денег.