sonyps4.ru

Что такое максимальный объем оперативной памяти. Оперативная память: гигабайты, типы, скорость и другие тонкости

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

Сколько памяти можно установить?

Теоретический предел для 32-разрядных систем — 3 с небольшим гигабайта. 64-разрядная же система теоретически могла бы работать с 16.8 миллионов террабайт!

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

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

А лучший ответ на вопрос «Куда девать свободную память?» звучит для современных операционных систем так: «Не мешайте работать!». Т.е. просто оставьте память в покое — система сама знает, как ее лучше использовать, просто работайте с программами и играми.

Обязательно обратите внимание на статью , в которой раскрываются многие моменты по работе памяти.

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

История оперативной памяти , или ОЗУ , началась в далёком 1834 году, когда Чарльз Беббидж разработал «аналитическую машину» - по сути, прообраз компьютера. Часть этой машины, которая отвечала за хранение промежуточных данных, он назвал «складом». Запоминание информации там было организовано ещё чисто механическим способом, посредством валов и шестерней.

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

Сейчас ОЗУ выполняется по технологии DRAM в форм-факторах DIMM и SO-DIMM , это динамическая память, организованная в виде интегральных схем полупроводников. Она энергозависима, то есть данные исчезают при отсутствии питания.

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

Типы памяти

SO-DIMM

Память форм-фактора SO-DIMM предназначена для использования в ноутбуках, компактных ITX-системах, моноблоках - словом там, где важен минимальный физический размер модулей памяти. Отличается от форм-фактора DIMM уменьшенной примерно в 2 раза длиной модуля, и меньшим количеством контактов на плате (204 и 360 контактов у SO-DIMM DDR3 и DDR4 против 240 и 288 на платах тех же типов DIMM-памяти).
По остальным характеристикам - частоте, таймингам, объёму, модули SO-DIMM могут быть любыми, и ничем принципиальным от DIMM не отличаются.

DIMM

DIMM - оперативная память для полноразмерных компьютеров.
Тип памяти, который вы выберете, в первую очередь должен быть совместим с разъёмом на материнской плате. ОЗУ для компьютера делится на 4 типа – DDR , DDR2 , DDR3 и DDR4 .

Память типа DDR появилась в 2001 году, и имела 184 контакта. Напряжение питания составляло от 2.2 до 2.4 В. Частота работы – 400МГц . До сих пор встречается в продаже, правда, выбор невелик. На сегодняшний день формат устарел, - подойдёт, только если вы не хотите обновлять систему полностью, а в старой материнской плате разъёмы только под DDR.

Стандарт DDR2 вышел уже в 2003-ем, получил 240 контактов, которые увеличили число потоков, прилично ускорив шину передачи данных процессору. Частота работы DDR2 могла составлять до 800 МГц (в отдельных случаях – до 1066 МГц), а напряжение питания от 1.8 до 2.1 В – чуть меньше, чем у DDR. Следовательно, понизились энергопотребление и тепловыделение памяти.
Отличия DDR2 от DDR:

· 240 контактов против 120
· Новый слот, несовместимый с DDR
· Меньшее энергопотребление
· Улучшенная конструкция, лучшее охлаждение
· Выше максимальная рабочая частота

Также, как и DDR, устаревший тип памяти - сейчас подойдёт разве что под старые материнские платы, в остальных случаях покупать нет смысла, так как новые DDR3 и DDR4 быстрее.

В 2007 году ОЗУ обновились типом DDR3 , который до сих пор массово распространён. Остались всё те же 240 контактов, но слот подключения для DDR3 стал другим – совместимости с DDR2 нет. Частота работы модулей в среднем от 1333 до 1866 МГц . Встречаются также модули с частотой вплоть до 2800 МГц .
DDR3 отличается от DDR2:

· Слоты DDR2 и DDR3 несовместимы.
· Тактовая частота работы DDR3 выше в 2 раза – 1600 МГц против 800 МГц у DDR2.
· Отличается сниженным напряжением питания – порядка 1.5В, и меньшим энергопотреблением (в версии DDR3L это значение в среднем ещё ниже, около 1.35 В).
· Задержки (тайминги) DDR3 больше, чем у DDR2, но рабочая частота выше. В целом скорость работы DDR3 на 20-30% выше.

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

