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

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



 
История вычислительной техники 1886 Дорр Фелт создал Comptometer
1886 Дорр Фелт
Дорр Фелт создал Comptometer - первое устройство с клавишным вводом данных.
Линия времени 1351-1342 до н.э. Правление фараона Тутанхамона в Египте.
1351-1342 до
Тутанхамон – последний представитель XVIII династии египетских фараонов. Первоначально его звали Тутанхатон – «живой образ Атона», позже он переименовал себя в Тутанхамона – «живой образ Амона».
Линия времени 1680-1650 до н.э. Завершение объединения Хеттского царства. Правление царя Лабарны.
1680-1650 до
В первой половине II тысячелетия до н.э. в Малой Азии складывается рабовладельческое государство хеттов. На рубеже XVIII-XVII веков до н.э. в стране хеттов несколько сильнейших племён сражались между
Это интересно! СКРЕПКИ
СКРЕПКИ
Скрепки для бумаги изобрел в 1900 г. норвежец Йоханн Ваалер. Их конструкция, не изменившаяся до наших дней, представляет собой двойной плоский виток проволоки, скрепляющий несколько листов бумаги.
Линия времени 745-727 до н.э.
745-727 до н.э.
Правление ассирийского царя Тиглатпаласара Ш. Завоевывает Израиль, Дамаск, возлагает на себя корону Вавилона, который остается под ассирийским игом с 729 по 627 до н.э. Ассирия достигает зенита
Линия времени 669-633 до н.э.
669-633 до н.э.
Правление ассирийского царя Ашшурбанипала. Войны с Египтом, Эоамом, Вавилонией в попытке удержать их под властью Ассирии.