Выделено памяти меньше чем есть

На компьютерах с Windows 7 объем доступной памяти может быть меньше, чем объем установленной

Проблема

На компьютере с ОС Windows 7 объем доступной памяти (ОЗУ) может быть меньше, чем объем установленной.

Например, 32-разрядная версия Windows 7 может сообщать, что на компьютере с установленным объемом памяти в 4 ГБ доступно только 3,5 ГБ системной памяти.

Другой пример: 64-разрядная версия Windows 7 может сообщать, что на компьютере с установленным объемом памяти в 8 ГБ доступно только 7,1 ГБ системной памяти.

Примечание. Указанные в примерах объемы доступной памяти не являются точными. Объем доступной памяти вычисляется путем вычитания объема зарезервированной оборудованием памяти из общего объема физической памяти.

Чтобы узнать объемы установленной и доступной памяти в Windows 7, выполните следующие действия.

Нажмите кнопку Пуск Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть, щелкните правой кнопкой мыши значок Компьютер, затем выберите пункт Свойства.

Обратите внимание на значение, указанное в поле Установленная память (ОЗУ) раздела Система. Например, если там указано 4,00 ГБ (3,5 ГБ свободно), это значит, что из 4 ГБ установленной памяти доступно 3,5 ГБ.

Причина

Это предусмотренная ситуация, возникающая на компьютерах с ОС Windows 7. То, насколько сократится объем доступной системной памяти, зависит от ряда факторов:

Установленных на компьютере устройств и памяти, зарезервированной ими.

Способности системной платы к обработке памяти.

Версии и конфигурации BIOS системы.

Установленной версии Windows 7 (например, ОС Windows 7 Начальная поддерживает только 2 ГБ установленной памяти).

Других параметров системы.

Например, при наличии видеоадаптера с 256 МБ собственной памяти эта память должна отображаться в первых 4 ГБ адресного пространства. Если на компьютере уже установлено 4 ГБ системной памяти, часть адресного пространства должна быть зарезервирована для отображения памяти видеоадаптера. Для отображения памяти видеоадаптера используется часть системной памяти. В результате общий объем системной памяти, доступной операционной системе, сокращается.

Дополнительные сведения о том, как определить, каким образом на компьютере используется память, см. в подразделе «Выделение физической памяти в Windows 7» раздела «Дополнительные сведения».

Что попробовать предпринять

Существует еще несколько ситуаций, при которых объем доступной оперативной памяти меньше ожидаемого. Далее перечислены проблемы и их возможные решения.

Проверьте параметры конфигурации системы

Эта проблема может возникнуть, если по ошибке был выбран параметр Максимум памяти. Чтобы его отключить, выполните следующие действия:

Нажмите кнопку Пуск Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть, введите запрос msconfig в поле Найти программы и файлы, затем выберите пункт msconfig в списке Программы.

В окне Конфигурация системы нажмите Дополнительные параметры на вкладке Загрузка.

Снимите флажок Максимум памяти и нажмите кнопку OK.

Обновление BIOS системы

Проблема может возникнуть, если на компьютере установлена BIOS устаревшей версии. При использовании устаревшего компьютера система может не иметь возможности получить доступ ко всей установленной оперативной памяти. В таком случае нужно обновить BIOS системы до последней версии.

Чтобы обновить BIOS на компьютере, посетите веб-сайт производителя компьютера и загрузите обновление BIOS. Или обращайтесь за помощью к производителю компьютера.

Проверка параметров настройки BIOS

Проблема может возникнуть из-за неправильных настроек некоторых параметров BIOS.

Включение перераспределения памяти

Проверьте, включено ли перераспределение памяти в параметрах BIOS. Перераспределение памяти дает Windows доступ к большему объему памяти. Перераспределение памяти можно включить в BIOS, вызвав меню BIOS при загрузке. Чтобы узнать, как вызвать это меню, см. руководство пользователя, поставляемое с компьютером. Точное название функции перераспределения памяти зависит от поставщика оборудования. Она может называться «перераспределение памяти», «расширение памяти» или иметь другое схожее название. Следует иметь в виду, что ваш компьютер может не поддерживать перераспределение памяти.

