Реклама:

■ BIOS — набор драйверов, предназначенных для взаимодействия операционной системы и аппаратного обеспечения при загрузке системы. При запуске DOS или Windows в режиме защиты от сбоев используются драйверы устройств только из BIOS; драйверы с диска практически не загружаются.

Микросхемы ROM

Память типа ROM (Read-Only Memory, или ПЗУ) может постоянно (или практически постоянно) хранить данные. Эти записанные данные хранятся в памяти даже при отключении питания. Таким образом, для хранения стартовых процедур (и BIOS) лучше всего подходит память ROM. Аналогичная память используется и в других устройствах с собственной BIOS, например в видеоадаптерах.

Особо отмечу, что ROM и оперативная память — не противоположные понятия. На самом деле ROM представляет собой часть оперативной памяти системы. Другими словами, часть адресного пространства оперативной памяти отводится для ROM. Это необходимо для хранения программного обеспечения, которое позволяет загрузить операционную систему; в противном случае процессор сразу после включения питания не найдет в памяти команды, которые ему следует выполнить.

Например, сразу при включении компьютера счетчик команд автоматически принимает значение (адрес) FFFFOh; команды, размещенные по этому адресу, должны обеспечить загрузку операционной системы. Этим командам отводится ровно 16 байт, от конца первого мегабайта оперативной памяти и от конца ROM. Если бы эти адреса указывали на ячейки обычной памяти, все хранимые в ней данные, в том числе и команды, исчезли бы при выключении питания и процессор при следующем включении не нашел бы там никаких команд. Но, если этот адрес указывает на ячейку ROM, программа запуска системы в неизменном виде выполняется каждый раз при включении компьютера.

Обычно первым адресом ROM системы является FOOOOh или EOOOOh, расположенный за 64 или 128 Кбайт от конца первого мегабайта. Поскольку емкость ROM обычно равна 128 Кбайт,

программы ROM полностью занимают последние 128 Кбайт первого мегабайта, включая критический адрес FFFFOh первой команды запуска. Емкость современных микросхем ROM может достигать 256 или 512 Кбайт. Такой увеличенный объем позволяет хранить драйверы интегрированных на системной плате устройств. К примеру, ROM интегрированной на системной плате видеосистемы обычно находится в адресах C0000h-C7FFFh, a ROM прочих интегрированных устройств, таких как адаптеры сети и SCSI, — в адресах C8000h-DFFFFh.

На рис. 5.2 показана карта распределения первого мегабайта памяти. Замечу, что верхние адреса памяти, зарезервированные для ROM BIOS материнской платы и адаптеров, находятся в конце первого мегабайта.

Рис. 5.2. Логическая карта памяти первого мегабайта

Кажется странным, что при запуске компьютер начинает выполнять команду, расположенную за 16 байт от конца ROM, но в этом есть свой смысл. Просто по этому адресу помещается команда перехода JMP, после выполнения которой процессор переходит к фактическому началу программы; в большинстве случаев оно близко к адресу FOOOOh, который расположен примерно на 64 Кбайт ранее в карте памяти. Это все равно что начинать чтение книги с 16-й страницы от конца; причем на ней должен быть указан номер страницы, с которой фактически начинается изложение. Зато подобное соглашение позволяет свободно изменять объем ROM.


⇐ Предыдущая страница| |Следующая страница ⇒