Главная страницаОбратная связьКарта сайта

Системные BIOS. Функциональные возможности BIOS

Несмотря на то, что все персональные компьютеры состоят из одинаковых основных подсистем, все они имеют небольшие отличия. Особенно это справедливо для обрабатывающих компонент (системных контроллеров), расположенных на системной плате. Такое положение дел является результатом стремительного усовершенствования компонент и развитием технологии персональных компьютеров. Перед разработчиками встала задача: как использовать одну и ту же операционную систему на разных компьютерах? Вместо того чтобы подстраивать операционную систему (и прикладное программное обеспечение) к конкретной модели компьютера, в них стали устанавливать микросхемы ПЗУ, в которых находится базовая система ввода/вывода— BIOS (Basic Input/Output System). На рис. 7.1 представлена системная плата, на которой показана микросхема BIOS. BIOS обеспечивает интерфейс между аппаратурой персонального компьютера и операционной системой (ОС). По запросам операционной системы BIOS выполняет стандартный набор функций. В результате этого каждая компьютерная система имеет немного отличающуюся BIOS, но каждая BIOS сояержит один и тот же набор функций для взаимодействия с ОС. В этой главе приводится описание внутренней организации и работы типичной BIOS, приводится методика определения версии используемой в компьютере BIOS, и описываются многочисленные возможности, которые обеспечиваются современной BIOS.

Рис. 7.1 Системная плата Soyo P4I FireDragon

Работа BIOS связана не только с функционированием системной платы. Большинство версий BIOS в дополнение к другим функциям системной платы выполняют большое количество стандартных процедур, обеспечивающих работу контроллера видеосистемы и дисковых накопителей. Но что делать в том случае, когда разрабатывается новая видеокарта, и системная BIOS не знает, как с ней работать, или когда появляется усовершенствованная плата контроллера накопителя? Общепринятой практикой в производстве компьютеров стало использование микросхем ПЗУ BIOS для основных подсистем компьютера, в частности для видеосистемы и контроллеров дисковых накопителей. Одним из первых действий при инициализации системы является определение присутствия других ПЗУ BIOS в верхней области памяти (в пределах от 640 до 1024 Кбайт). Такие BIOS используются в платах расширения или контроллерах. После обнаружения дополнительной микросхемы BIOS проверяется ее контрольная сумма, а затем обнаруженная BIOS используется в работе персонального компьютера.


Системные BIOS

ПЗУ типичной BIOS занимает 128 Кбайт верхней области памяти системы — UMA (upper memory area) в диапазоне адресов с EOOOOh no FFFFFh (внутри первого мегабайта памяти компьютера). Вопреки бытующему представлению, BIOS — это не единая программа, а набор отдельных служебных программ достаточно малого размера. BIOS состоит из трех частей: программы начальной диагностики — POST (Power-On Self- Test), программы настройки параметров системы — CMOS Setup, и служебных системных подпрограмм. Каждая из подпрограмм BIOS выполняется в определенный момент времени в зависимости от состояния компьютера.

POST

Хотя многие начинающие специалисты по обслуживанию ПК знают, что POST проверяет работоспособность компьютера, мало кто из них догадывается, что эта система управляет всем процессом запуска компьютера. POST управляет практически всеми действиями по инициализации ПК, выполняет низкоуровневые диагностические проверки и надежно проверяет основные обрабатывающие компоненты компьютера, включая программное обеспечение, находящееся в ПЗУ, а также системную память. POST проверяет центральный процессор, инициализирует системный комплект контроллеров, проверяет память CMOS, где хранятся параметры настройки системы, и заполняет таблицу векторов прерываний для процессора по адресам с OOOOh no 02FFh. Затем POST устанавливает область стека BIOS в диапазоне адресов памяти с 0300h no 03FFh, загружает область данных BIOS в нижнюю память по адресам с 0400h no 04FFh, производит поиск дополнительных микросхем ПЗУ BIOS различных адаптеров и выполняет загрузку операционной системы с имеющегося диска.

Программа настройки параметров системы (CMOS Setup)

Параметры настройки любого П К хранятся в небольшой микросхеме оперативной памяти CMOS, потребляющей мало энергии. Доступ к этим параметрам осуществляется с помощью служебной программы CMOS Setup, являющейся составной частью BIOS. На старых ПК, созданных на основе микропроцессоров i286 и 1386, эта программа находилась вместе с операционной системой на гибком магнитном диске. Этот установочный диск нередко терялся или выходил из строя от частого употребления. Начиная с последующих моделей компьютеров на основе микропроцессора i386, программа CMOS Setup стала частью системной BIOS. В период загрузки системы POST собирает информацию о системной аппаратуре и сравнивает ее с параметрами, хранящимися в CMOS. Если расхождений не обнаруживается, то аппаратура считается работоспособной, и процесс начальной загрузки системы продолжается. В противном случае загрузка прекращается, и выводится сообщение об ошибке настройки системы. Версии программы CMOS Setup сильно отличаются от производителя к производителю и от системной платы к системной плате, поэтому нет единого стандарта параметров настройки и места их расположения в памяти CMOS. Хотя первые 128 байт содержимого CMOS стандартизированы, непосредственное обращение к ней сегодня может интересовать разве что разработчиков драйверов и других низкоуровневых системных подпрограмм.

Во многих компьютерах фирмы Compaq программа установки располох-енл в диагностическом разделе (diagnostic partition) жесткого диска. Если жесткий диск выходит из строя или заменяется, то диагностический раздел может быть потерян. В этом сл\чае изменить настройку компьютера не удастся до тех пор, пока не будет восстановлен диагностический раздел на жестком диске

Служебные системные подпрограммы

Служебные системные подпрограммы (также называемые служебными подпрограммами BIOS) представляют собой набор отдельных функций, образующий программный слой между аппаратурой и операционной системой. Именно универсальность этих функций позволяет одну и ту же операционную систему использовать на персональных компьютерах с различными системными платами, архитектурами шин, процессорами и комплектами интегральных микросхем. Эти служебные подпрограммы вызываются посредством механизма программных прерываний. Обычно прерывание заставляет процессор прекратить выполнение текущей работы и передать управление по адресу расположения служебной подпрограммы, которая специально предназначена для обработки данного прерывания. Когда программа обработки прерывания завершит свою работу, происходит восстановление состояния процессора на момент возникновения прерывания, и программное управление возвращается в то место, где была прервана работа процессора. Существует большое количество событий, которые могут вызвать прерывание процессора. Источниками прерываний может быть сам процессор, аппаратура или программа.

Прерывания, генерируемые процессором (процессорные прерывания) часто являются результатом необычного, неожиданного или ошибочного результата выполнения программы. Например, если профамма пытается выполнить деление числа на ноль, процессор генерирует прерывание INT 00h, в результате чего появляется сообщение об ошибке «Деление на ноль» (Divide by zero). Существуют пять процессорных прерываний (от 00п до 04п).

Аппаратные прерывания генерируются, когда периферийное устройство хочет сообщить процессору о необходимости выполнения определенной задачи. Аппаратные прерывания инициируются выставлением логического уровня на линии запроса прерывания — IRQ (Interrupt Request). Процессор приостанавливает свою работу и выполняет процедуру обработки прерывания. Затем процессор возвращается к нормальной работе. Например, каждый раз при нажатии клавиши клавиатуры, контроллер клавиатуры генерирует запрос на прерывание IRQ1, соответствующий прерыванию INT 09h. Это приводит к запуску профаммы обработки прерывания клавиатуры. Персональные компьютеры, начиная с IBM PC/AT, обычно имеют 16 линий аппаратных прерываний (с IRQ0 по IRQ 15), что соответствует INT 08h—OFh и 70h—77h соответственно.

Программные прерывания генерируются для проверки устройства или для управления устройством с целью выполнения определенной работы. Кроме этого, профаммные прерывания широко использовались в DOS как для предоставления функций самой операционной системы, так и для организации межпрограммного взаимодействия. Частным случаем программного прерывания является функция «print screen» (печать экрана). Когда на клавиатуре наживается клавиша PRINT SCREEN, генерируется прерывание INT05h (интересно, что это программное прерывание вызывается из обработчика аппаратного прерывания от клавиатуры). Стандартная профамма обработки этого прерывания выводит на печать текущее изображение на экране монитора. Операционная система Windows обрабатывает нажатие этой клавиши по-другому: текущее содержимое экрана копируется в буфер обмена.

Функциональные возможности BIOS

Компоненты персонального компьютера непрерывно совершенствуются — будь то центральные процессоры, системные контроллеры, память, видеосистема, дисковые накопители и т.п. По мере совершенствования компьютерной аппаратуры должна развиваться и BIOS с тем, чтобы учитывать появляющиеся новые ресурсы современных компьютеров. В связи с этим важно иметь представления об основных возможностях современной BIOS. He обязательно разбираться во всех деталях, но надо, по крайней мере, уметь узнавать «современную» BIOS по ее возможностям. В табл. 7.1 перечислены функциональные возможности современной версии Award BIOS. Хотя некоторые из перечисленных возможностей могут показаться почти идентичными, главные возможности современной BIOS можно сгруппировать в следующие разделы:

■     Поддержка процессора. BIOS может работать с большим набором центральных процессоров, преимущественно следующих производителей: Intel, AMD и Cyrix. В частности поддерживаются следующие процессоры Pentium, Pentium MMX, Pentium Pro, Pentium II, Pentium HI, Pentium 4, AMD Athlon, и AMD Duron (конечно, ни одна BIOS не может поддерживать работу сразу всех возможных процессоров, следует заметить также, что в последнее время процессоры Intel и AMD являются несовместимыми по разъемам и требуют существенно различных чипсетов).

■     Поддержка системных контроллеров (чипсетов). BIOS может поддерживать работу последних моделей системных контроллеров. Поддержка работы системных контроллеров является чрезвычайно важной, поскольку именно с их помощью системная плата осуществляет реализацию таких функций как, например, управление питанием.

■     Поддержка памяти. BIOS должна уметь автоматически определять размер системной памяти и поддерживать современные типы памяти (например, SDRAM, DDR-SDRAM, и Rambus). Также должен поддерживаться контроль ошибок памяти с использованием бита четности или кода коррекции ошибок (ЕСС). Современная BIOS может работать с памятью емкостью до 4 Гбайт (а в серверах и более), хотя системная плата может и не иметь достаточно разъемов для установки такого объема памяти.

■     Поддержка функции управления питанием. BIOS должна полностью соответствовать спецификации интерфейса ACPI версии 1.0 или более поздней, а также поддерживать спецификацию интерфейса BIOS с усовершенствованными средствами управления энергопотреблением (АРМ BIOS) версии 1.2 или более поздней. Управление питанием особенно важно для переносных компьютеров, но также широко используется в настольных компьютерах с целью уменьшения потребления энергопитания. BIOS должна поддерживать функцию DPMS для управления питанием мониторов.


■     Поддержка накопителей. BIOS должна поддерживать большие жесткие диски UltraATA с количеством цилиндров более 1024, 32-разрядный обмен с дисками, современные режимы передачи данных (Ultra-DMA/33, Ultra-DMA/66, Ultra-DMA/100, Ultra-DMA/133, Serial-ATA). При этом должна обеспечиваться поддержка всех типов CD-дисководов, а также других IDE-накопителей (например, Iomega Zip или Jaz). В некоторых случаях BIOS может даже включать поддержку основных функций технологии RAID, например функцию RAID-1 (зеркальные диски).

■     Поддержка спецификации PC 2001. BIOS должна соответствовать требованиям спецификации PC 2001 System Design Guide (или более поздней ее версии) компании Microsoft.

■     Поддержка I20. BIOS должна поддерживать функции интеллектуального ввода/вывода (120), которые позволяют динамически назначать порты и ресурсы устройствам ввода/вывода в компьютере. Чаще всего это встречается в серверных платформах.

■      Поддержка универсальной загрузки. BIOS должна уметь загружать систему с нескольких различных накопителей и поддерживать протокол BBS (BIOS Boot Specification — спецификацию загрузки BIOS) для загрузочных устройств. В настоящее время поддерживается загрузка с накопителей IDE (включая все типы CD-дисководов), SCSI-накопителей и сетевых плат. Поддержка накопителей со съемными носителями (например, Iomega Zip или SyQuest) также считается достоинством.

■      Поддержка технологии Plug-and-Play. BIOS должна обнаруживать и настраивать РпР-устройства в период выполнения процедуры POST. BIOS также должна взаимодействовать с операционной системой Windows при распределении системных ресурсов, и поддерживать управление запросами на прерывание (IRQ) для устройств шины PCI. Поддержка спецификации AML компании Microsoft обеспечивает совместимость с РпР-возможностями современных операционных систем семейства Windows (2000 иХР).

■      Поддержка нараллельного порта. BIOS должна поддерживать весь спектр режимов работы параллельного порта, включая стандартный параллельный порт SPP, двунаправленный режим, режим ЕРР и режим ЕСР. Все эти режимы определены стандартом IEEE 1284.

■      Поддержка шии PCI и AGP. BIOS должна поддерживать спецификацию шины PCI версии 2.1 или более поздней, включая мосты PCI- PCI и PCI-ISA. BIOS должна также поддерживать работу ускоренного графического порта AG P версии 2.0 или более поздней.

■      Поддержка универсальной последовательной шины USB. BIOS должна поддерживать спецификации Universal HCI и Open HCI. Она должна обеспечивать полную совместимость и поддержку устройств шины и многоуровневых концентраторов шины USB. В современных версиях BIOS осуществляется поддержка стандарта USB 2.0 (скорость передачи данных до 480 Мбайт/с).

■      Антивирусная зашита. BIOS должна содержать опцию антивирусной защиты. Как минимум, BIOS должна предотвращать изменение главной загрузочной записи (один из традиционных способов размножения вирусов).

Если вы собираетесь познакомиться с возможностями используемой в компьютере BIOS или планируете установить новую версию, то можете многое узнать из кодов идентификации BIOS. Ниже приводятся сведения о том, как определить версию установленной BIOS и разобраться в том, какую информацию содержит строка идентификации BIOS, которая выводится в процессе загрузки системы.






Обсудить статью на форуме


Если прочитаная статья из нашей обширной энциклопедия компьютера - "Системные BIOS. Функциональные возможности BIOS", оказалась полезной или интересной, Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по статье через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2024 Дискета.info