Изменение размера видеоапертуры AGP в параметрах BIOS

Просмотрите параметры BIOS и узнайте, сколько памяти выделено для видеоапертуры AGP. Это объем памяти, который система делит с видеоадаптером, используемым для отображения текстур и отрисовки. Данный объем памяти не будет использоваться системой, так как он заблокирован видеоадаптером. Размер видеоапертуры AGP можно настроить в параметрах BIOS. Стандартные значения: «32 МБ», «64 МБ», «128 МБ» и «Авто». После изменения этого параметра в BIOS перезагрузите компьютер, а затем проверьте объем доступной памяти. Можно попробовать применить каждый из параметров, чтобы посмотреть, какой из них даст лучший результат.

Проверка возможных проблем с установленными модулями памяти

Проблема может возникнуть из-за неполадок в установленных физических модулях памяти.

Проверка на наличие поврежденных модулей памяти

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

Проверка расположения модулей памяти

Чтобы определить, в каком порядке модули памяти должны быть установлены в гнезда, см. руководство пользователя, поставляемое с компьютером. Если вы не используете все гнезда для модулей памяти, может требоваться использовать строго определенные. Например, в компьютере есть четыре гнезда для модулей памяти. Возможно, потребуется задействовать гнездо 1 и гнездо 3, если вы хотите установить только два модуля.

Используются ли платы-концентраторы для модулей памяти?

Если вы используете плату-концентратор для модулей памяти (плату, в которую можно установить несколько модулей памяти и которая при этом устанавливается в одно гнездо для модуля памяти), может потребоваться дополнительная настройка системы. И объем доступной памяти может быть меньше, чем ожидалось.

Дополнительная информация

В следующих разделах приведены дополнительные сведения об указанном в мониторе ресурсов выделении памяти, описываются используемые термины, а также дана дополнительная информация об учете памяти и ее ограничениях в Windows 7.

В следующей таблице указано, на какие категории монитор ресурсов распределяет память, установленную на компьютере с операционной системой Windows 7.

Память, зарезервированная для использования BIOS и некоторыми драйверами других периферийных устройств.

Память, используемая процессами, драйверами или операционной системой.

Память, содержимое которой должно быть перемещено на диск перед использованием по другому назначению.

Память, содержащая неиспользуемые кэшированные данные и код.

Память, не содержащая никаких важных данных. Именно она будет использоваться в первую очередь, если процессам, драйверам или операционной системе потребуется больший объем памяти.

Примечание. Чтобы узнать, каким образом распределена установленная память в Windows 7, выполните следующие действия.

Нажмите кнопку Пуск Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть, введите запрос монитор ресурсов в поле Найти программы и файлы, затем выберите пункт Монитор ресурсов в списке Программы.

Перейдите на вкладку Память и просмотрите раздел Физическая память внизу страницы.

Состояние памяти в Windows 7

В следующей таблице даются определения состояниям установленной на компьютере с Windows 7 памяти, указанным в мониторе ресурсов.

Объем памяти (включая зарезервированную и свободную память), доступный для использования процессами, драйверами и операционной системой.

Объем памяти (включая зарезервированную и измененную память), содержащий кэшированные данные и код для быстрого доступа со стороны процессов, драйверов и операционной системы.

Объем физической памяти, доступной операционной системе, драйверам устройств и процессам.

Объем физической памяти, установленной на компьютере.

Учет памяти в Windows 7

В Windows 7 ведется учет объема физической памяти, установленной на компьютере. Операционные системы на основе Windows NT до Windows Vista с пакетом обновления 1 (SP1) сообщают об объеме памяти, доступной операционной системе. Учитываемый объем памяти в более ранних версиях Windows не включает в себя память, зарезервированную оборудованием. Это изменение связано только с учетом.

В Windows Vista с пакетом обновления 1 (SP1) и более поздних версиях Windows вы заметите изменения в учете памяти в следующих местах:

Значение ОЗУ в Центре начальной настройки

Значение Памяти в нижней части окна «Мой компьютер»

Значение Память в окне «Свойства системы»

Значение Суммарный объем системной памяти на странице Отображение и печать подробных сведений элемента Информация и средства производительности на Панели управления

