Physical address extension windows

Physical Address Extension

Physical Address Extension (PAE) is a processor feature that enables x86 processors to access more than 4 GB of physical memory on capable versions of Windows. Certain 32-bit versions of Windows Server running on x86-based systems can use PAE to access up to 64 GB or 128 GB of physical memory, depending on the physical address size of the processor. For details, see Memory Limits for Windows Releases.

The Intel Itanium and x64 processor architectures can access more than 4 GB of physical memory natively and therefore do not provide the equivalent of PAE. PAE is used only by 32-bit versions of Windows running on x86-based systems.

With PAE, the operating system moves from two-level linear address translation to three-level address translation. Instead of a linear address being split into three separate fields for indexing into memory tables, it is split into four separate fields: a 2-bit bitfield, two 9-bit bitfields, and a 12-bit bitfield that corresponds to the page size implemented by Intel architecture (4 KB). The size of page table entries (PTEs) and page directory entries (PDEs) in PAE mode is increased from 32 to 64 bits. The additional bits allow an operating system PTE or PDE to reference physical memory above 4 GB.

In 32-bit Windows running on x64-based systems, PAE also enables several advanced system and processor features, including hardware-enabled Data Execution Prevention (DEP), non-uniform memory access (NUMA), and the ability to add memory to a system while it is running (hot-add memory).

PAE does not change the amount of virtual address space available to a process. Each process running in 32-bit Windows is still limited to a 4 GB virtual address space.

System Support for PAE

PAE is supported only on the following 32-bit versions of Windows running on x86-based systems:

  • WindowsВ 7 (32 bit only)
  • Windows ServerВ 2008 (32-bit only)
  • WindowsВ Vista (32-bit only)
  • Windows ServerВ 2003 (32-bit only)
  • WindowsВ XP (32-bit only)

Enabling PAE

Windows automatically enables PAE if DEP is enabled on a computer that supports hardware-enabled DEP, or if the computer is configured for hot-add memory devices in memory ranges beyond 4 GB. If the computer does not support hardware-enabled DEP or is not configured for hot-add memory devices in memory ranges beyond 4 GB, PAE must be explicitly enabled.

To explicitly enable PAE, use the following BCDEdit /set command to set the pae boot entry option:

bcdedit /set [] pae ForceEnable

IF DEP is enabled, PAE cannot be disabled. Use the following BCDEdit /set commands to disable both DEP and PAE:

bcdedit /set [] nx AlwaysOff
bcdedit /set [] pae ForceDisable

Windows ServerВ 2003 and WindowsВ XP: To enable PAE, use the /PAE switch in the boot.ini file. To disable PAE, use the /NOPAE switch. To disable DEP, use the /EXECUTE switch.

Comparing PAE and other Large Memory Support

PAE, 4-gigabyte tuning (4GT), and Address Windowing Extensions (AWE) serve different purposes and can be used independently of each other:

  • PAE allows the operating system to access and use more than 4 GB of physical memory.
  • 4GT increases the portion of the virtual address space that is available to a process from 2 GB to up to 3 GB.
  • AWE is a set of APIs that allows a process to allocate nonpaged physical memory and then dynamically map portions of this memory into the virtual address space of the process.

When neither 4GT nor AWE are being used, the amount of physical memory that a single 32-bit process can use is limited by the size of its address space (2 GB). In this case, a PAE-enabled system can still make use of more than 4 GB of RAM to run multiple processes at the same time or to cache file data in memory.

Читайте также:  0x80300001 ошибка при установке windows 2016

4GT can be used with or without PAE. However, some versions of Windows limit the maximum amount of physical memory that can be supported when 4GT is used. On such systems, booting with 4GT enabled causes the operating system to ignore any memory in excess of the limit.

AWE does not require PAE or 4GT but is often used together with PAE to allocate more than 4 GB of physical memory from a single 32-bit process.

Расширение физических адресов

Расширение физических адресов (PAE) — это компонент процессора, который позволяет процессорам x86 получать доступ к более чем 4 ГБ физической памяти в поддерживающих версиях Windows. Некоторые 32-разрядные версии Windows Server, работающие на системах на базе x86, могут использовать PAE для доступа до 64 ГБ или 128 ГБ физической памяти в зависимости от размера физического адреса процессора. Дополнительные сведения см. в разделе ограничения памяти для выпусков Windows.

