Сколько можно максимум поставить оперативной памяти. Оперативная память и её основные характеристики

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

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

Итак, информацию, например, о материнской плате вы сможете посмотреть на официальном сайте. Тут я в подробности вдаваться не буду.

Процессор на ноутбуке у меня Intel Core i5-4200U , захожу на официальный сайт и смотрю максимальный объем оперативной памяти, который я могу поставить.

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

Узнать максимальный объем оперативной памяти с помощью AIDA64

Скачать программку можно с официального сайта , пробный период у нее 30 дней, но этого нам хватит более чем. Выбираем версию Extreme и нажимаем Download .


А потом еще раз жмем.


Извлекаем куда-нибудь программу и устанавливаем, потом запускаем.

Как видим программа успешно запустилась. Переходим во вкладку “Системная плата” .


Потом “Чипсет” .


Что мы видим? А видим мы свойства северного моста, где хранится информация по памяти, как видим, максимальный объем оперативной памяти у нас 16 Гб.


Ниже вы можете увидеть количество уже установленной памяти.



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

Сколько памяти может использовать 32 битная операционная система

Сначала немного теории.
Простейший элемент информации – бит. Он является минимальной единицей информации и может принимать значение 0 или 1. За ним идет байт, он состоит из 8 бит. Так как бит может принимать 2 значения, то всего получается 2 8 =256 значений байта.

Теперь рассмотрим адресацию памяти. У любого компьютера имеется оперативная память (ОЗУ) — адресное пространство, необходимое для хранения данных, используемых в данный момент. Для получения информации из ОЗУ вначале процессор должен выбрать адрес нужного бита, который храниться в одной из микросхем памяти, а уже потом его прочитать. Этот процесс и называется адресацией памяти. Одним из свойств архитектуры компьютера является количество битов, используемых при адресации памяти.

32 битные ОС для адресации памяти используют 2 32 бит, что составляет 4294967296 бит или 4 Гигабайт (Гб). Это значит, что максимальный объем памяти, к которому может обращаться 32 битная операционная система, составляет 4 Гб. Однако даже этот объем использовать в полной мере нам не удасться, поскольку компоненты операционной системы и устройства требуют выделенного адресного пространства в пределах первых 32 бит (4 Гбайт) оперативной памяти. Например, видеокарта с 512 Мбайт памяти потребует синхронизации этой памяти с оперативной, что снизит доступную ёмкость на 512 Мбайт.

Таким образом, общий объем памяти, доступной в 32 – битной ОС Windows обычно составляет 3.25-3.75 Гб в зависимости от используемого железа.

Некоторые версии Windows поддерживают функцию под названием Physical Address Extension (PAE) , позволяющую использовать больше 4 Гбайт памяти благодаря специальной технологии переадресации. Данная технология позволяет процессору работать не с 32-битной, а с 36-битной адресацией, теоретически расширяя доступные ему адреса до 2 36 = 68719476736 байт (64 Гб). При этом само адресное пространство остается 32-битным, то есть равным 4 Гб, но за счет измененного отображения на него физической памяти становится возможным использование большего ее объема.

Согласно официальной информации Microsoft, режим PAE можно использовать в следующих 32-битных операционных системах:

  • Microsoft Windows Server 2000 Enterprise/Datacenter Edition
  • Microsoft Windows Server 2003 Enterprise/Datacenter Edition
  • Microsoft Windows Server 2008 Enterprise/Datacenter Edition

В Server 2008 PAE включен по умолчанию, если на сервере на хардварном уровне включена технология DEP (Data Execution Prevention), либо сервер имеет возможность горячего добавления памяти (hot-add memory). В противном случае PAE необходимо включить принудительно с помощью BCDEdit, следующей командой:

BCDEdit /set [{ID}] pae ForceEnabled

Чтобы включить PAE в Server 2000\2003, необходимо указать в файле Boot.ini ключ /PAE . Вот пример файла Boot.ini, содержащего ключ PAE:


timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS=″Windows Server 2003, Enterprise″ /fastdetect /PAE

Стоит заметить, что возможность использовать режим PAE для клиентских ОС была реализована во втором сервис-паке к Windows XP. Однако в процессе тестирования выяснилось, что при использовании этого режима происходит большое количество сбоев. Дело в том, что драйверы некоторых устройств, в основном таких как аудио- и видео, жестко запрограммированы на работу с адресами памяти в пределах 4ГБ. Они обрезают все адреса выше этого объема, что приводит к повреждению содержимого памяти со всеми сопутствующими последствиями. Поскольку, как правило, сервера не используют подобные устройства, то с серверными системами подобных проблем не возникало.