Кроме того, компонент «Сведения о системе» (Msinfo32.exe) выводит на экран следующие записи на странице Сводные сведения о системе:

установленная физическая память (ОЗУ);

полный объем физической памяти;

доступная физическая память.

Учет памяти в следующих средствах диагностики не изменился:

Вкладка Производительность в диспетчере задач

Если объем физически установленной на компьютере оперативной памяти равен объему адресного пространства, поддерживаемому набором микросхем, общий объем системной памяти, доступной операционной системе, будет всегда меньше объема физической памяти.

Предположим, что в компьютере используется набор микросхем Intel 975X, поддерживающий 8 ГБ адресного пространства. Если установить 8 ГБ ОЗУ, объем системной памяти, доступной операционной системе, сократится из-за памяти, необходимой для конфигурации шины PCI. В данном случае для конфигурации шины PCI потребуется примерно от 200 МБ до 1 ГБ памяти, и именно на эту величину сократится объем памяти, доступный операционной системе. Реальный объем доступной памяти зависит от конфигурации.

Ограничения физической памяти в Windows 7

В следующей таблице указаны ограничения, распространяющиеся на объем физической памяти в различных версиях Windows 7.

Источник

Почему на ноутбуке не хватает памяти, хотя её много — 5 способов мгновенной помощи

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

А бывает и такое, что место для хранения данных еще есть, но ПК все равно не справляется с поставленными задачами, выдавая все те же уведомления о нехватке памяти. Ну а мы в свою очередь расскажем, как быстро справиться с проблемой во всех перечисленных случаях.

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

Закрытие тяжелых программ

Если ноутбук начал тормозить, а приложения стали очень долго грузиться, не спешите сдавать его специалисту, греша на вирусы и прочие баги. Вполне возможно, что в системе вашего устройства запущено слишком много процессов, большую часть из которых можно смело закрыть, вернув ПК к полноценной работе после перезагрузки.

А некоторые из этих приложений могут «съедать» слишком много ОЗУ. Так может быть дело в них?

Проверить, насколько это предположение соответствует действительности можно, вызвав диспетчер задач (Ctrl+Alt+Del) и посмотрев, сколько памяти потребляют запущенные на устройстве приложения. Также здесь можно увидеть, насколько используемый софт является тяжелым для процессора.

Чтобы улучшить скорость работы, лучше не запускать одновременно много программ, особенно если речь идет о «тяжелом» софте. Это могут быть игры, приложения для работы с графикой, сразу несколько интернет-браузеров и пр. Да, и в целом лучше избегать установки приложений, которые имеют завышенные требования к «железу».

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

Очистка временных файлов

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

Безусловно, эти файлы важны, используясь для ускорения работы ПК при повторной загрузке любого контента, однако периодически их нужно подчищать.

Сделать это просто. Для этого нужно:

Также после завершения процедуры следует перезапустить ноутбук.

Настройка файла подкачки

Файл подкачки – полезная опция для устройств, которые не могут похвастаться большим объемом ОЗУ. При нехватке последней она позволяет компьютеру использовать для хранения данных жесткий диск.

Размер файла подкачки в Windows можно настраивать вручную, зарезервировав определенный объем памяти.

Для настройки файла подкачки следует:

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

Файл подкачки – полезная опция для устройств, которые не могут похвастаться большим объемом ОЗУ. При нехватке последней она позволяет компьютеру использовать для хранения данных жесткий диск. Размер файла подкачки в Windows можно настраивать вручную, зарезервировав определенный объем памяти.

Для настройки файла подкачки следует:

Высчитать оптимальный размер файла подкачки проще простого.

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

Реальная нехватка RAM и HDD

Бывает так, что памяти реально не хватает.

Если системный диск забит и постоянно возникает сообщение о нехватке памяти, то нужно просто почистить файлы на вашем HDD. Следует удалить ненужные, старые или временные файлы, чтобы в итоге повысить производительность системы.

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

В случае, когда на лицо реальная нехватка ОЗУ (к примеру, для запуска приложения нужно 4 Гб, а у вас – 1,5), то выход единственный – установить дополнительный модуль оперативной памяти. Естественно, если производитель предусмотрел такую возможность.