Архитектуры процессоров Intel Itanium и x64 могут получить доступ к более чем 4 ГБ физической памяти в собственном виде и, следовательно, не предоставляют эквиваленты PAE. PAE используется только в 32-разрядных версиях Windows, работающих в системах на базе x86.

При использовании PAE операционная система перемещается из преобразования линейного адреса из двух уровней в преобразование адресов, сопоставленное с тремя уровнями. Вместо линейного адреса, разбитого на три отдельных поля для индексирования в таблицах памяти, оно делится на четыре отдельных поля: 2-разрядное битовое значение, 2 9-разрядное битовых полей и 12-разрядное битовое значение, соответствующее размеру страницы, реализованному в архитектуре Intel (4 КБ). Размер записей в таблице страниц (PTE) и записей каталога страниц (Пдес) в режиме PAE увеличивается с 32 до 64 бит. Дополнительные биты позволяют операционной системе PTE или ПДЕ ссылаться на физическую память свыше 4 ГБ.

В 32-разрядной системе Windows, работающей в системах на базе x64, PAE также обеспечивает несколько дополнительных функций системы и процессоров, включая предотвращение выполнения данных с аппаратным обеспечением (DEP), неоднородный доступ к памяти (NUMA)и возможность добавлять память в систему во время ее работы (память с горячим добавлением).

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

Системная поддержка PAE

PAE поддерживается только в следующих 32-разрядных версиях Windows, работающих в системах на базе x86:

  • Windows 7 (только бит 32)
  • Windows Server 2008 (только 32-разрядная версия)
  • Windows Vista (только 32-разрядная версия)
  • Windows Server 2003 (только 32-разрядная версия)
  • Windows XP (только 32-разрядная версия)

Включение PAE

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

Чтобы явно включить PAE, используйте следующую команду BCDEdit/Set , чтобы задать параметр загрузочной записи PAE :

BCDEdit/Set [ ] PAE форцеенабле

Если функция DEP включена, PAE невозможно отключить. Используйте следующие команды BCDEdit/Set для отключения DEP и PAE:

BCDEdit/Set [ ] NX алвайсофф
BCDEdit/Set [ ] PAE форцедисабле

Windows Server 2003 и Windows XP: Чтобы включить PAE, используйте параметр /PAE в файле boot.ini . Чтобы отключить PAE, используйте параметр /нопае . Чтобы отключить DEP, используйте параметр /EXECUTE .

Сравнение PAE и другой поддержки больших объемов памяти

PAE, 4-Гигабайтная настройка (4GT) и расширения AWE служат для разных целей и могут использоваться независимо друг от друга.

  • PAE позволяет операционной системе получать доступ и использовать более 4 ГБ физической памяти.
  • 4GT увеличивает часть виртуального адресного пространства, доступного для процесса от 2 ГБ до 3 ГБ.
  • Расширения AWE — это набор API-интерфейсов, который позволяет процессу выделить нестраничную физическую память, а затем динамически сопоставлять части этой памяти с виртуальным адресным пространством процесса.

Если не используются ни 4GT, ни AWE, объем физической памяти, который может использовать один 32-разрядный процесс, ограничен размером его адресного пространства (2 ГБ). В этом случае система, поддерживающая PAE, по-прежнему может использовать более 4 ГБ ОЗУ для одновременного выполнения нескольких процессов или кэширования данных файлов в памяти.

Читайте также:  Как сделать анимацию при загрузке windows

4GT можно использовать с PAE или без него. Однако некоторые версии Windows ограничивают максимальный объем физической памяти, который может поддерживаться при использовании 4GT. В таких системах Загрузка с помощью 4GT Enabled приводит к тому, что операционная система будет игнорировать любую память, превышающую ограничение.

AWE не требует PAE или 4GT, но часто используется вместе с PAE, чтобы выделить более 4 ГБ физической памяти из одного 32-разрядного процесса.

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

PAE (Physical Address Extension)

PAE (англ. Physical Address Extension ) — режим работы встроенного блока управления памятью х86-совместимых процессоров, в котором используются 64-битные элементы таблиц страниц (из которых для адресации используются только 36 бит), с помощью которых процессор сможет адресовать 64 ГБ физической памяти (вместо 4 ГБ, адресуемых при использовании 32-разрядных таблиц), хотя каждая задача (программа) все равно может адресовать максимум 4 ГБ виртуальной памяти.