В связи с выявленными недостатками решено было убрать из 32-разрядных клиентских систем возможность работать с памятью свыше 4ГБ, хотя теоретически это возможно. Поэтому в клиентских ОС семейства Windows данная технология хотя и присутствует, однако не активирована на уровне ядра, и попытка ее использовать ни к чему не приведет.

Подводя итог скажу, что если есть необходимость в объеме памяти больше 4Гб, то наилучший вариант — это использовать 64 битную ОС, ведь в ней ограничение на размер памяти составляет до 192 Гб для настольных и 2 Тб для серверных ОС.

На сегодняшний день стоит наиболее остро. Практически все пользователи отказываются от 32 битных операционных систем, при этом абсолютно не понимают - зачем им нужны 64 битные операционные системы. Как правило, ответ стандартный: "Процессор у меня 64-х битный, поэтому операционная система 64-х битная". Благо развитие 64-битных операционных систем и приложений привело к тому, что мы практически не замечаем в какой среде работаем, если только не становится необходимым подключить к компьютеру какой-нибудь старый принтер, сканер, производитель которого не удосужился выпустить 64-х битный драйвер.
История развития требований к объему оперативной памяти в персональном компьютере такова, что в 1981 году Билл Гейтс заявил, что на все про все хватает 640 килобайт оперативной памяти компьютера. Действительно, достаточно вспомнить времена господства операционной системы DOS, в частности, MS-DOS, когда 4-х мегабайт оперативной памяти было достаточно, а 8-12 мегабайт хватало для запуска практически любого игрового приложения. При этом следует понимать, что само ядро DOS является 16-битным и для использования всех 4-х или 8-12 мегабайт оперативной памяти было необходимо обеспечить загрузку специальных драйверов DPMI (DOS Protected Mode Interface), которые позволяли для 32-х битных приложений использовать весь объем оперативной памяти.

Появление первых версий Windows от Майкрософт - оболочки Windows для рабочих групп, полноценных операционных систем Windows 95, Windows 98, Windows Vista, Windows XP не предвещало выхода за пределы 32-х битного стандарта. Казалось, что трех гигабайт оперативной памяти - будет вполне достаточно для домашнего использования. Но программное обеспечение развивалось, предъявляло все большие требования к объему оперативной памяти и компания AMD начала интегрировать 64-х битные инструкции, контроллеры оперативной памяти в свои процессоры AMD Athlon 64 XP - лучших процессоров своего времени.

Картинка кликабельна --


Одновременно шло стремительное развитие рынка оперативной памяти - уменьшение технологического процесса позволяло создать 1-гигабайтные модули памяти, 2-гигабайтные модули памяти, 4-х гигабайтные модули оперативной памяти, а на сегодняшний день все доступнее становятся модули памяти по 8 Гб на планке. В продаже существуют даже планки DDR3 объемом по 8 Гб от той же Samsung формата SO-DIMM для ноутбуков. Тем самым, все это говорит о том, что даже покупка одной планки в 4-гигабайта и более приведет к тому, что 32-х битная операционная система не сможет использовать часть оперативной памяти и она будет попросту простаивать. А ведь многие хотят организовать двухканальный, трехканальный или четырехканальный режим работы за счет имеющегося контроллера памяти, поэтому - 64-х битная операционная система должна стать золотым стандартом сегодняшнего дня, а об 32-х битный операционных системах пора постепенно забывать.

Ранее шла бурная дискуссия - какое приложение работает быстрее - 32-х битное или 64-х битное. Опыт показал, что если у вас менее или ровно 3 гигабайта оперативной памяти - смысла от перехода на 64-х битную систему практически нет - в каких-то приложениях будет заметен незначительный рост, а в каких-то незначительное падение. Полная совместимость 64-х битных операционных систем с 32-х битными не накладывает жестких ограничений на производителей программного обеспечения, поэтому они стараются создавать 32-х битные приложения, а если приложение активно использует оперативную память, то 64-х битную.

Картинка кликабельна --


Несмотря на все сказанное о 32-х битных и 64-х битных операционных системах, следует отметить, что популярный производитель этих самих операционных систем - Майкрософт, четко дифференцирует свои продукты по объему поддерживаемой оперативной памяти. Старые операционные системы Windows XP 32 бит и 64 бит поддерживали лишь 3,5 и 16 гигабайт оперативной памяти. Следует отметить, что данные особенности во многом были продиктованы особенностями того времени - 16 гигабайт памяти типа DDR2 было достаточно дорогим удовольствием, а планок в 8 гигабайт и не существовало. Операционная система Windows Vista в 32-х битной и 64-х битной редакции поддерживает 4 и 16 гигабайт оперативной памяти. При этом операционная система должна относиться к старшей версии - расширенной, так как Home Basic и Starter умудрялись поддерживать либо 1, либо 8 гигабайт оперативной памяти. Этот факт уже говорил о том, что Windows Vista вышла в свет уже "устаревшей" и не соответствовала своему времени, поэтому не нашла какой-либо популярности среди пользователей.