DDR4 – новый тип ОЗУ, разработанный только в 2012 году. Является эволюционным развитием предыдущих типов. Пропускная способность памяти снова повысилась, теперь достигая 25,6 Гб/с. Частота работы также поднялась – в среднем от 2133 МГц до 3600 МГц . Если же сравнивать новый тип с DDR3, который продержался на рынке целых 8 лет и получил массовое распространение, то прирост производительности незначителен, к тому же далеко не все материнские платы и процессоры поддерживают новый тип.
Отличия DDR4:

· Несовместимость с предыдущими типами
· Пониженно напряжение питания – от 1.2 до 1.05 В, энергопотребление тоже снизилось
· Рабочая частота памяти до 3200 МГц (может достигать 4166 МГц в некоторых планках), при этом, конечно, выросшие пропорционально тайминги
· Может незначительно превосходить по скорости работы DDR3

Если у вас уже стоят планки DDR3, то торопиться менять их на DDR4 нет никакого смысла. Когда этот формат распространится массово, и все материнские платы уже будут поддерживать DDR4, переход на новый тип произойдёт сам собой с обновлением всей системы. Таким образом, можно подытожить, что DDR4 – скорее маркетинг, чем реально новый тип ОЗУ.

Какую частоту памяти выбрать?

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

На сегодняшний день не стоит выбирать память с частотой ниже 1600 МГц. Вариант 1333 МГц допустим в случае DDR3, если это не завалявшиеся у продавца древние модули, которые явно будут медленнее новых.

Оптимальный вариант на сегодня - это память с интервалом частот от 1600 до 2400 МГц . Частота выше почти не имеет преимущества, но стоит гораздо дороже, и как правило является разогнанными модулями с поднятыми таймингами. Для примера, разница между модулями в 1600 и 2133 Мгц в ряде рабочих программ будет не более 5-8 %, в играх разница может быть ещё меньше. Частоты в 2133-2400 Мгц стоит брать, если вы занимаетесь кодированием видео/аудио, рендерингом.

Разница же между частотами в 2400 и 3600 Мгц обойдётся вам довольно дорого, при этом не прибавив ощутимо скорости.

Какой объём оперативной памяти брать?

Объём, который вам понадобится, зависит от типа работы, производимой на компьютере, от установленной операционной системы, от используемых программ. Также не стоит упускать из виду максимально поддерживаемый объём памяти вашей материнской платой.

Объём 2 ГБ - на сегодняшний день, может хватить разве что только для просмотра интернета. Больше половину будет съедать операционная система, оставшегося хватит на неторопливую работу нетребовательных программ.

Объём 4 ГБ
– подойдёт для компьютера средней руки, для домашнего пк-медиацентра. Хватит, чтобы смотреть фильмы, и даже поиграть в нетребовательные игры. Современные – увы, с потянет с трудом. (Станет лучшим выбором, если у вас 32-разрядная операционная система Windows, которая видит не больше 3 ГБ оперативной памяти)

Объём 8 ГБ (или комплект 2х4ГБ) – рекомендуемый объём на сегодня для полноценного ПК. Этого хватит для почти любых игр, для работы с любым требовательным к ресурсам софтом. Лучший выбор для универсального компьютера.

Объём 16 ГБ (или наборы 2х8ГБ , 4х4ГБ)- будет оправданным, если вы работаете с графикой, тяжёлыми средами программирования, или постоянно рендерите видео. Также отлично подойдёт для ведения онлайн-стримов – здесь с 8 ГБ могут быть подвисания, особенно при высоком качестве видео-трансляции. Некоторые игры в высоких разрешениях и с HD-текстурами могут лучше себя вести с 16 ГБ оперативной памяти на борту.

Объём 32 ГБ (набор 2х16ГБ , или 4х8ГБ)– пока очень спорный выбор, пригодится для каких-то совсем экстремальных рабочих задач. Лучше будет потратить деньги на другие комплектующие компьютера, это сильнее отразится на его быстродействии.

Режимы работы: лучше 1 планка памяти или 2?