Впервые расширение появилось в процессоре Pentium Pro. Для использования 36-разрядной адресации памяти необходима поддержка расширения физических адресов на программном уровне (включение режима PAE в ОС) и аппаратном: необходима поддержка как со стороны процессора, так и материнской платы (можно определить по команде CPUID). Материнские платы с поддержкой PAE, как правило, были дорогими и предназначенными для серверов [Источник 1] .

Содержание

Поддержка PAE в Windows

Начиная с Windows XP Service Pack 2, по умолчанию, на процессорах с поддержкой технологий no-execute (NX) или execute-disable (XD) система использует PAE для возможности использования DEP.

В 32-битных клиентах Microsoft Windows (начиная с Windows XP SP2) использование 36-битного PAE включается ключом /PAE в файле boot.ini, однако, максимальный физический адрес доступного операционной системе ОЗУ искусственно ограничен на уровне ядра по маркетинговым соображениям. В Windows XP это ограничение составляет 4 ГБ, 32-разрядный Windows Server 2003 Enterprise Edition поддерживает до 64 ГБ. Существуют программы, позволяющие обойти ограничение на доступную память, но их использование является нарушением лицензионного соглашения Microsoft. В случае 4 ГБ ОЗУ, память можно использовать в Windows XP почти полностью, переместив системные области адресного пространства выше 4 ГБ, такую функцию поддерживают некоторые версии BIOS. Тем не менее, согласно заявлениям Microsoft, введение 4 ГБ ограничения адресного пространства связано с отсутствующей или плохой поддержкой 36-битного адресного пространства некоторыми драйверами устройств. [Источник 2] .

Одним из пунктов минимальных системных требований Windows 8 является обязательная поддержка процессором PAE.

Другой возможностью для использования более чем 4 гигабайт памяти является интерфейс Address Windowing Extensions.

Обычные 32-битные версии Windows поддерживают до 4—8 ГБ ОЗУ, Datacenter до 32—64. В Starter версиях Windows XP и Vista — ограничение в 0,5—1 ГБ.

Примечание

В Windows Server 2003 PAE включается автоматически, только если сервер использует устройства памяти, допускающие подключение в процессе работы. В системах, поддерживающих подобные устройства, ключ /PAE указывать не обязательно. В остальных случаях для использования памяти за пределами 4 ГБ необходимо указать в файле Boot.ini ключ /PAE.

Как правило, на компьютерах под управлением Windows 2000 или Windows Server 2003 один процесс может получить доступ не более чем к 2 ГБ адресного пространства (при условии, что не используется ключ /3GB), часть которого относится к физической, а часть — к виртуальной памяти. Чем больше запущено программ (и, следовательно, процессов), тем больше выделяется памяти в пределах 2 ГБ адресного пространства.

По достижении верхней границы этого диапазона резко возрастает интенсивность операций подкачки, что приводит к снижению быстродействия системы. Для выделения программам дополнительной памяти диспетчеры памяти Windows 2000 и Windows Server 2003 используют режим РАЕ. Это позволяет снизить потребность в обмене данными с файлом подкачки и повысить быстродействие системы. Приложения, работающие на компьютере, не имеют сведений о действительном размере памяти, поскольку управление и распределение памяти в рамках РАЕ осуществляется диспетчером памяти независимо от работы приложений.

Сказанное выше справедливо для приложений, которые выполняются, когда используется ключ /3GB. Приложения, требующие 3 ГБ памяти, как правило, сохраняют основную часть данных в физической памяти, не перенося их в файл подкачки, что позволяет повысить производительность подобных приложений. Исключением является ситуация, когда ключи /3GB и /PAE используются совместно. В этом случае операционная система из-за виртуальной памяти ядра не использует память за пределами 16 ГБ. Таким образом, если в файл Boot.ini добавлен ключ /3GB, а на компьютере установлено более 16 ГБ физической памяти, после перезагрузки операционная система не использует память за пределами этого диапазона. Если удалить ключ /3GB и перезагрузить компьютер, будет использована вся физическая память.

Читайте также:  Загрузчик mac os при установки