Благо компания Майкрософт поняла свои ошибки и создала совершенно новую операционную систему - Windows 7. В данном случае версии операционных систем Windows 7 Ultimate 32-х бит и 64-х бит поддерживают по 4 гигабайта и 192 гигабайта оперативной памяти, то есть весь допустимый объем в рамках форматов двоичного исчисления. Урезанные версии Windows 7 поддерживают меньшие объемы памяти. К примеру, устанавливаемая на нетбуки и часть ноутбуков Windows 7 Starter x32 поддерживает всего 2 гигабайта памяти, а версии Windows 7 Home Basic x64 и Windows 7 Home Premium x64 по 8 и 16 гигабайт соответственно. Естественно, все данные ограничения созданы Майкрософт искусственно, для того чтоб из одного продукта сделать разные операционные системы как по функциональности, так и по стоимости.

Картинка кликабельна --


Поэтому если вы с версией операционной системы уже определились, - стоит определиться с количеством необходимой вам оперативной памяти. В частности, если ваш бюджет ограничен и вы собираете офисный компьютер, то имеет смысл присмотреться к планкам по 2 гигабайта. Планки по 1 гигабайту мы не рекомендуем рассматривать, так как их стоимость оказывается выше, при расчете на объем свободного пространства. Естественно, речь идет о популярной памяти DDR3.

Для домашних пользователей мы рекомендуем в зависимости от ограниченности бюджета присматриваться к планкам по 4 и 8 гигабайт памяти DDR3. Если ваш бюджет ограничен - приобретайте планки по 4 гигабайта, если бюджет позволяет - то планки по 8 гигабайт. При этом следует помнить правила, которые мы описывали в предыдущих наших материалах.

Главное для нового компьютера приобретать одинаковые планки памяти, а их количество должно соответствовать канальности контроллера памяти процессора. Большинство современных процессоров имеют двухканальные контроллеры памяти. Поэтому покупка двух планок по 4 гигабайта позволит вам получить 8 гигабайт итоговой памяти, которой хватит для современных игр на компьютере с одним монитором. А если вы приобретете две планки по 8 гигабайт - то получите итоговые 16, которых хватит для компьютера с несколькими мониторами. Заключение
В любом случае определяясь с объемом оперативной памяти, мы рекомендуем не забывать о сбалансированности персонального компьютера. Собирая игровой компьютер для дома с 16 гигабайтами памяти и слабой видеокартой - вы получите аналогичную производительность, что и с 4 гигабайтами оперативной памяти. Для офисного компьютера мы рекомендуем не экономить на копеечной памяти, так как интенсивный обмен данными, работа в Интернете - приводит к массивному использованию оперативной памяти за счет кэширования, - тут дополнительные 1-2 гигабайта памяти смогут значительно сократить интенсивность использования жесткого диска для выгрузки данных в файл подкачки.

Оперативная память, которая обычно обозначается как ОЗУ или RAM, является одной из самых важных частей любого компьютера. Но сколько ее нужно для хорошей работы устройства? Текущие новые ПК и аналогичные девайсы предлагают значения от 2 ГБ до 16 ГБ и более.

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

Введение в ОЗУ

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

Стол - полезная аналогия, чтобы рассмотреть разницу между ОЗУ и памятью. Думайте о RAM как о вершине стола. Чем больше его поверхность, тем больше бумаг вы можете разложить и читать сразу. Жесткие диски больше похожи на ящики под столом, способные хранить документы, которые вы не используете.

Чем больше у вашей системы, тем больше программ она может обрабатывать одновременно. ОЗУ не является единственным определяющим фактором, и вы можете технически открыть десятки программ одновременно даже с очень небольшим объемом RAM, и это замедлит работу вашей системы. А теперь представьте стол еще раз. Если он слишком мал, он становится загроможденным, и ваша работа будет замедляться, когда вы попытаетесь найти любую бумагу, которая вам нужна в любой конкретный момент. Вы будете вынуждены часто копаться в ящиках, чтобы поместить то, что не поместится на поверхности стола, а также доставать нужные бумаги.

Компьютер с большим количеством ОЗУ работает заметно быстрее, но только до определенной точки. Наличие большого стола не поможет вам, если у вас есть только несколько статей для чтения.

Оптимальное соотношение

