- •Основы bios
- •Io.Sys получит необходимые данные, он загружает указанные драйверы в память и связыва_
- •446 Глава 5. Bios: базовая система ввода5вывода
- •Аппаратная и программная части bios
- •448 Глава 5. Bios: базовая система ввода5вывода
- •Системная bios
- •Микросхемы rom
- •128 Кбайт от конца первого мегабайта. Поскольку емкость rom обычно равна 128 Кбайт,
- •Затенение rom
- •32_Разрядные драйверы в оперативную память, заменяя ими 16_разрядный код bios, кото_
- •450 Глава 5. Bios: базовая система ввода5вывода
- •Перепрограммирование prom
- •Память eprom
- •454 Глава 5. Bios: базовая система ввода5вывода
- •Память eeprom, или Flash rom
- •Замечание
- •Производители rom bios
- •Intel — крупнейший заказчик микросхем bios — перешла от устройств Phoenix к ami, затем
- •456 Глава 5. Bios: базовая система ввода5вывода
- •Bios oem"производителей
- •Vectra pc компании Hewlett_Packard используется bios компании Phoenix. Обратите внима_
- •Bios компании ami
450 Глава 5. Bios: базовая система ввода5вывода
Рис. 5.2. Логическая карта памяти первого мегабайта
Адреса ПЗУ всех адаптеров должны начинаться с 55AAh; в противном случае системная
плата просто их не распознает. Третий байт указывает размер ПЗУ в единицах, кратных 512
байтам, которые называются абзацами, а четвертый байт соответствует фактическому началу
драйверов. Байт размера используется ПЗУ системной платы в целях тестирования. ПЗУ
системной платы добавляет все байты в ПЗУ, после чего делит полученную сумму на количе_
ство байтов. Остаток от деления должен быть равен 100h. Поэтому при написании программы
для ПЗУ адаптера программист обычно использует байт “заполнения”, что позволяет полу_
чить необходимую контрольную сумму. Используя значение контрольной суммы, системная
плата проверяет ПЗУ каждого адаптера во время выполнения процедуры POST.
Базовая система ввода_вывода системной платы автоматически выполняет программы в
ROM любого адаптера, который она находит в процессе сканирования. Процесс обнаружения
и инициализации видеоадаптера можно наблюдать в большинстве компьютеров при включе_
нии питания и во время выполнения POST.
Затенение rom
Микросхемы ROM очень “медленны”: время доступа равно 150 нс при времени доступа
запоминающего устройства DRAM 60 нс или меньше. Поэтому во многих системах ROM за_
теняется, т.е. ее содержимое копируется в микросхемы динамической оперативной памяти
Стр. 4 50
Системная BIOS 451
при запуске, чтобы сократить время доступа в процессе функционирования. Процедура зате_
нения копирует содержимое ROM в оперативную память, присваивая ей адреса, первона_
чально использовавшиеся для ROM, которая затем фактически отключается. Это повышает
быстродействие системы памяти. Впрочем, в большинстве случаев достаточно затенить толь_
ко BIOS на системной плате и, возможно, на видеоадаптере.
Затенение эффективно главным образом в 16_разрядных операционных системах типа
DOS или Windows 3.x. Если компьютер работает под управлением 32_разрядной операцион_
ной системы типа Windows 9х или Windows NT/2000, то затенение фактически бесполезно,
так как эти системы не используют 16_разрядный код из ROM. Вместо него они загружают
32_Разрядные драйверы в оперативную память, заменяя ими 16_разрядный код bios, кото_
рый поэтому используется только в течение запуска системы. Средство управления затенени_
ем находится в программе Setup BIOS.
Типы микросхем ПЗУ
Существует четыре различных типа микросхем памяти ROM.
ROM (Read Only Memory).
PROM (Programmable ROM). Программируемая ROM.
EPROM (Erasable PROM). Стираемая программируемая ROM.
EEPROM (Electrically Erasable PROM). Электронно_стираемая программируемая ROM,
также называемая Flash ROM.
Независимо от типа ROM, данные в ней сохраняются до тех пор, пока не будут стерты
преднамеренно.
В табл. 5.1 приведены идентификационные номера, обычно используемые для маркиров_
ки микросхем памяти ROM каждого типа.
Таблица 5.1. Идентификационные номера микросхем памяти ROM
Тип Идентификационный номер
ROM Больше не используется
PROM 27nnnn
EPROM 27nnnn
EEPROM 28xxxx или 29xxxx
Прожигаемая при изготовлении память ROM
Первоначально в большинстве микросхем ROM уже на этапе изготовления были про_
жжены “0” и “1”, т.е. такую память ROM можно представить в виде матрицы, в которой уже
при изготовлении в нужных местах записываются нули и единицы. Матрица представляет
собой кремниевый кристалл (микросхему). Такие микросхемы называются прожигаемыми
при изготовлении, потому что данные записываются в маску, с которой фотолитографическим
способом изготовляется матрица. Подобный производственный процесс экономически оп_
равдывает себя при изготовлении сотен тысяч микросхем с одинаковой информацией. Если
потребуется изменить хотя бы один бит, придется переделывать маску, а это обойдется неде_
шево. Поэтому такой тип памяти ROM не используется.
Подобный тип памяти можно сравнить с фабрично записанными компакт_дисками. Неко_
торые полагают, что компакт_диск сначала производится пустым, а затем на него с помощью
лазера записываются данные. На самом деле это не так. На поверхности диска сразу при про_
изводстве выдавливаются питы (углубления); при этом используется специальная матрица,
которую также называют мастер_диском.
Память PROM
В память PROM после изготовления можно записать любые данные. Она была разработа_
на в конце 1970_х годов компанией Texas Instruments и имела емкость от 1 Кбайт (8 Кбит) до
Стр. 4__
Типы микросхем ПЗУ
Существует четыре различных типа микросхем памяти ROM.
ROM (Read Only Memory).
PROM (Programmable ROM). Программируемая ROM.
EPROM (Erasable PROM). Стираемая программируемая ROM.
EEPROM (Electrically Erasable PROM). Электронно_стираемая программируемая ROM,
также называемая Flash ROM.
Независимо от типа ROM, данные в ней сохраняются до тех пор, пока не будут стерты
преднамеренно.
В табл. 5.1 приведены идентификационные номера, обычно используемые для маркиров_
ки микросхем памяти ROM каждого типа.
Таблица 5.1. Идентификационные номера микросхем памяти ROM
Тип Идентификационный номер
ROM Больше не используется
PROM 27nnnn
EPROM 27nnnn
EEPROM 28xxxx или 29xxxx
Прожигаемая при изготовлении память ROM
Первоначально в большинстве микросхем ROM уже на этапе изготовления были про_
жжены “0” и “1”, т.е. такую память ROM можно представить в виде матрицы, в которой уже
при изготовлении в нужных местах записываются нули и единицы. Матрица представляет
собой кремниевый кристалл (микросхему). Такие микросхемы называются прожигаемыми
при изготовлении, потому что данные записываются в маску, с которой фотолитографическим
способом изготовляется матрица. Подобный производственный процесс экономически оп_
равдывает себя при изготовлении сотен тысяч микросхем с одинаковой информацией. Если
потребуется изменить хотя бы один бит, придется переделывать маску, а это обойдется неде_
шево. Поэтому такой тип памяти ROM не используется.
Подобный тип памяти можно сравнить с фабрично записанными компакт_дисками. Неко_
торые полагают, что компакт_диск сначала производится пустым, а затем на него с помощью
лазера записываются данные. На самом деле это не так. На поверхности диска сразу при про_
изводстве выдавливаются питы (углубления); при этом используется специальная матрица,
которую также называют мастер_диском.
Память PROM
В память PROM после изготовления можно записать любые данные. Она была разработа_
на в конце 1970_х годов компанией Texas Instruments и имела емкость от 1 Кбайт (8 Кбит) до
Стр. 4 51
452 Глава 5. BIOS: базовая система ввода5вывода
2 Мбайт (16 Мбит) или больше. Эти микросхемы могут быть идентифицированы по номерам
вида 27nnnn в маркировке, где 27 указывает PROM типа TI, а nnnn — емкость кристалла
(микросхемы) в килобитах. Например, в большинстве компьютеров с PROM использова_
лись микросхемы 27512 или 271000, которые имели емкость 512 Кбит (64 Кбайт) или 1 Mбит
(128 Кбайт).
Замечание
Начиная с 1981 года во всех автомобилях, продаваемых в США, использовались бортовые компьютеры с
различными микросхемами ROM, содержащими программное обеспечение системы управления. Напри5
мер, под приборной панелью автомобиля Pontiac Turbo Trans Am выпуска 1989 года находился бортовой
компьютер, содержащий микросхему 2732 PROM электронного блока управления (Electronic Control
Module 5555 ECM) с объемом памяти в 32 Кбит (или 4 Кбайт). В эту микросхему также входила часть систем5
ного программного обеспечения автомобиля и полные таблицы данных, описывающих процесс зажигания,
подачи топлива и другие параметры двигателя. Микросхемы PROM, используемые для хранения рабочих
программ, очень часто применялись в интегрированных компьютерах различных устройств.
Подразумевается, что эти микросхемы после изготовления не содержат никакой информа_
ции, на самом деле при изготовлении они прописываются двоичными единицами. Другими сло_
вами, микросхема PROM емкостью 1 Мбит содержит 1 млн единиц (фактически 1 048 576). При
программировании такой “пустой” PROM в нее записываются нули. Этот процесс обычно вы_
полняется с помощью специального программирующего устройства (рис. 5.3).
Процесс программирования часто называ_
ется прожигом. Каждую “1” можно предста_
вить как неповрежденный плавкий предохра_
нитель. Большинство таких микросхем рабо_
тают при напряжении 5 В, но при программи_
ровании PROM подается более высокое на_
пряжение (обычно 12 В) по различным адре_
сам в пределах адресного пространства, отве_
денного для микросхемы. Это более высокое
напряжение фактически записывает “0”, сжи_
гая плавкие предохранители в тех местах, где
необходимо преобразовать 1 в 0. Хотя можно
превратить 1 в 0, этот процесс необратим, т.е.
нельзя преобразовать 0 в 1. Программирую_
щее устройство исследует программу, кото_
рую необходимо записать в микросхему, и за_
тем выборочно изменяет в микросхеме 1 на 0
только там, где это необходимо. Поэтому микросхемы PROM часто называются микросхема_
ми OTP (One Time Programmable — программируемые один раз). Они могут быть запрограм_
мированы только однажды. Большинство микросхем PROM стоят совсем недорого, пример_
но 3 доллара. Поэтому при замене программы в PROM старая микросхема выбрасывается, а
новая прожигается в соответствии с новыми данными.
Процесс программирования PROM занимает от нескольких секунд до нескольких минут, в
зависимости от емкости микросхемы и применяемого алгоритма. На рис. 5.3 показано типичное
программирующее устройство, которое имеет несколько разъемов. Это устройство может про_
граммировать несколько микросхем сразу, сохраняя время при записи тех же данных в несколь_
ких микросхемах. Менее дорогие программирующие устройства имеют только один разъем.
Рекомендую использовать недорогое программирующее устройство компании Andromeda
Research. Несмотря на невысокую цену, оно может быть подсоединено к параллельному пор_
ту ПК; после подсоединения данные для программирования из файла передаются в програм_
мирующее устройство. Кроме того, это устройство переносное. Управление им осуществляет_
ся с помощью меню, выводимого прилагаемой к нему программой. Программа содержит не_
Рис. 5.3. Типичное программирующее устройст_
во (многоразъемное) для прожига памяти PROM
Стр. 4 52
Системная BIOS 453
сколько функций, одна из них позволяет считывать данные с микросхемы и сохранять их в
файле; можно также записать данные в микросхему из файла и проверить, что микросхема
записана правильно или что она “пуста” перед началом программирования.
