Другие идентичные названия опции: Memory Hole At 15M-16M, ISA Memory Gap.
Функция BIOS Memory hole («Дыра в памяти») предназначена для настройки функционирования шины ввода-вывода ISA. Она может принимать, как правило, всего два значения – Enabled (Включено) или Disabled (Выключено).
Следует обратить внимание на то, что функцию Memory Hole, относящуюся к использованию 15-го мегабайта платами ISA, не стоит путать с другой распространенной функцией BIOS Memory Hole Remapping, которая используется для обеспечения доступа 64-битных операционных систем к оперативной памяти свыше 4 ГБ.
Принцип работы
Термин «дыра в памяти» означает наличие в компьютере специальной области затеняемой оперативной памяти, недоступной для прикладных программ и используемой, как правило, для служебных целей.
Многие старые платы расширения ISA используют в своей работе подобную затеняемую память, в частности, небольшой диапазон ОЗУ размером 1 МБ между 15 и 16 мегабайтами. В этот диапазон переносится информация из постоянной памяти устройства, а обращения операционной системы к памяти устройства переадресовываются в ОЗУ компьютера. Подобный механизм позволяет значительно ускорить работу с устройством ISA, благодаря тому, что постоянная память устройства является более медленной по сравнению с оперативной памятью компьютера.
Функция Memory hole предназначена для резервирования необходимого объема ОЗУ для нужд плат расширения ISA. После включения опции оперативная память между 15-м и 16-м мегабайтами станет доступной для карт ISA, но в то же время, она не сможет использоваться для каких-либо иных нужд системы. Таким образом, общий объем доступной оперативной памяти персонального компьютера снизится на 1 МБ.
Однако существуют материнские платы, на которых включение данной опции приводит к тому, что вся оперативная память сверх 15-го мегабайта становится невидимой для операционной системы и, таким образом, пользователю будет доступно лишь 14 МБ ОЗУ.
В некоторых BIOS функция может предоставить пользователю на выбор другие диапазоны затеняемой памяти для нужд устройств ISA, например, в районе 512-639 КБ или 14-16 МБ. Также некоторые BIOS позволяют произвольно выбрать необходимый диапазон памяти.
Стоит ли включать опцию?
Эта функция в настоящее время не является актуальной для подавляющего большинства пользователей и присутствует в BIOS лишь в целях совместимости с некоторыми старыми платами расширения ISA.
Помимо того, что карты расширения ISA в данный момент используются очень редко, подавляющее большинство карт ISA не нуждается для своей работы в резервировании диапазона памяти между 15-м и 16-м мегабайтом. Поэтому рекомендуется выключить эту функцию, тем более, что она может приводить к неработоспособности памяти сверх 15-го мегабайта.
Однако если у вас есть в наличии карта ISA, которая требует работы с этим диапазоном ОЗУ, то она, скорее всего, просто не сможет функционировать при выключенной опции. Для уточнения этого вопроса лучше всего изучить описание платы расширения. Таким образом, функцию Memory hole можно включить лишь в том случае, когда есть потребность в использовании карты ISA, которая не работает без требуемого раздела памяти.
Опция Memory Hole At 15-16M позволяет использовать часть оперативной памяти в качестве кэш памяти для устройств, подключенных к шине ISA.
Enabled – копировать медленную память устройства, подключенного к шине ISA, в оперативную память;
Disabled – отключить опцию.
Опция также может иметь другие названия:
Memory Hole
Local Memory 15-16M
Memory Hole At 15M Addr
Примечание 1. Оперативная память (Random Access Memory, RAM, системная память) – это энергозависимая компьютерная память, которая предназначена для временного хранения активных программ и данных, используемых процессором во время выполнения операций.
Примечание 2. ISA (Industry Standard Architecture, ISA bus) – это 8- или 16-разрядная шина ввода/вывода.
— (буквально — «дырка» в памяти в диапазоне 15-16 МБ). При включенном состоянии параметра система, для повышения производительности, будет копировать более медленную память устройства, например, подключенного к ISA-шине, в более быструю основную память. Это происходит за счет выделения специальной области памяти и перемещения в нее данных ROM-памяти карты расширения или устройства сопряжения. Естественно, что действие этой функции представляет собой механизм «эатенения», который позволяет обращаться, в данном случае к устройствам ввода/вывода, как к адресному пространству ОЗУ и за счет этого увеличить скорость доступа к таким устройствам. Для функционирования этого механизма необходимо исключить для всех обычных программ возможность использования указанной области памяти, что и делает BIOS при разрешении этого параметра. При отсутствии ISA-устройств данная опция должна быть отключена. По умолчанию эта опция включена.
И еще одно уточнение. Разрешать этот параметр следует в том случае, если это требуется в документации на используемую в системе плату. Некоторые старые ISA-карты (например, ранние видеокарты высокого разрешения) требуют выделения для них специального адреса памяти, лежащего в некотором диапазоне. Кроме того, это выделение запрещает доступ в старшие адреса памяти, расположенные выше 16 МБ. Поэтому включение данной опции должно быть оправдано. По сути, данная функция сохранена в «BIOS Setup» по причине фактора совместимости со старыми картами. Может принимать значения: «Enabled» (разрешено), «Disabled» (запрещено).
Немного дополнительной информации. Включение функции позволяет создать пропуск в динамической памяти, а точнее разрыв. Для адресов, попадающих в этот диапазон, циклы процессора и PCI будут игнорироваться самим чипсетом. Последствия для неподготовленного пользователя при создании «дырки» могут быть самыми непредсказуемыми. Такой режим может понадобиться и PCI-плате, если она нуждается в отдельном управлении адресами.
В более «старых» версиях BIOS могут встретиться другое наименование такой функции — «Memory Hole«, и значения параметров: «None», «at 512 kB», «at 15 MB». Действие некоторых параметров уже понятно, а для значения «at 512 kB» стоит указать, что для «затенения» используется часть базовой памяти в пределах 512-640 КБ. Есть еще один вариант и абсолютно идентичный. С тем же названием и фактически с теми же значениями: «Disabled», «512KB-640KB», «15MB-16MB». Те же значения предлагает опция «Fixed Memory Hole».
Был встречен и такой вариант опции «Memory hole»: значения «Disabled» (по умолчанию), «Conventional» и «Extended». Все эти необычные параметры также предназначались для выделения адресного пространства под «стандартные» (legacy) ISA-устройства.
«AMI BIOS» может содержать опцию под названием «Memory Hole at 15M Addr.«, т.е. близкую к исходной.
Необходимо также достаточно определенно представлять себе, что выделение некоего объема памяти предназначалось не только (и даже не столько) для переноса данных ROM-памяти какого-либо устройства, сколько для формирования в системной памяти области, являющейся по сути локальной памятью этого устройства или даже локальной памятью шины. Иначе зачем выделять под область «затенения» 1 МБ и более. Например, в некоторых версиях BIOS можно было встретить такой набор значений: «Disabled», «14M-16M», «15M-16M».
Более определенно на сей счет «говорит» старенькая функция «Memory Hole Size» с такими предложениями: «1 Mb», «2 Mb», «4 Mb», «8 Mb», «Disabled». Все это богатство предназначалось для системной AT-шины, а также резервировалось под потребности ISA-карт. Исходя из вышесказанного, станет более понятна опция «15-16M Memory Location» с параметрами: «Local» (по умолчанию) и «Non-local». Аналогичная опция могла называться и «Local Memory 15-16M«.
Может возникнуть еще один вопрос. Почему все рассматриваемые функции «привязаны» к 16 МБ?
Еще раз стоит подчеркнуть, что наличие всех этих функций в более современных версиях BIOS связано только с принципом совместимости с возможно эксплуатируемыми или специально разработанными картами расширения, устройствами сопряжения, или, как иногда говорят, устройствами связи с объектом (УСО), т.п. Появление же на свет божий всех этих опций «совпало» с появлением в середине 80-х славной 16-разрядной ISA-шины, для которой добавление 4 дополнительных адресных линий означало увеличение максимального размера адресуемой памяти до 16 МБ. Поэтому, задавая некий размер адресной области, мы однозначно определяем ей место «в конце» 16-мегабайтного адресного пространства.
Ну и напоследок не опция, а пара совместных функций. «Memory Hole Start Address» (могут быть и такие варианты: «Memory Map Hole Start Address» или «Memory Map Hole End Address«) дает возможность установить начальный адрес «дырки» из ряда, начиная с 1-го по 15-й МБ с шагом в один мегабайт. Но эта опция становится доступной, если включена базовая опция «Memory Map Hole«.
Еще несколько слов о «Phoenix BIOS», предлагавшем аналогичную опцию под названием «ISA Memory Gap«. Правда, в различные времена предлагалось два варианта опции. В одном из них была возможность использовать/не использовать последний мегабайт памяти, как «ISA memory area«. Другой вариант опции предлагал также уже знакомые значения: «1 Mb», «2 Mb», «4 Mb», «8 Mb» и «Disabled».