Сколько оперативной памяти нужно вашему устройству? Ваша цель состоит в том, чтобы иметь достаточное количество ОЗУ для всех приложений, которые вы используете на этом конкретном устройстве. Если ее слишком мало - работа замедляется. Слишком много оперативной памяти может означать лишь то, что вы заплатили большие деньги за то, что никогда не сможете использовать.

Отличие от других характеристик

Стандартное ОЗУ не следует путать с видеопамятью, однако эти понятия тесно связаны с компьютерными графическими картами. Высокопроизводительные 3D-игры основаны на видеопамяти (VRAM), часто выражаемой как GDDR5, тогда как стандартную память называют RAM или DDR3. На самом деле большинство производителей очень хорошо идентифицируют VRAM и не путают ее с другими параметрами. Поэтому, чтобы определить, сколько оперативной памяти нужно для GTA 5, к примеру, нужно рассматривать оба вышеуказанных показателя в совокупности.

Тяжелые приложения

Самые большие сервисы на большинстве домашних компьютеров - это сама операционная система и веб-браузер. Вы не можете сделать так, чтобы Windows или MacOS потребляли меньше памяти, но больше ОЗУ на вашем компьютере означает, что вы можете открыть больше вкладок в Chrome, Firefox, Internet Explorer и т. д. Кроме того, некоторые веб-сайты используют больше оперативной памяти, чем другие. Простые текстовые новости почти не занимают ресурсы, в то время как что-то вроде Gmail или Netflix требует несколько больше мощности.

Программы, как правило, используют поскольку они увеличивают сложность работы. В программе чата или в игре (например, Minesweeper) почти не будет использоваться оперативная память, в то время как гигантская электронная таблица Excel или огромный проект Photoshop могут использовать больше одного гигабайта. Профессиональное и инженерное программное обеспечение создано для решения очень сложных проектов и, как правило, потребляет большинство оперативной памяти всех программ. Современные 3D-игры также могут использовать довольно много ОЗУ и VRAM. Другими словами, ваша потребность в том, сколько оперативной памяти нужно установить, зависит от используемых вами программ.

  • ОЗУ 2 ГБ: хорошо только для планшетов и нетбуков.
  • Оперативная память 4 Гб: Минимум для бюджетных систем Windows и MacOS.
  • 8 ГБ: отлично подходит для систем Windows и MacOS.
  • 16 ГБ: Скорее всего, слишком много; идеально подходит для рабочих станций среднего уровня.
  • 32 ГБ и более: только для энтузиастов и специализированных рабочих станций.

Для планшета

Предполагается, что планшеты не будут иметь дело со сложными задачами программного обеспечения, поэтому их потребности в оперативной памяти, как правило, довольно низки. Однако, поскольку браузеры с несколькими вкладками и более сложное программное обеспечение продолжают развиваться, потребности планшетов становятся все более похожими на потребности ноутбуков. Текущие параметры спецификации обычно варьируются от 2 до 16 ГБ оперативной памяти, причем скорость процессора играет важную роль в определении диапазона.

Например, iPad Air 2, который имеет около 2 ГБ ОЗУ, много внимания уделяет универсальному процессору. А такое устройство, как Microsoft Surface Pro, может вмещать в себя RAM объемом до 16 Гбайт, потому что пользователи этого девайса могут захотеть запустить большое количество профессионального программного обеспечения, а также настольную ОС.

И это дает вам ориентиры для выбора оперативной памяти - для чего вы используете свой планшет? Если вы просматриваете только один сайт за один раз и не используете девайс для каких-либо больших проектов или рабочего программного обеспечения, то оперативная память 4 ГБ, вероятно, будет достаточной. Однако если вы также используете планшет в качестве основного ПК, вы должны оснастить его необходимой оперативной памятью. Как правило, это означает, что вам потребуется от 4 до 8 Гб.

Выбор ОЗУ для ноутбуков

Сколько нужно Новые ноутбуки имеют от 2 ГБ до 16 ГБ ОЗУ, в то время как элитные игровые модели предлагают до 32 ГБ. Как уже упоминалось ранее, потребности в планшетах и ​​ноутбуках сходятся, но большинство пользователей чувствуют себя комфортно с запуском более сложных программ на ноутбуках, и это означает, что оперативная память играет здесь более важную роль.

Для чего-то вроде Chromebook, который работает в основном в облаке и имеет очень мало места для хранения, вам не понадобится многого ОЗУ. Достаточно выбрать 4 ГБ оперативной памяти, тем более что вы можете использовать Google Play Store для загрузки приложений Android прямо на вашем компьютере.