Источник

Выделение памяти под встроенную видеокарту: как увеличить видеопамять у интегрированных IntelHD, Intel Iris Xe и AMD Ryzen Vega (UMA Frame Buffer Size)

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем естьДоброго времени!

В последнее время снискали большую популярность интегрированные (их еще называют встроенными ) видеокарты IntelHD, Intel Iris Xe, и AMD Ryzen Vega. Последних версий уже с лихвой хватает для многих не слишком требовательных игр (что, конечно, радует — т.к. получается хорошая такая экономия на покупке внешней видеокарты)!

Однако, есть один нюанс : видеопамять для этих карт выделяется из ОЗУ (RAM). По умолчанию эта операция «выделения» происходит автоматически (без вашего участия), что не во всех случаях оптимально (например, вы можете столкнуться с ошибками во время запуска игр. ).

Разумеется, было бы не плохо вручную отрегулировать выделение памяти под интегрированную карту (в большинстве случаев стоит вопрос ее увеличения ).

И так, перейдем ближе к теме.

Можно ли разогнать встроенные видеокарты Intel HD и AMD Radeon? За счет чего поднять их производительность

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

Как увеличить видеопамять: по шагам

ШАГ 1: зачем это нужно

Вообще, если у вас все корректно работает, нет притормаживаний, ничего не зависает и не вылетает с ошибками — то вам, скорее всего, это и не нужно.

Однако, есть ситуации, когда без этого никак:

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

3DMark Sky Driver (8GB Ram, dual) — производительность в зависимости от выделенной памяти для интегрированной видеокарты AMD Ryzen Vega 11 (Ryzen 5 2400G)

Примечание!

👉 Если у вас количество ОЗУ 8 ГБ (и более) — то большинство современных материнских плат по умолчанию устанавливают для встроенной видеокарты номинальные 1024 МБ (которых пока достаточно для норм. работы).

👉 Не могу не отметить, что если у вас на борту меньше 6 ГБ ОЗУ — то выставлять для интегрированной карты больше 1 ГБ памяти крайне не рекомендуется! Это отрицательно сказывается на общей производительности ПК/ноутбука.

ШАГ 2: как узнать текущий объем видеопамяти

👉 Вариант 1

Это универсальный вариант, работающий во всех популярных версиях Windows 7/8/10.

Сначала необходимо нажать сочетание кнопок Win+R — в окне «Выполнить» ввести команду dxdiag и кликнуть по OK.

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

Далее откроется средство диагностики DirectX — во вкладке «Экран» среди прочих характеристик устройства вы найдете размер видеопамяти (👇).

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

Видеопамять 1009 МБ

👉 Вариант 2

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

Доп. параметры дисплея

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

👉 Вариант 3

Этот вариант также актуален для ОС Windows 10.

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

ШАГ 3: как вручную установить размер выделения памяти под встроенную видеокарту

Через BIOS/UEFI

Только через настройки BIOS (в принципе) и можно изменить размер выделяемой памяти для интегрированной карты (в редких случаях можно попытаться «обмануть» игры через реестр).

И так, сначала необходимо 👉 войти в BIOS (ссылка на инструкцию в помощь).

Далее нужно перейти в раздел «Configuration» (в некоторых BIOS за это отвечает раздел «Advanced» ).

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

Затем нам нужно найти один из следующих параметров (прим.: в разных версиях BIOS он называется по-своему) :

На скриншоте ниже приведен параметр «iGPU Configuration» — необходимо отключить авто-режим!

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

Отключаем Auto режим

А после вручную задать параметр «UMA Frame Buffer Size» — это и есть размер выделяемой видеопамяти (в моем примере можно выбрать от 256 МБ до 2 ГБ 👇).

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

UMA Frame Buffer Size — ставим 2 GB

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

Advanced / настройки BIOS / American Megatrends

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

DVMT ставим на Maximum

Еще один пример для более старой версии American Megatrends см. ниже. 👇

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

Через настройки реестра (опционально для IntelHD)

Этот способ поможет только «перехитрить» некоторые игры, которые могут вылетать с ошибками после запуска (т.к. у вас якобы недостаточно видеопамяти). Т.е. игра будет «считать», что размер памяти видеокарты у вас больше, чем есть на самом деле.

