Параметр BIOS Shadowing Address Ranges

Параметр BIOS Shadowing Address Ranges

Затемнение блока памяти в адресном пространстве.
Эта опция дает вам возможность решать, затенять ли блок памяти на дополнительной карте в адресном пространстве xxxxx-xxxxx или нет.
Затемнение блока памяти в адресном пространстве.
Оставьте опцию выключенной если у вас нет дополнительной карты использующей этот диапазон памяти.
Затемнение блока памяти в адресном пространстве.

Также, как и при Video BIOS Shadowing, нет никакого преимущества во включении этой функции если вы работаете под Win95/98 и у вас имеются драйверы соответствующие вашей add-on карте.

Если вы используете дополнительную карту которая использует некоторую область CXXX-EFFF под I/O, то затенение вероятно не даст карте работать, так как запросы на чтение/запись памяти не смогут быть переданы к ISA шине.

«Shadow memory» — это так называемая «теневая» память.
В адресах памяти от 640 КБ до 1 МБ (a0000h - fffffh) находятся «окна», через которые «видно» содержимое различных системных ПЗУ.
Например, адреса f0000h - fffffh занимает системное ПЗУ, содержащее bios системы, окно c0000h - c7fffh — ПЗУ видеоадаптера (видео-bios) и т.п.

При включении режима «shadow» для каких-либо адресных диапазонов, соответствующих системным ПЗУ либо картам расширения, содержимое их ПЗУ копируется в участки основной памяти, которые затем подключаются к этим же адресам вместо ПЗУ, «затеняя» их.

Дает ли это какие-нибудь преимущества?
Повышается ли при этом производительность системы?
Включение «затенения» дает в первую очередь значительное ускорение работы с данными ПЗУ за счет более высокого быстродействия микросхем ОЗУ (в сравнении со временем доступа к ROM BIOS в 150-200 нс).

Кроме того, при обращении к микросхемам BIOS непосредственно используется 8-разрядный доступ, что включение «затенения» ПЗУ делает еще более эффективным.
Кроме этого, появляется возможность модифицировать видимое содержимое ПЗУ:
все современные системные BIOS используют это для самонастройки, а в область видео-BIOS обычно загружаются экранные шрифты и т.п.

Что это за теневая память физически?
Этот вопрос связан с распределением памяти вообще.
В первом мегабайте памяти используются по прямому назначению, т.е. как основная память, 640 КБ, а остальные 384 КБ оказываются в адресном пространстве, зарезервированном для ПЗУ и внешних устройств.

В современных платах вся память представляет собой непрерывный массив, поэтому разрывать адресное пространство модулей памяти на две части нельзя и поэтому часть системной области приходится аппаратно исключать, теряя при этом 384 КБ.

Как скопировать в эту память содержимое ПЗУ?
Для этого применяют несколько способов:

• Организация «Shadow Memory».
Доступ к ней регулирует чипсет.
Как правило, «Shadow Memory» находится в адресном пространстве в том же месте, где и исходное ПЗУ.
Поскольку две области памяти в одном месте физически находиться не могут, для управления этой памятью в чипсете есть специальная схема, которая может подключить в этот фрагмент адресного пространства либо исходное ПЗУ, либо ОЗУ.

• Несколько слов о защите от записи.
Обычно «Shadow Memory» в нормальном состоянии находится в режиме «Read Only» (только для чтения).
Это породило проблемы, например, при написании русификаторов, так как приходится открывать «затененные» участки той же видеопамяти.
Различные версии BIOS позволяют решать эту проблему, имея опции с возможностью указания, следует ли оставлять требуемый диапазон «Read Write» или «Read Only».

• Но не только BIOS способен управлять Shadow-функциями чипсета.
Такое управление может осуществлять программа, умеющая корректно обращаться к регистрам чипсета на низком уровне.
Начиная с 386-х в защищенном режиме работы процессора имеется страничная организация памяти, обеспечивающая формирование физического (реального) адреса из виртуального адреса программы.
Именно эта возможность и обеспечивает в большинстве распространенных драйверов памяти (менеджеров) не только выполнение функций затенения, но и получение памяти EMS при наличии расширенной памяти в компьютере.
Программно возможности «Shadow» — функций менеджеров памяти значительно более гибкие, чем у чипсета, управляемого BIOS.

• В частности, управление размерами памяти, выделяемой для «Shadow Memory», может производиться достаточно малыми по размеру страницами — 4 КБ, что позволяет эффективнее использовать адресное пространство первого мегабайта.
В MS-DOS возможность управления «Shadow» — памятью имеет драйвер памяти HIMEM.SYS (ключ SHADOWRAM:ON|OFF).

• Затенение полезно, главным образом, в 16-разрядных ОС. 32-разрядные системы не используют 16-разрядный код из ROM.
Вместо него они загружают 32-разрядные драйверы в ОЗУ, заменяя ими 16-разрядный код BIOS, который, таким образом, используется только в процессе загрузки системы.
Организация блоков верхней памяти UMB (Upper memory blocks), по сути аналогия предыдущему варианту.
Перемещение (relocation).
Это перенос неиспользуемой памяти из системной области (640 КБ — 1 МБ) в область расширенной (Extended) памяти.
Чаще всего перемещаться может весь фрагмент сразу, то есть все 384 КБ.
Это связано со сложностью схемы управления адресными линиями.
В этом случае освободить остаток первого мегабайта можно, только выключив все без исключения установки «Shadow».

• В первых IBM PC устанавливалось 640 КБ основной памяти и отдельно расширенная память, поэтому со старшими 384 КБ проблем не возникало.
Позднее, а это также было давно, некоторые чипсеты (Neat, OPTi495, SiS471, др.) имели возможность переносить старшие 384 КБ за пределы первого мегабайта, присоединяя их к расширенной памяти.
Одни чипсеты могли переносить свободные от «затенения» участки, другие — только все 384 КБ целиком.

Может принимать значения:

Enabled — разрешено
Disabled — запрещено.

^