Сколько оперативной памяти нужно для Windows10 и новых модификаций MacBook? Вы должны подумать о том, чтобы увеличить это число до стандартного 8 ГБ. Большинство лучших ноутбуков поставляются с этим значением по уважительной причине. Конечно, если вы выполняете много графических работ или хотите открывать сразу несколько вкладок, возможно, стоит рассмотреть возможность увеличения RAM до 16 ГБ. Особенно это актуально для геймеров - вопрос о том, сколько оперативной памяти нужно для игр, всегда остается актуальным.

Стационарные компьютеры

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

Сколько оперативной памяти нужно для ПК? 8 ГБ - хорошее значение для начала. Обновление до 16 ГБ рекомендуется для энтузиастов, хардкорных геймеров и среднего пользователя рабочей станции. Серьезные пользователи рабочей станции могут перейти на 32 ГБ. Даже говоря о том, сколько оперативной памяти нужно для игр, можно убедиться, что слишком значительные параметры не требуются.

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

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

Прошло несколько лет с тех пор, как была написана статья «Четыре гигабайта памяти - недостижимая цель? », а вопросов, почему Windows не видит все четыре гигабайта, меньше не стало. К числу вопрошающих добавились и обладатели 64-разрядных систем, которых эта проблема, казалось бы, не должна была коснуться. И стало ясно, что пора писать новую статью на эту же тему. Как и раньше, речь пойдет только об операционных системах Windows, причем в основном клиентских, то есть Windows XP, Windows Vista, Windows 7 и грядущей Windows 8. В некоторых случаях намеренно будут использоваться несколько упрощенные описания тех или иных аспектов. Это даст возможность сосредоточиться на предмете данной статьи, не вдаваясь в излишние подробности, в частности, внутреннего устройства процессоров и наборов микросхем (чипсетов) для системных плат. Рекомендуем предварительно прочитать указанную выше статью, так как не всё, сказанное в ней, будет повторено здесь.

Хотя теоретически 32-разрядной системе доступны (без дополнительных ухищрений) до 4 ГБ физической памяти, 32-разрядные клиентские версии Windows не могут использовать весь этот объем из-за того, что часть адресов используется устройствами компьютера. Ту часть ОЗУ, адреса которой совпадают с адресами устройств, необходимо отключать, чтобы избежать конфликта между ОЗУ и памятью соответствующего устройства - например, видеоадаптера.

Рис. 1. Если оперативная память в адресах, используемых устройствами, не отключена, возникает конфликт

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

В середине девяностых годов прошлого века для расширения доступного объема ОЗУ была разработана технология PAE (Physical Address Extension), увеличивающая число линий адреса с 32 до 36 - тем самым максимальный объем ОЗУ вырастал с 4 до 64 ГБ. Эта технология первоначально предназначалась для серверов, однако позже появилась и в клиентской Windows XP. Некоторые особенности реализации этой технологии в современных контроллерах памяти дают возможность не только использовать PAE по ее прямому назначению, но и «перекидывать» память в другие адреса. Таким образом, часть памяти, которая ради предотвращения конфликтов не используется, может быть перемещена в старшие адреса, например в пятый гигабайт - и снова стать доступной системе.

В обсуждении первой статьи было высказано замечание, что некорректно отождествлять наличие в контроллере памяти системной платы поддержки PAE - и способность платы переадресовывать память; что это вполне могут быть вещи, друг с другом не связанные. Однако практика показывает, что в «железе» для настольных систем это понятия взаимозаменяемые. К примеру, Intel в документации к своему набору микросхем G35 ни слова не говорит о возможности (реально существующей) переадресации памяти, зато подчеркивает поддержку РАЕ. А не поддерживающий PAE набор i945 не имеет и переадресации памяти. С процессорами AMD 64 и последними моделями процессоров Intel дело обстоит еще проще: в них контроллер памяти встроен в процессор, и поддержка PAE (и ОЗУ размером более 4 ГБ) автоматически подразумевает поддержку переадресации.

Рис. 2. Переадресация

Рисунок достаточно условный, переадресация совсем не обязательно выполняется блоками именно по одному гигабайту, дискретность может быть другой и определяется контроллером памяти (который, напомним, является либо частью оборудования системной платы, либо частью процессора). В программе BIOS Setup компьютера обычно бывает настройка, разрешающая или запрещающая переадресацию. Она может иметь различные наименования - например, Memory remap, Memory hole, 64-bit OS и тому подобное. Ее название лучше всего выяснить в руководстве к системной плате. Необходимо отметить, что если используется 32-разрядная система, то на некоторых системных платах, преимущественно достаточно старых, переадресацию необходимо отключать - в противном случае объем доступного системе ОЗУ может уменьшиться.