ОЗУ может работать в одно-канальном, двух-, трёх- и четырёх-канальном режимах. Однозначно, если на вашей материнской плате есть достаточное количество слотов, то лучше взять вместо одной планки памяти несколько одинаковых меньшего объёма. Скорость доступа к ним вырастет от 2 до 4 раз.

Чтобы память работала в двухканальном режиме, нужно устанавливать планки в слоты одного цвета на материнской плате. Как правило, цвет повторяется через разъём. Важно при этом, чтобы частота памяти в двух планках была одинаковой.

- Single chanell Mode – одноканальный режим работы. Включается, когда установлена одна планка памяти, или разные модули, работающие на разной частоте. В итоге память работает на частоте самой медленной планки.
- Dual Mode – двухканальный режим. Работает только с модулями памяти одинаковой частоты, увеличивает скорость работы в 2 раза. Производители выпускают специально для этого комплекты модулей памяти , в которых может быть 2 или 4 одинаковых планки.
- Triple Mode – работает по тому же принципу, что и двух-канальный. На практике не всегда быстрее.
- Quad Mode - четырёх-канальный режим, который работает по принципу двухканального, соответственно увеличивая скорость работы в 4 раза. Используется, там где нужна исключительно высокая скорость - например, в серверах.

- Flex Mode – более гибкий вариант двухканального режима работы, когда планки разного объёма, а одинаковая только частота. При этом в двухканальном режиме будут использоваться одинаковые объёмы модулей, а оставшийся объём будет функционировать в одноканальном.

Нужен ли памяти радиатор?

Сейчас уже давно не те времена, когда при напряжении в 2 В достигалась частота работы в 1600 МГц, и в результате выделялось много тепла, которое надо было как-то отводить. Тогда радиатор мог быть критерием выживаемости разогнанного модуля.

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

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



Что такое тайминги?

Тайминги , или латентность (latency) – одна из самых важных характеристик оперативной памяти, определяющих её быстродействие. Обрисуем общий смысл этого параметра.

Упрощённо оперативную память можно представить, как двумерную таблицу, в которой каждая ячейка несёт информацию. Доступ к ячейкам происходит по указанию номера столбца и строки, и указание это происходит при помощи стробирующего импульса доступа к строке RAS (Row Access Strobe ) и стробирующего импульса доступа к столбцу CAS (Acess Strobe ) путём изменения напряжения. Таким образом, за каждый такт работы происходят обращения RAS и CAS , и между этими обращениями и командами записи/чтения существуют определённые задержки, которые и называются таймингами.

В описании модуля оперативной памяти можно увидеть пять таймингов, которые для удобства записываются последовательностью цифр через дефис, например 8-9-9-20-27 .

· tRCD (time of RAS to CAS Delay) - тайминг, который определяет задержку от импульса RAS до CAS
· CL (timе of CAS Latency) - тайминг, определяющий задержку между командой о записи/чтении и импульсом CAS
· tRP (timе of Row Precharge) - тайминг, определяющий задержку при переходах от одной строки к следующей
· tRAS (time of Active to Precharge Delay) - тайминг, который определяет задержку между активацией строки и окончанием работы с ней; считается основным значением
· Command rate – определяет задержку между командой выбора отдельного чипа на модуле до команды активации строки; этот тайминг указывают не всегда.

Если говорить ещё проще, то о таймингах важно знать только одно – чем их значения меньше, тем лучше. При этом планки могут иметь одинаковую частоту работы, но разные тайминги, и модуль с меньшими значениями всегда будет быстрее. Так что стоит выбирать минимальные тайминги, для DDR4 ориентиром средних значений будут тайминги 15-15-15-36, для DDR3 - 10-10-10-30. Также стоит помнить, что тайминги связаны с частотой памяти, так что при разгоне скорее всего придётся поднять и тайминги, и наоборот - можно вручную опустить частоту, снизив при этом тайминги. Выгоднее всего обращать внимание на совокупность этих параметров, выбирая скорее баланс, и не гнаться за крайними значениями параметров.

Как определиться с бюджетом?

Располагая большей суммой, вы сможете позволить себе больший объём оперативной памяти. Основное отличие дешёвых и дорогих модулей будет в таймингах, частоте работы, и в бренде – известные, разрекламированные могут стоить немного дороже noname модулей непонятного производителя.
Кроме того, дополнительных денег стоит радиатор, установленный на модули. Далеко не всем планкам он нужен, но производители сейчас на них не скупятся.