AWE представляет собой набор интерфейсов прикладного программирования (API) для функций диспетчера памяти. Применение интерфейсов AWE позволяет приложениям получать доступ к памяти за пределами 4 ГБ, доступных при использовании стандартной 32-разрядной адресации. AWE дает возможность приложениям зарезервировать физическую памяти в виде невыгружаемой памяти, а затем динамически сопоставляет участки невыгружаемой памяти рабочей памяти приложений. Благодаря этому интенсивно использующие память программы (например большие базы данных) могут резервировать большие объемы физической памяти для хранения данных, избегая необходимости переносить данные в файл подкачки и обратно. Вместо этого обмен данными происходит в рамках рабочей области, а зарезервированная память превышает 4 ГБ. Кроме того, применяя расширения РАЕ, диспетчер памяти и функции AWE могут использовать память свыше 4 ГБ (без РАЕ интерфейс AWE не может резервировать память за пределами этого диапазона).

Ниже представлен пример файла Boot.ini, содержащего ключ PAE.
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS=»Windows Server 2003, Enterprise» /fastdetect /PAE

Поддержка PAE в Linux

В ядре Linux полная поддержка PAE имеется начиная с версии 2.3.23 (1999). Оно поддерживает 36-битную физическую адресацию — до 64 ГБ ОЗУ. Для запуска ядра, собранного с поддержкой PAE (опция CONFIG_X86_PAE=y), требуется процессор с данной функцией; загрузка на более ранних процессорах, таких как Pentium Pro или Pentium M невозможна. Многие дистрибутивы поставляются либо с дополнительным пакетом PAE-ядра, либо используют такое ядро по умолчанию. Например, с 2009 Fedora перешла на PAE-ядро. В 2012 году некоторые дистрибутивы, например RHEL 6 и Ubuntu 12.10, прекратили поставку ядер без поддержки PAE. Fedora и Debian продолжают распространение как PAE так и не PAE версий ядра.

Включение PAE необходимо для поддержки функциональности NX (доступна с ядер 2.6.8)

Поддержка РАЕ в FreeBSD

FreeBSD поддерживает PAE: в линейке 4.x версий — начиная с 4.9, в линейке 5.x версий — начиная с 5.1, все 6.x и более поздние. Не все драйверы поддерживают более 4 ГБ ОЗУ и поэтому могут работать некорректно.

Проблемы РАЕ

  • Из-за увеличения количества страничных уровней система начинает тратить больше времени при обращении к памяти. Таким образом, если типичный объём используемой программой памяти незначительно больше 2 ГБ, то работа без PAE может быть эффективнее.
  • Некоторые драйверы несовместимы с режимом PAE.
  • В 32-битной Windows режим включается автоматически, когда система поддерживает PAE (Physical Address Extension) и присутствует более 4 ГБ памяти, и, если не задать «noexecute=alwaysoff /nopae» в boot.ini, который запрещает загрузчику (NTLDR) использовать PAE-версию ядра.
  • Если пользователь включил запрет исполнения кода в страницах памяти (NX, технология DEP), то режим PAE в 32-битных версиях ОС Windows включается автоматически, независимо от наличия «/nopae».

Как отключить РАЕ

  • Отключить режим PAE в Windows Server 2003 SP1 и более поздних версиях Windows Server 2003

Добавьте следующие параметры в файле Windows Server 2003 Boot.ini:
/execute /NOPAE
Например в файле Boot.ini может выглядеть следующим образом:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[операционные системы]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=»Microsoft Windows Server 2003″ /fastdetect /execute /NOPAE

  • Отключить режим PAE в Windows XP SP2 и более поздних версий Windows XP

Добавьте в файл Windows XP Boot.ini следующие параметры:
/noexecute=alwaysoff /NOPAE
Например в файле Boot.ini может выглядеть следующим образом:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[операционные системы]
multi (0) диск (0) rdisk (0) раздел (1) \WINDOWS=»Microsoft Windows XP» / fastdetect/noexecute = alwaysoff/nopae

Заметка

Не рекомендуется отключать режим PAE.

Корпорация Майкрософт рекомендует отключить режим расширения физических адресов только для временного решения проблемы оборудования или для устранения конкретной проблеме, которая затрагивает PAE или расширения AWE (Address Windowing). Некоторые функции устройств, таких как средства безопасности, описанные в этой статье, зависят от ядра PAE для реализации. Обратитесь к поставщику оборудования для получения сведений, относящихся к конкретной модели компьютера.

Оцените статью