По умолчанию в Windows XP режим РАЕ был отключен, поскольку реальной надобности в нем не было (напомним, что в 2001 году типичный объем памяти настольного компьютера составлял 128-256 МБ). Тем не менее, если его включить, то ХР могла бы использовать все четыре гигабайта памяти - при условии, конечно, что системная плата поддерживала бы РАЕ. Но, повторим, реальной надобности включать этот режим в те годы не было. При желании читатель может для пробы установить на современный компьютер Windows XP или Windows XP SP1 (делать это для работы, конечно, не стоит), включить режим PAE и своими глазами убедиться, что системе доступны четыре гигабайта ОЗУ.

В 2003 году «Майкрософт» начала разрабатывать второй пакет исправлений для Windows XP (вышедший в 2004 году), поскольку столкнулась с необходимостью существенно снизить число уязвимостей в компонентах ОС. Одним из путей было использование предотвращения выполнения данных (Data Execution Prevention, DEP) - набора программных и аппаратных технологий, позволяющих выполнять дополнительные проверки содержимого памяти и в ряде случаев предотвращать запуск вредоносного кода. Эти проверки выполняются как на программном уровне, так и на аппаратном (при наличии соответствующего процессора). AMD назвала эту функцию процессора «защита страниц от выполнения» (no-execute page-protection, NX), а Intel использовала термин «запрет на выполнение» (Execute Disable bit, XD).

Однако использование такой аппаратной защиты требует перевода процессора в режим PAE, поэтому Windows XP SP2 при обнаружении подходящего процессора стала включать этот режим по умолчанию. И вот тут «Майкрософт» столкнулась с довольно серьезной проблемой: оказалось, что не все драйверы могут работать в режиме PAE. Попробуем пояснить эту особенность, не слишком углубляясь в устройство процессоров и механизмы адресации.

В Windows используется так называемая плоская модель памяти. Тридцать два разряда адреса обеспечивают обращение к пространству размером четыре гигабайта. Таким образом, каждой ячейке ОЗУ или ячейке памяти другого устройства соответствует определенный адрес, и никаких двусмысленностей тут быть не может. Включенный режим PAE дает возможность использовать 36 разрядов адреса и увеличить количество ячеек памяти в 16 раз. Но ведь система команд процессора остается той же самой и может адресовать только 4 миллиарда (двоичных) байтов! И вот, чтобы обеспечить возможность доступа к любому из 64 миллиардов байтов, указав только 32 разряда адреса, в процессоре включается дополнительный этап трансляции адресов (те, кого интересуют подробности, могут обратиться к специальной литературе - например, книге Руссиновича и Соломона «Внутреннее устройство Windows»). В результате 32-разрядный адрес в программе может указывать на любой из байтов в 36-разрядном пространстве.

Прикладных программ эта особенность никак не касается, они работают в своих собственных виртуальных адресах. А вот драйверам, которые должны обращаться к реальным адресам конкретных устройств, приходится решать дополнительные задачи. Ведь сформированный этим драйвером 32-разрядный адрес может после дополнительного этапа трансляции оказаться совсем другим, и выданная драйвером команда может, например, вместо вывода значка на экран изменить значение в одной из ячеек таблицы Excel. А если окажутся запорченными какие-либо системные данные, то тут и до аварийного завершения работы с выводом синего экрана рукой подать. Поэтому для успешной работы в режиме PAE драйверы должны быть написаны с учетом особенностей этого режима.

Однако поскольку исторически сложилось так, что до того времени в клиентских компьютерах PAE не использовался, некоторые компании не считали нужным поддерживать этот режим в написанных ими драйверах. Ведь оборудование, которое они выпускали (звуковые платы, к примеру), не предназначалось для серверов, и драйверы не имели серверной версии - так зачем без необходимости эти драйверы усложнять? Тем более, что для тестирования работы в режиме PAE раньше требовалось устанавливать серверную ОС и использовать серверное оборудование (системные платы для настольных компьютеров лишь относительно недавно стали поддерживать PAE). Так что разработчикам драйверов проще и выгоднее было просто забыть про этот PAE и обеспечить работоспособность на обычных клиентских компьютерах с обычными персональными, а не серверными ОС.

И вот с такими драйверами и возникли проблемы в XP SP2. Хотя количество фирм, драйверы которых переставали работать или даже вызывали крах системы, оказалось невелико, количество выпущенных этими фирмами устройств исчислялось миллионами. Соответственно, и количество пользователей, которые могли бы после установки SP2 получить неприятный сюрприз, оказывалось весьма значительным. В результате многие пользователи и сами отказались бы устанавливать этот пакет, и разнесли бы о нем дурную славу, что повлияло бы и на других пользователей. Они, хоть и без каких-либо веских причин, тоже отказались бы его устанавливать.