Цена будет также зависеть от таймингов, чем они ниже- тем выше скорость, и соответственно, цена.

Итак, имея до 2000 рублей , вы сможете приобрести модуль памяти объёмом 4 ГБ, или 2 модуля по 2 ГБ, что предпочтительнее. Выбирайте в зависимости от того, что позволяет конфигурация вашего пк. Модули типа DDR3 обойдутся почти вдвое дешевле чем DDR4. При таком бюджете разумнее брать именно DDR3.

В группу до 4000 рублей входят модули объёмом в 8 ГБ, а также наборы 2х4 ГБ. Это оптимальный выбор для любых задач, кроме профессиональной работы с видео, и в любых других тяжёлых средах.

В сумму до 8000 рублей обойдётся объём памяти в 16 ГБ. Рекомендуется для профессиональных целей, или для заядлых геймеров - хватит даже про запас, в ожидании новых требовательных игр.

Если не проблема потратить до 13000 рублей , то самым лучшим выбором будет вложить их в набор из 4 планок по 4 ГБ. За эти деньги можно выбрать даже радиаторы покрасивее, возможно для последующего разгона.

Больше 16 ГБ без цели работы в профессиональных тяжёлых средах (да и то не во всех) брать не советую, но если очень хочется, то за сумму от 13000 рублей вы сможете залезть на Олимп, приобретя комплект на 32 ГБ или даже 64 ГБ . Правда, смысла для рядового пользователя или геймера в этом будет не много – лучше потратить средства, скажем, на флагманскую видеокарту.

Наверное многие помнят, или слышали про первые, на сегодняшний день уже древние компьютеры, такие как к примеру ZX Spectrum? Кто не помнит или забыл, то напомним, что оперативная память для этих динозавров измерялась в килобайтах. Да-да, именно в килобайтах, даже не в мегабайтах. Сейчас любой мобильник в разы мощнее древних Спектрумов Технология продвигается, время бежит, и оперативной памяти уже требуется не килобайты, а Гигабайты. В будущем и этого конечно будет мало, и наши сегодняшние самые мощные компьютеры, тоже будут называть динозаврами прошлого. Но вернемся в наше время.

Речь сегодня пойдет о том — Сколько оперативной памяти поддерживает Windows XP, 7, 8.1 и 10?
Допустим вы захотели в свой компьютер установить дополнительные линейки оперативки. Предположим было у вас 4 Гб, воткнули еще 4 Гб. Включаем комп, а в свойствах все те-же 4Гб (Да и то это округленный показатель, на деле максимум 3.750 Гб). Почему так? О ужас!!!

Почему остались те-же 4 Гб оперативы? Давайте разберемся с этими вопросами, раз и навсегда.

Все операционные системы Windows с разрядностью x86 (32 bit) не важно какая версия, все они видят только до 4 Гб. памяти. Вы хоть истыкайте памятью весь компьютер, как ежика с иголками, он будет видеть только до 4 гигабайта. Связано это с внутренними архитектурными ограничениями.

Если вы установите на компьютере 64 битную операционную систему, то все ваши линейки памяти система и увидит.

Сколько оперативной памяти максимально видит разная версия Windows

Windows XP
Windows XP x86 (32 bit): 4 гб
Windows XP x64 (64 bit): 128 Гб

Windows 7
Windows 7 Starter x86 (32 bit): 2 Гб
Windows 7 Home Basic x86 (32 bit): 4 Гб
Windows 7 Home Premium x86 (32 bit): 4 Гб
Windows 7 Professional x86 (32 bit): 4 Гб
Windows 7 Enterprise x86 (32 bit): 4 Гб
Windows 7 Ultimate x86 (32 bit): 4 Гб
Windows 7 Home Basic x64 (64 bit): 8 Гб
Windows 7 Home Premium x64 (64 bit): 16 Гб
Windows 7 Professional x64 (64 bit): 192 Гб
Windows 7 Enterprise x64 (64 bit): 192 Гб
Windows 7 Ultimate x64 (64 bit): 192 Гб