Причем, хочу отметить, что срабатывает он не всегда (но всё же, вдруг. ).

И так, для начала нужно 👉 открыть редактор реестра — нажать Win+R, и использовать команду regedit.

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

regedit — открыть редактор реестра

Далее в редакторе нужно создать раздел «GMM» в нижеприведенной ветке:

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

Создать раздел GMM

После, в разделе «GMM» создать строковый параметр с именем «DedicatedSegmentSize» (без кавычек).

Выделено памяти меньше чем есть. Смотреть фото Выделено памяти меньше чем есть. Смотреть картинку Выделено памяти меньше чем есть. Картинка про Выделено памяти меньше чем есть. Фото Выделено памяти меньше чем есть

Создать строковый параметр

Далее открыть его и задать значение выделяемой памяти (судя по тестам, способ актуален и работает для значений от 0 до 512).

Источник

Куда пропадает память?

Содержание статьи

Сравнивая объемы оперативной памяти, выдаваемые BIOS и операционной системой
с физическим объемом установленной памяти, практически всегда можно видеть, что
доступно меньше памяти, чем установлено. «Пропажа» обычно составляет единицы
мегабайт, но иногда достигает более существенных размеров. В предлагаемом
материале перечисляются и детально рассматриваются причины данного явления.
Также приведены рекомендации по оптимизации использования адресного пространства
и оперативной памяти. Речь пойдет исключительно об объеме памяти, который BIOS
сообщает операционной системе и о том, почему он меньше физического объема.
Управление памятью внутри ОС – тема отдельной статьи.

Первая проверка

Разумеется, не всегда вопрос о «пропавшей» памяти задается исключительно из
исследовательского интереса. И не всегда ответ лежит в области архитектуры и
схемотехники материнской платы. Если после приобретения нового компьютера или
переустановки модулей DIMM, мы видим, что памяти значительно меньше, чем
заявлено поставщиком оборудования, возникает вполне обоснованное желание
проверить комплектность нашей системы. Встречаются и случаи, когда надписи на
наклейках модулей DIMM не соответствуют действительности. Анализ маркировки
самих микросхем памяти, установленных на DIMM, также не всегда эффективен, так
как не все производители придерживаются регулярной системы обозначений. Поэтому,
перед тем, как перейти к главной теме статьи, напомним один рецепт для выявления
банального подлога. Причем воспользоваться им можно, даже не открывая корпус
компьютера.

Известно, что в современных системах, идентификация модулей оперативной
памяти основана на использовании протокола SPD (Serial Presence Detect). На
каждом модуле DIMM, вместе с микросхемами оперативной памяти, установлена
микросхема постоянного запоминающего устройства (EPROM), объемом 256 байт. В нее
производителем модуля записаны его параметры. При старте компьютера, BIOS
считывает эти параметры и использует их для инициализации контроллера памяти.
Диагностические программы, запускаемые в сеансе ОС (например, Astra32, Everest),
также могут прочитать информацию SPD, таким образом она доступна для просмотра
пользователем. Если по информации SPD объем памяти (сумма объемов модулей)
соответствует значению, заявленному поставщиком, но вместе с тем, операционной
системе доступно меньше памяти, то причина в особенностях архитектуры и
схемотехники материнской платы, рассмотренных ниже, часть памяти выделена для
использования различными устройствами или недоступна вследствие ограничений
контроллера DRAM. Рассмотрению именно таких ситуаций посвящена данная статья.
Если же, объем памяти, определенный на основании SPD, меньше ожидаемого, то все
гораздо прозаичнее – нужно предъявлять претензию поставщику.

Ниже рассмотрены причины, по которым в распоряжение операционной системы
попадает меньше оперативной памяти, чем физически установлено на плате.
Очевидно, каждая из причин относится к одному из трех типов:

Выделение памяти для System Management RAM