А необходимость повышения безопасности ХР компания «Майкрософт» ощущала очень остро. Впрочем, рассуждения на тему, почему мы увидели Windows XP SP2 и не увидели чего-то наподобие Windows XP Second Edition, выходят за рамки данной статьи.

Главное, что нас интересует, это то, что для обеспечения совместимости с плохо написанными драйверами функциональность PAE в SP2 для Windows XP была обрезана. И хотя сам этот режим существует и, более того, на компьютерах с современными процессорами включается по умолчанию, никакого расширения адресного пространства он не дает, просто передавая на выход те же адреса, которые были поданы на вход. Фактически система ведет себя как обычная 32-разрядная без PAE.

То же самое поведение было унаследовано Windows Vista, а затем перешло к Windows 7 и будущей Windows 8. Конечно, 32-разрядным. Причина, по которой это поведение не изменилось, осталась той же самой: обеспечение совместимости. Тем более что необходимость выгадывать доли гигабайта отпала: те, кому нужны большие объемы памяти, могут использовать 64-разрядные версии ОС.

Иногда можно услышать вопрос: если именно этот обрезанный режим PAE мешает системе видеть все четыре гигабайта - так, может, отключить его вовсе, чтобы не мешал, и, вуаля, системе станут доступны 4 ГБ? Увы, не станут: для этого требуется как раз наличие PAE, притом полноценного. Другой не так уж редко задаваемый вопрос звучит так: если устройства действительно мешают системе использовать всю память и резервируют ее часть под свои нужды, то почему же они ничего не резервировали, когда в компьютере стояло два гигабайта ОЗУ?

Вернемся к первому рисунку и рассмотрим ситуацию подробнее. Прежде всего отметим, что нужно четко различать два понятия: размер адресного пространства и объем ОЗУ. Смешение их воедино препятствует пониманию сути вопроса. Адресное пространство - это набор всех существующих (к которым может обратиться процессор и другие устройства) адресов. Для процессоров семейства i386 это 4 гигабайта в обычном режиме и 64 ГБ с использованием PAE. У 64-разрядных систем размер адресного пространства составляет 2 ТБ.

Размер адресного пространства никак не зависит от объема ОЗУ. Даже если вытащить из компьютера всю оперативную память, размер адресного пространства не изменится ни на йоту.

Адресное пространство может быть реальным, в котором работает сама операционная система, и виртуальным, которое ОС создает для работающих в ней программ. Но особенности использования памяти в Windows будут описаны в другой статье. Здесь же отметим только, что к реальному адресному пространству программы доступа не имеют - по реальным адресам могут обращаться только сама операционная система и драйверы.

Рассмотрим, как же в компьютере используется адресное пространство. Сразу подчеркнем, что его распределение выполняется оборудованием компьютера («железом») и операционная система в общем случае не может на это повлиять. Есть только один способ: изменить настройки оборудования с помощью технологии Plug&Play. О ней много говорили в середине 90-х годов прошлого века, но теперь она воспринимается как что-то само собой разумеющееся, и всё увеличивается число людей, которые о ней даже не слышали.

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

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

Раз уж об этом зашла речь, заметим, что в ряде системных плат есть настройка под названием «P&P OS». Если эта настройка выключена (No), то системная плата выполняет распределение адресов для всех устройств. Если включена (Yes), то распределение памяти выполняется только для устройств, необходимых для загрузки, а настройкой остальных устройств будет заниматься операционная система. В случае Windows XP и более новых ОС этого семейства данную настройку рекомендуется включать, поскольку в большинстве случаев Windows выполнит требуемую настройку по крайней мере не хуже, чем BIOS.

Поскольку при таком самоконфигурировании распределяются адреса памяти, не имеет никакого значения, сколько ОЗУ установлено в компьютере - процесс все равно будет протекать одинаково.

Когда в компьютер вставлено некоторое количество ОЗУ, то адресное пространство для него выделяется снизу вверх, начиная с нулевого адреса и дальше в сторону увеличения адресов. Адреса устройств, наоборот, выделяются в верхней области (в четвертом гигабайте) в сторону уменьшения адресов, но не обязательно смежными блоками - чаще, наоборот, несмежными. Как только зоны адресов, выделяемых для ОЗУ (с одной стороны) и для устройств (с другой стороны), соприкоснутся, становится возможным конфликт адресов, и объем используемого ОЗУ приходится ограничивать.

Поскольку изменение адреса при настройке устройств выполняется с некоторым шагом, определяемым характеристиками устройства, заданными изготовителем, то сплошной участок адресов для устройств получить невозможно - между адресами отдельных устройств появляются неиспользуемые промежутки. Теоретически эти промежутки можно было бы использовать для обращения к оперативной памяти, но это усложнило бы работу диспетчера памяти операционной системы. По этой и по другим причинам Windows использует ОЗУ до первого адреса памяти, занятого устройством. ОЗУ, находящееся от этого адреса и выше, останется неиспользуемым. Если, конечно, контроллер памяти не организует переадресацию.