Windows 8 / 8.1
Windows 8 x86 (32 bit): 4 Гб
Windows 8 Professional x86 (32 bit): 4 Гб
Windows 8 Enterprise x86 (32 bit): 4 Гб
Windows 8 x64 (64 bit): 128 Гб
Windows 8 Professional x64 (64 bit): 512 Гб
Windows 8 Enterprise x64 (64 bit): 512 Гб

Windows 10
Windows 10 Home x86 (32 bit): 4 Гб
Windows 10 Home x64 (64 bit): 128 Гб
Windows 10 Pro x86 (32 bit): 4 Гб
Windows 10 Pro x64 (64 bit): 512 Гб

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

Итог: Максимальное количество оперативной памяти, которые способны «увидеть» 32 разрядные версии Windows - это 4 Гб. Таким образом, если у вас больший объем RAM, следует установить 64-разрядную версию, чтобы воспользоваться этой памятью. Для того, чтобы узнать, какая версия Windows установлена на вашем компьютере, откройте пункт «Система» в панели управления (или кликните по «Мой компьютер» правой кнопкой мыши и выберите «Свойства»).

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

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



Как правило, существует несколько стандартных объемов для персональных компьютерных систем современного типа. Большинство производимых ныне планок оперативной памяти комплектуются 512 Мб, 1 Гб, 2 Гб, 4 Гб, либо 8 Гб перезаписываемой кэш памяти. Как вы могли заметить, на материнских платах стационарных компьютеров и ноутбуков имеются не одна, а сразу несколько слотов под данные модули ОЗУ. Установка нескольких микросхем памяти по двум (двухканальный режим) или трем (трехканальный режим) парам позволяет пользователю ПК в некоторой степени повысить быстродействие своей системы. Это значит, что вы вправе оснастить свою компьютерную сборку как абсолютно одинаковыми планками, так и совершенно разными. Согласитесь, такое решение является очень удобным в тех случаях, когда у хозяина компьютера есть в наличии разные по объему, рабочей частоте и производителям платы оперативной памяти. Например, в первые два слота вы можете закрепить идентичные модули ОЗУ, а в остальные разъемы (если есть) вставить планки с разными объемами памяти.



От суммарного объема оперативной памяти на всех установленных в системную плату модулях RAM зависит не только производительность конкретного компьютера, но и выбор типа операционной оболочки Microsoft Windows. Технические возможности таковы, что 32-битная операционная система Windows распознает только до 4 гигабайт общей памяти ОЗУ. Если такой тип платформы установить на компьютер с 5 и более гигабайтами оперативной памяти, то система будет использовать лишь 4 Гб, а остальной объем будет попросту простаивать. Мы думаем, что мало кто из вас захочет покупать модули с большой памятью и использовать только некую часть данных комплектующих. Поэтому, оптимальной версией ОС Windows для персональных компьютеров с объемом памяти RAM до 4 Гб можно считать 32-разрядную систему. 64-битная системная оболочка отлично подходит для компьютеров с 8, 16 и 32 гигабайтами памяти оперативно запоминающих устройств.



Сегодня трудно встретить на настольных компьютерах и ноутбуках оперативную память объемом 512 Мб. Время идет, и теперь такого виртуального отсека для кэш памяти для большинства современных задач уже не хватает. Ныне актуальный стандарт оперативной памяти формата DDR-3 дает нам возможность проводить качественную модернизацию своих электронных вычислительных машин. Как показывает практика, 2-х гигабайтов быстрой перезаписываемой памяти на данный момент вполне хватает для стабильной работы той или иной системы. Офис, небольшие мультимедиа редакторы, фильмы и нетребовательные видеоигры рассчитаны как раз под такой суммарный размер ОЗУ. Профессиональное программное обеспечение и многие современные игровые приложения нуждаются в солидном объеме оперативки, так что вам необходимо заранее побеспокоиться об возможном увеличении системной памяти своего железного друга.

Прошло несколько лет с тех пор, как была написана статья «Четыре гигабайта памяти - недостижимая цель? », а вопросов, почему 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 не имеет и переадресации памяти. С процессорами AMD64 и последними моделями процессоров 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.



Загрузка...