System Management RAM – это память, используемая BIOS для собственных нужд.
Физически, это часть оперативной памяти. Она «вырезана» из адресного
пространства с помощью картирующей логики, входящей в состав «северного моста»
чипсета. Данный вопрос детально рассмотрен в ранее опубликованной статье «SMM
и SMRAM или 128Кб потусторонней памяти. Исследовательская работа № 5 и
6″. Сколько памяти
будет «отрезано» для SMRAM зависит от реализации BIOS. В большинстве платформ
это 128 Кбайт, используется диапазон 000A0000h-000BFFFFh, разделяемый с видео
адаптером. В некоторых платформах также используется Extended SMRAM,
расположенная выше 1MB и ее объем достигает нескольких мегабайт.

Выделение памяти для Shadow RAM

В большинстве платформ, для Runtime-блоков BIOS периферийных адаптеров
отводится диапазон 000C0000h-000EFFFFh. Для Runtime-блока системного BIOS –
диапазон 000F0000h-000FFFFFh. Отметим, что даже если указанные диапазоны
используются частично или не используются, весь 256-Кбайтный блок
000C0000h-000FFFFFh «отрезается» от оперативной памяти. Практически все
современные чипсеты позволяют его использовать только как Shadow RAM.

Примечание

Выделение памяти для таблиц ACPI

Спецификация ACPI, которая используется для передачи от BIOS к ОС информации
о конфигурации платформы, а также для оптимизации энергопотребления,
представляет собой альтернативный подход к взаимодействию BIOS и ОС. Напомним,
что в «классических» функциях BIOS, например, в функциях дискового сервиса,
доступных через программное прерывание INT 13h, операционная система или другая
программа, для выполнения заданной операции, должна вызывать подпрограммы,
входящие в состав BIOS. Взаимодействие ОС и платформы посредством ACPI
выполняется принципиально по-другому. BIOS при старте платформы, перед загрузкой
ОС, записывает в специальную область памяти набор таблиц, описывающих выполнение
ряда операций. Упрощенно говоря, таблицы содержат информацию о том, какие данные
в какой регистр записывать для выполнения заданной операции. ОС считывает эту
информацию и использует при взаимодействии с оборудованием. Одно из преимуществ
такого подхода, в том, что независимо от системы команд процессора или текущего
режима работы (например, 16- 32- или 64-битный), можно использовать одни и те же
таблицы, так как построение таблиц ACPI, в отличие от выполняемых процедур BIOS,
не привязано к архитектуре процессора.

Объем памяти, выделяемый для хранения таблиц ACPI, зависит от реализации
BIOS. Обычно это сотни килобайт, часто BIOS округляет размер резервируемой
области до 1 Мбайта. Заметим, что в отличие от SMRAM (которая доступна только в
режиме SMM) и Shadow RAM (которая имеет защиту от записи), область памяти,
содержащая таблицы ACPI не имеет специального статуса с точки зрения контроллера
памяти. Факт ее резервирования состоит только в том, что BIOS при передаче ОС
информации об объеме памяти, передает значение с вычетом размера этой области.
Для таблиц ACPI используется диапазон адресов, непосредственно примыкающий к
верхней границе Extended памяти. Подробности в [14].

Выделение памяти для USB RAM

Как известно, контроллер USB является интеллектуальным устройством, способным
взаимодействовать с оперативной памятью в обход процессора (в режиме Bus
Master). Это взаимодействие состоит не только в передаче данных между
устройствами, подключенными к USB и буферами в оперативной памяти. Для работы
контроллера USB требуется достаточно много вспомогательной информации в памяти,
например расписание транзакций. Так как BIOS должен взаимодействовать с
устройствами USB до загрузки ОС (например, ввод с USB клавиатуры, загрузка с
Flash и т.п.), резервировать память должен BIOS, а не ОС. Обычно, резервируются
десятки килобайт.

Заметим, что такие устройства, как например, контроллер жестких дисков, также
поддерживают режим Bus Master и используют управляющую информацию, располагаемую
в оперативной памяти. Но разница в том, что контроллер дисков, в отличие от
контроллера USB, можно также использовать в режиме программного обмена (PIO
Mode), что BIOS и делает при передаче управления на загрузку ОС. Переход в режим
Bus Master (синоним DMA) и резервирование памяти под управляющие блоки, в этом
случае является обязанностью ОС, а не BIOS.