Иногда задают вопрос: а можно ли повлиять на распределение адресов, чтобы сдвинуть все устройства в адресном пространстве как можно выше и сделать как можно больше памяти доступной системе. В общем случае без вмешательства в конструкцию или микропрограммы самих устройств это сделать невозможно. Если же руки все-таки чешутся, а времени не жалко, можно попробовать следующий метод: в BIOS Setup включить настройку «PnP OS» (она может или вовсе отсутствовать или называться по-другому), чтобы адреса для большинства устройств распределяла Windows, а затем переустанавливать драйверы, используя отредактированные файлы inf с удаленными областями памяти, которые, на ваш взгляд, расположены слишком низко.

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

Может возникнуть также вопрос: а что будет, если установить видеоадаптер с четырьмя гигабайтами памяти. Ведь тогда получается, что система останется совсем без ОЗУ и работать не сможет. На самом деле ничего страшного не произойдет: видеоадаптеры уже довольно давно используют участок адресного пространства размером 256 МБ, и доступ ко всему объему памяти видеоускорителя осуществляется через окно такого размера. Так что больше 256 мегабайт видеоадаптер не отнимет. Возможно, в каких-то моделях размер этого окна увеличен вдвое или даже вчетверо, но автору в руки они пока не попадали.

64 разряда

Итак, с 32-разрядными системами мы разобрались. Теперь перейдем к 64-разрядным.

Вот уж тут-то, казалось бы, никаких подводных камней быть не должно. Система может использовать куда больше четырех гигабайт, так что, на первый взгляд, достаточно воткнуть в системную плату память и установить систему. Но оказывается, не все так просто. Прежде всего, отметим, что специального оборудования, предназначенного только для 64-разрядных систем, найти не удастся (мы говорим об обычных ПК). Любая системная плата, сетевая плата, видеоадаптер и пр., работающие в 64-разрядной системе, должны с одинаковым успехом работать в 32-разрядной.

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

Не поддерживают переадресацию системные платы на наборах микросхем Intel до 945 включительно. Новыми их, конечно, не назовешь, но компьютеры на их базе еще существуют и используются. Так вот, на таких платах и 64-разрядная, и 32-разрядная системы смогут увидеть одинаковое количество памяти, и оно будет меньше 4 ГБ. Почему меньше - описано выше.

С 64-разрядными процессорами AMD дело обстоит проще: у них контроллер памяти уже довольно давно встроен в процессор, и переадресация отсутствует только в устаревших моделях. Все процессоры для 939-контактного гнезда и более новые поддерживают больше 4 ГБ и, соответственно, умеют выполнять переадресацию памяти. То же самое относится к процессорам Intel семейств Core i3, i5, i7.

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

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

Например, если системная плата поддерживает до 8 ГБ ОЗУ (скажем, использующая набор микросхем G35), и установить все эти 8 ГБ, то использоваться будут только ≈7-7,25 ГБ. Причина заключается в следующем: на такой системной плате разведены 33 линии адреса, что, с точки зрения изготовителя, вполне логично - зачем усложнять конструкцию, если больше 8 ГБ плата все равно не поддерживает? Поэтому даже если контроллер памяти сможет перекинуть неиспользуемый участок ОЗУ в девятый гигабайт, обратиться к нему все равно будет невозможно. Для этого потребуется 34-разрядный адрес, который физически нельзя сформировать на 33-разрядной системной шине. Точно так же на платах, поддерживающих 16 ГБ, Windows сможет использовать ≈15-15,25 ГБ и так далее.

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

Рис. 3. Эта настройка ограничивает верхнюю границу адресов, а не размер памяти

То есть если задать эту величину равной 4096 МБ, то память, расположенная выше этой границы (переадресованная в пятый гигабайт, например), использоваться не будет, и фактически объем памяти будет ограничен примерно тремя гигабайтами. Эту особенность в некоторых случаях удается использовать для диагностики того, работает переадресация или нет. Например, автору встретился случай, когда на ноутбуке Windows использовала 3,75 ГБ из четырех, и было неясно: то ли не работает переадресация, то ли память используется на какие-то нужды. Установка флажка и ограничение размера памяти четырьмя гигабайтами привели к тому, что стали использоваться только 3,25 ГБ. Из этого можно сделать вывод, что переадресация работала, а четверть гигабайта, следовательно, использовалась для видеоадаптера или каких-то других целей.

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

Статьи по теме: