Как работает 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
Опубликовано:
Автор:
Читателей:1322

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



 
История вычислительной техники 1943 Первый электронный  компьютер Colossus (Великобритания)
1943 Первый
Первый электронный компьютер Colossus (Великобритания), предназначенный для расшифровки машины "Энигма", "Колосс", созданный М.А. Ньюменом и Т.Х. Флауеронсом, содержал более 1500 электронных
История вычислительной техники 1899 Открыт принцип записи на магнитных носителях
1899 Открыт
Открыт принцип записи на магнитных носителях - Металлической проволоке и, позднее, ленте.
БиоМозаика Восточная серая древесная белка (Sciurus carolinensis)
Восточная

Белки – одни из самых распространенных млекопитающих на нашей планете. Они обитают везде, где есть небольшой клочок «зеленого пространства» – в лесах, в садах пригородных Крылатые слова Кануть в лету.

Кануть в лету.
Смысл выражения: бесследно и навсегда исчезнуть, быть забытым. В мифологии древних греков Лета - река забвения в позднем мире Аиде. Испив воды из Леты, души умерших полностью забывали все радости и Словарь компьютерных терминов Лексикон (lexicon)
Лексикон
1. Набор слов, которым пользуется какое-либо лицо. 2. Название текстового редактора для ПЭВМ, работающего в среде MS DOS. ЛЕКСИКОН программирования (programming lexicon). Терминология, присущая
Биологический справочник Биотехнология
Биотехнология
Биотехнология - использование живых организмов в производственных процессах - известна с древности. Живые дрожжи, например, с античных времён широко применялись в хлебопечении, виноделии,