Выделение памяти для интегрированного видео адаптера

Если на материнской плате имеется интегрированный видео адаптер,
реализованный в составе «северного моста» чипсета, в качестве видео памяти
обычно используется часть оперативной памяти. Перед загрузкой ОС, BIOS
резервирует под видео память блок, размером единицы-десятки мегабайт. На
некоторых платах, в BIOS Setup есть возможность управлять размером выделяемого
блока. При старте ОС и загрузке видео драйвера, происходит инициализация
графического процессора и в распоряжение видео адаптера динамически может быть
выделено больше памяти.

Заметим, что существуют платы, у которых резервирование памяти для
интегрированного видео адаптера происходит даже в том случае, когда он не
используется. Одна из причин этого – небрежно написанный BIOS.

Также заметим, что не всегда интегрированный видео адаптер реализуется в
составе «северного моста» чипсета. Существуют материнские платы, содержащие
«полноценный» видео адаптер в виде отдельной микросхемы графического контроллера
со своими микросхемами памяти. В этом случае системная память для нужд видео
адаптера не резервируется.

Лимит 4Гб и Memory-Mapped I/O

Данный фактор иногда отнимает больше памяти, чем все остальные, вместе
взятые. Причем, когда мы говорили о таких вещах как SMRAM, Shadow RAM, ACPI, то
речь шла о том, что память, которую BIOS «утаил» от операционной системы,
использовалась для внутренних нужд платформы. Здесь же, часть памяти просто
пропадает. Когда и почему это происходит?

Возьмем реальный пример. Платформа класса Intel Socket 775. Процессор Intel
Pentium 4 650 3.4 ГГц (ядро Prescott-2M), чипсет Intel 925XE. Устанавливаем 4 Гб
памяти и видим, что операционной системе доступно около 3.5 Гб. Куда пропало
около 0.5 Гб?

Следующим компонентом, на пути от процессора к памяти, является «северный
мост» чипсета, в нашем примере это микросхема Intel 82925XE, описанная в [3]. Из
документа [3] следует, что чипсет поддерживает 32-битную адресацию,
следовательно, объем адресного пространства памяти равен (2 в степени 32) байт,
то есть 4 Гб. Причем, все 4 Гб нельзя отдать под оперативную память, требуется
разместить еще ряд устройств, доступ к которым также осуществляется через
пространство памяти. Именно поэтому, доступный объем оперативной памяти будет
существенно меньше 4 Гб. Полный список таких устройств можно узнать из
документов 3. Для рассматриваемой платформы, наибольший объем отнимают видео
память и окно для доступа к конфигурационным регистрам PCI Express. Рассмотрим
их подробнее.

Классические адаптеры VGA, выпускавшиеся еще во времена шины ISA, используют
постраничный доступ к видео памяти через окно, размер которого не превышает 128
KB (000A0000h-000BFFFFh). Современные адаптеры, поддерживая этот режим для
совместимости, также поддерживают линейный доступ к видео памяти. При этом
адаптеру с 256 MB видео памяти требуется выделить столько же адресного
пространства. Из-за унификации при производстве видео адаптеров можно встретить
и такие ситуации, когда адаптер со 128 MB видео памяти требует выделения окна
размером 256 MB.

Классический механизм доступа к конфигурационному пространству шины PCI,
описанный в 11 использует 256 байт конфигурационных регистров на
устройство. Спецификация PCI Express использует блоки регистров, размером 4 KB,
поэтому возникла необходимость в новом механизме доступа к ним. Новый механизм
использует регион адресного пространства, размером 256 MB, через который
конфигурационные регистры всех устройств адресуются как ячейки памяти.
Подробности в 4.

Вопросы организации регистров, отображенных на память (Memory-Mapped I/O)
рассмотрены в ранее опубликованной статье «Устройства
системной поддержки. Исследовательская работа № 7,
8 и
9″.

Операция Memory Remap

Начиная с чипсета Intel 955, лимит 4 Гб был преодолен. Разумеется, в
модельных рядах чипсетов для серверов и рабочих станций это произошло
значительно раньше.

