Как работает BIOS

Как работает BIOS

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

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

Список векторов прерываний начинается с самого начала памяти микропроцессора по адресу 00000(Hex). Каждый вектор занимает 4 байта памяти, и все они располагаются в памяти по возрастающей. Недостающие значения для каждого вектора загружаются в оперативную память с ПЗУ, содержащих BIOS при загрузке компьютера. Программы могут изменять вектора прерываний для изменения значений прерываний программного обеспечения. Обычно завершающиеся и остающиеся резидентными программы реализуют подобные корректировки векторов для своих собственных целей.

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

В BIOS постоянно вносятся изменения. Это происходит каждый раз для совершенствования системы при разработке новых компьютеров или новых системных плат в рамках уже существующих моделей. Наиболее радикальные изменения претерпела BIOS PS/2, когда был представлен микроканал. Улучшенная BIOS реализовывала возможности нового защищенного режима. Каждая BIOS после PC-1 является расширяемой. Вовремя загрузки компьютера читается дополнительная секция кодов, содержащихся в дополнительных платах и их инструкции прибавляются к существующему диапазону. Например новые подпрограммы прерываний могут быть добавлены либо в функции существующих подпрограмм, либо могут быть изменены.

Во время самотестирования, после загрузки векторов прерываний ОЗУ, резидентный код BIOS заставляет компьютер проверить байты своего ПЗУ в соответствующем адресном диапазоне. Если найден значащий байт, процессор проверяет последующую секцию кодов, разрешая расширению BIOS после проведения циклической проверки блоков по 512 байт. Значения каждого байта в блоке суммируются по модулю, результат делится на 4096. Нулевой остаток говорит о том, что расширение BIOS имеет правильное значение.

Дополнительные секции кодов маркируются специальным значением, помещаемым перед ним. Затем после этих двух байтов - третий байт указывает дополнительную длину секции BIOS. Значение третьего байта указывает на количество блоков по 512 байт, необходимых для дополнительных кодов.

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



Ресурс: Виртуальная школа БАКАЙ
Статья: Как работает BIOS
Опубликовано:
Автор:
Читателей:1838

Оценка статьи:
ОтвратительноУжасноПлохоСреднеХорошоПохвальноОтличноПревосходноПрекрасноВеликолепно!
[Голосов: 1]



 
Линия времени 1368-1351 до н.э. Правление фараона Аменхотепа IV в Египте
1368-1351 до
Аменхотеп IV стремился укрепить свою власть путём ослабления потомственной знати, в том числе жреческой. Многие жители, не располагавшие властью и влачащие скудное существование, заняли высокие
История вычислительной техники 1971 создан первый 4-разрядный микропроцессор
1971 создан
По заказу японского производителя микрокалькуляторов Busicom команда разработчиков Intel под руководством Тэда (Маршиана Эдварда) Хоффа создает первый 4-разрядный микропроцессор Intel-4004. Скорость
История вычислительной техники 1820 Первый калькулятор - "Арифмометр" Томаса де Кольмара
1820 Первый
Первый калькулятор - "Арифмометр" Томаса де Кольмара. Первое механическое считающее устройство, поступившее в широкую продажу и продержавшееся (с небольшими усовершенствованиями) целых 90
Из старых журналов Берестяная грамота из древнего Мстиславля
Берестяная
Берестяные грамоты — особый вид исторических источников, относящихся к XI—XV векам. Они содержат ценные сведения об
истории русского Это интересно! ОБЕЗБОЛИВАНИЕ
ОБЕЗБОЛИВАНИЕ
Обезболивающие препараты вызывают временную потерю чувствительности к боли у какой-либо части тела. До создания обезболивающих лекарств пациентов во время болезненных операций приходилось удерживать
История вычислительной техники 1965 Первый мини-компьютер PDP-8
1965 Первый
Первый мини-компьютер PDP-8, созданный компанией Digital Equipment. IBM представляет язык программирования PL/1, пришедший на смену Фортрану. APRA приступает к разработкам модели совместной работы