Загрузка...

Expantion ROM Base Address


1. Expantion ROM Base Address — (базовый адрес расширяющей памяти (R/O)). Содержит индивидуальный код, который применяется только для данного устройства (например, для видеокарты – код настройки цветов, и т.д.).

clip_image002

Рис. 1. 81. Структура Expantion ROM Base Address

Нулевой бит используется для управления доступом в память ROM. Если он равен “0” – ПЗУ запрещено (отключено), если равен “1” – ROM Enable, то при обращении по базовому адресу в этом регистре программа конфигурации и инициализации может читать данные из этого ПЗУ. Если память разрешена, то в разрядах с 11 по 31 определяется ее размер.

Рассмотрим структуру ПЗУ (рис. 1.82).

clip_image004

Рис. 1.82. Структура ПЗУ

ПЗУ содержит произвольное число образов памяти для каждой конфигурации в отдельности. Каждый образ содержит заголовок. Структура заголовка показана на рис. 1. 83.

clip_image006

Рис. 1. 83. Структура заголовка

55h = 01010101

AАh = 10101010.

Эти значения записаны для того, чтобы узнать правильность чтения памяти, т.к. вероятность чтения этого числа при неисправности очень мала.

По смещения 18h содержится указатель специальной структуры данных, которая описывает идентификаторы устройства, изготовителя, длину области, длину образа, тип кода.

Известны следующие типы кодов:

§ 0 – PC Intel x86;

§ 1 – Sun;

§ 2 – Hp.

Остальные зарезервированы.

После выбора и загрузки образа в ОП в область базового адреса записывается адрес этой области, чтобы драйвер знал, где эти данные расположены. При этом ПЗУ в устройстве запрещается путем записи “0” в нулевой бит. Для каждого типа этих образов имеется своя структура.

Загрузка...