Микросхема Intel 82955X принимает от процессора 36-битный адрес и
поддерживает адресное пространство 64 Гб. Максимальный объем оперативной памяти
– 8 Гб, на этот раз ограничение связано не с разрядностью адреса, который
«северный мост» способен принять от процессора, а с возможностями контроллера
DRAM.

Обычно, при использовании операции Memory Remap, диапазон 0-4 Гб форматирован
так же, как и раньше. Там находится оперативная память, фрагмент которой
недоступен из-за необходимости размещения других устройств. Новшество в том, что
указанный фрагмент не пропадает, а размещается по адресам выше 4 Гб.
Соответственно, если у нас памяти больше, чем 4 Гб, все, что не поместилось в
диапазоне 0-4 Гб, размещается выше.

Разумеется, польза от физической доступности памяти выше 4 Гб будет только
тогда, когда операционная система поддерживает адресацию выше 4 Гб. Это
обеспечивается в 64-битном режиме, а также в 32-битном режиме при использовании
PAE (Physical Address Extension). Если ОС не поддерживает адресацию выше 4 Гб,
перемещенная память будет недоступна. Подробности в [2].

Следует помнить и о том, что обращения к памяти инициируются не только
центральным процессором, но и другими устройствами, использующими технологию Bus
Master, например контроллером жестких дисков. Если контроллер поддерживает
только 32-битную адресацию при чтении и записи данных, то при размещении данных
выше 4 Гб, потребуется дополнительно использовать транзитный буфер,
расположенный ниже 4 Гб, так как контроллер дисков «не умеет» адресовать память
выше 4 Гб. Пересылку между транзитным и целевым буфером должен выполнить
центральный процессор. Это снижает производительность и отнимает память.
Поэтому, «истинно 64-битной» платформу можно считать только тогда, когда не
только процессор, но и Bus Master контроллеры поддерживают 64-битную адресацию.

Заключение

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

Источники информации

Электронные документы, доступные на сайте
developer.intel.com:

1) Intel Pentium 4 Processor 660, 650, 640, and 630 and Intel Pentium 4
Processor Extreme Edition Datasheet. Document Number: 306382-001.
2) TLBs, Paging-Structure Caches, and Their Invalidation. Application Note.
Document Number 317080-001.
3) Intel 925X/925XE Express Chipset Datasheet. Document Number: 301464-003.
4) Intel I/O Controller Hub 6 (ICH6) Family Datasheet. Document Number
301473-001.
5) Intel 955X Express Chipset Datasheet. Document Number 306828-001.
6) Intel I/O Controller Hub 7 (ICH7) Family Datasheet. Document Number
307013-002.
7) AGP V3.0 Interface Specification (без номера).

Электронные документы, доступные на сайте
developer.amd.com:

8) AMD Functional Data Sheet, 754 Pin Package. Publication # 31410.
9) AMD Functional Data Sheet, 939 Pin Package. Publication # 31411.
10) AMD Functional Data Sheet, 940 Pin Package. Publication # 31412.

Электронные документы, доступные на сайте
pcisig.com:

Документы [12], [13] на сайте pcisig.com доступны только для членов PCI
Special Interest Group. Воспользовавшись поисковыми системами, можно найти
данные документы для свободной загрузки.

11) PCI BIOS Specification. Revision 2.1.
12) PCI Local Bus Specification. Revision 3.0.
13) PCI-to-PCI Bridge Architecture Specification. Revision 1.1.

Электронные документы, доступные на сайте
acpi.info:

14) Advanced Configuration and Power Interface Specification. Hewlett-Packard
Corporation, Intel Corporation, Microsoft Corporation, Phoenix Technologies
Ltd., Toshiba Corporation. Revision 3.0.:

Книги:

15) В.Л. Григорьев. Микропроцессор i486. Архитектура и программирование.
Москва ТОО «ГРАНАЛ» 1993.
16) Ю.М. Казаринов, В.Н. Номоконов, Г.С. Подклетнов, Ф.В. Филиппов.
Микропроцессорный комплект К1810. Структура, программирование, применение.
Справочная книга. Москва «Высшая школа» 1990.
17) М. Гук. Аппаратные средства IBM PC. Энциклопедия. Санкт-Петербург,
издательство «Питер» 2006.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *