Аппаратные средства персональных компьютеров
все про компьютерное железо
Сайт создан в системе uCoz
на главную
ПК
процессоры
ОЗУ и ПЗУ
системные платы
BIOS
⇒инициализация
⇒ресурсы BIOS
⇒распределение памяти
⇒программа POST
⇒цифровая индикация ошибок
⇒загрузка операционной системы
⇒настройка BIOS
⇒стандартная конфигурация
⇒установка винчестера
блоки питания
устройства ввода
интерфейсы
магнитные диски
звук
компакт-диски
видеоадаптеры
мониторы
сети

Инициализация


После включения питания или нажатия кнопки Reset у компьютера на адресной шине системной платы аппаратно устанавливается адрес точки входа в программу BIOS, которая в момент старта находится в самых старших ячейках адресуемой памяти. Например, в процессорах 8086/8088 по возникновении сигнала RESET прекращаются все текущие процедуры, а по окончании действия этого сигнала управление передается инструкции по адресу 0FFFF0h, в процессорах 386 — по адресу OFFFFFFOh и т. д.
Следует заметить, что первоначальный адрес загрузки искусственно формируется чипсетом системной платы, который принудительно устанавливает все адресные линии, кроме первых четырех, в единичное состояние. После передачи управления BIOS точка входа становится доступной по стандартному адресу 0FFFF0h, где ею может воспользоваться любая программа.
Раскроем смысл вышесказанного - разработчики IBM PC совместимых компьютеров всегда вынуждены оглядываться на самый первый персональный компьютер IBM PC. В нем стандартное место BIOS, как и у всех остальных потомков, находится в области по адресам от 0F0000h до 0FFFFFh. Соответственно, приходится вынужденно создавать условия, чтобы образ BIOS отображался в двух местах — в стандартном для IBM PC и в конце возможной физической памяти. (В ряде BIOS имеется возможность указать, что он находится под границей 16 Мбайт, что приводит к невозможности использования более 16 Мбайт ОЗУ.)
Сама точка входа представляет собой занимающую пять ячеек памяти (один байт — команда и 4 байта — адрес) команду дальнего безусловного перехода (JMP-адрес) на подпрограмму начального запуска компьютера.
Кроме стандартной точки старта системы, в BIOS определено еще несколько ячеек памяти, в которых всегда записывается вполне определенная информация. Из них наиболее важные ячейки находятся в самом начале и конце BIOS — признаки корректных данных в ПЗУ. В начале идут два байта с содержимым 55AAh, а в конце — число 0, которое должно получиться, если сложить значения всех байтов в ПЗУ (по модулю 256). Точно такими же признаками должны обладать и другие ПЗУ, которые могут быть установлены на платах расширения, например, видеоадаптера и сетевой платы.
Примечание
В персональных компьютерах с процессорами х86 принято, что данные из памяти читаются словами длиною два байта, причем первый байт — это младшая часть 16-разрядного слова, а второй байт — его старшая часть. То есть ячейки чередуются как 2, 1, 4, 3 и т. д. При этом следует помнить, что программисты стараются выравнивать данные и код по четным адресам, по границе 16-байтных параграфов и 64-килобайтных сегментов, что позволяет ускорить работу программ. Конечно, всегда можно прочитать или записать одиночный байт или бит, но этот режим не является оптимальным для процессора, памяти и чипсета. Заметим, что другие процессоры не придерживаются такого способа адресации.
Например, после начала работы программ BIOS проверяется наличие ПЗУ видеоадаптера (установлен ли видеоадаптер), и, если оно есть, управление передается программе, записанной в нем. После инициализации видеоподсистемы управление вновь возвращается программам BIOS. При наличии ПЗУ на сетевой плате дисковой станции после отработки всех стартовых программ управление передается программе, записанной в этом ПЗУ. Причем присутствие ПЗУ и возможность передачи управления проверяются по первым двум байтам и нулевой контрольной сумме.
Примечание
Стандартная статическая память CMOS имеет 64 регистра, к которым обращаются по адресам ввода/вывода от 0 до 3Fh. При выключении питания ячейки памяти питаются от батареи напряжением 3 В, которая установлена на системной плате. В CMOS хранится конфигурация компьютера и текущее системное время.
Так как микросхемы постоянной памяти, которые предназначены для хранения кода BIOS, отличаются неторопливостью, то для увеличения быстродействия компьютера пользователь может разрешить использование теневой памяти (Shadow RAM) — при этом код BIOS переписывается в ОЗУ, и все последующие обращения к микросхеме BIOS перенаправляются к соответствующей области ОЗУ (для программ адреса ячеек памяти в BIOS остаются неизменными, но сам код перемещается за пределы 1 Мбайт).
Фиксированные ячейки BIOS

Адрес

Размер, байт

Назначение

Р000:0000 F000:0001

1 1

55h, признак ПЗУ AAh, признак ПЗУ

F000:FFF0

5

команда перехода на POST по сбросу — FAR JMP

F000:FFF5

8

Дата выпуска BIOS, например "08/01/95"

F000:FFFE

1

Тип компьютера (OFFh — для оригинального PC, 0FEh - XT, 0FCh - AT)

F000:FFFF

1

Дополнение до 0 контрольной суммы BIOS

 

Яндекс цитирования

Rambler's Top100