Pae что это
Перейти к содержимому

Pae что это

  • автор:

Pae что это

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

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

Содержание

Варианты применения

  • PAE позволяет использовать более 4GB оперативной памяти в 32-битной ОС
  • выделить память, урезанную 32-битной ОС — стандартным резервированием адресного пространства под драйверные аппаратные адреса — под RAM drive, обычно это от 0.5 до 0.9 GB из установленных 4GB(не говоря уже больше) — в зависимости от ОС и её версии
  • задействуя замену драйвера ОС кэширования файлов, выделить вышеуказанный потерянный объём памяти под ОС файл кэш

Проблемы

  • Из-за увеличения количества страничных уровней [2] , система начинает тратить больше времени при обращении к памяти. Таким образом, если типичный объем используемый программой памяти незначительно больше 2GB, то работа без PAE может быть эффективнее.
  • Некоторые драйверы [3] несовместимы с режимом PAE

Поддержка PAE в различных ОС

Windows

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

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

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

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

Linux

В ядре Linux поддержка PAE имеется начиная с версии 2.3.23. Оно поддерживает до 64 Гб ОЗУ, но требует от процессора поддержки PAE. Также для включения PAE необходимо пересобрать ядро с параметром PAE. Поскольку это не всегда удобно, большинство дистрибутивов включили в свои репозитории готовые ядра с этим параметром. Также последние версии некоторых дистрибутивов поставляются с ядром с уже включенной поддержкой PAE.

FreeBSD

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

Mac OS X

В Mac OS X режим PAE включён по умолчанию при использовании 32-разрядного ядра.

Solaris

Solaris поддерживает PAE, начиная с версии 7. Однако драйверы сторонних разработчиков могут работать некорректно.

См. также

Примечания

  1. часть адресного пространства, обычно от 0.9 до 2 ГБ резервируется под нужды ОС и недоступны приложению, см en:3 GB barrier, [1]
  2. Physical Address Extension
  3. Например, драйвер Microsoft Device Emulator
  4. The RAM reported by the System Properties dialog box and the System Information tool is less than you expect in Windows Vista or in Windows XP Service Pack 2 or later version
  5. Licensed Memory in Windows Vista  (англ.)

Ссылки

      (англ.)   (англ.)
  • Расширения архитектуры x86
  • Защита памяти
  • Виртуальная память

Wikimedia Foundation . 2010 .

Полезное

Смотреть что такое «PAE» в других словарях:

PAE — or PAE may refer to: Contents 1 Science and technology 2 People 3 Places … Wikipedia

PAE — ist die Abkürzung für: Flughafen Everett (Paine Field) im US Bundesstaat Washington (IATA Code) Physical Address Extension ist eine technische Erweiterung aus dem Gebiet der Rechnerarchitektur Personal Accidents and Effects bei Autovermietungen… … Deutsch Wikipedia

Pae — ist die Abkürzung für: Flughafen Everett (Paine Field) im US Bundesstaat Washington (IATA Code) Physical Address Extension ist eine technische Erweiterung aus dem Gebiet der Rechnerarchitektur Personal Accidents and Effects bei Autovermietungen… … Deutsch Wikipedia

PAE — es un acrónimo que puede significar: Pequeño Aparato Electrodoméstico Píldora Anticonceptiva de Emergencia Proceso de Atención de Enfermería Producción Agroalimentaria Ecológica Portal de Administración Electrónica Prueba de Aptitud Escolar… … Wikipedia Español

pae|an — «PEE uhn», noun. 1. a song of praise, thanksgiving, joy, or triumph: »Loud paeans chanted through the valley announced the approach of the victors (Herman Melville). He ended with a fervent paean to the country he had served so long (Newsweek).… … Useful english dictionary

pae|o|ny — «PEE uh nee», noun, plural nies. Especially British. peony … Useful english dictionary

pae|on — «PEE uhn», noun. (in Greek and Latin verse) a foot of four syllables, one long and three short. The long syllable may come anywhere in the foot. ╂[< Latin paeon < Greek pei , pai paean] … Useful english dictionary

pae — gym·no·pae·dia; hy·pae·thral; pae·dog·a·mous; pae·dog·a·my; pae·do·genesis; pae·do·ge·net·ic; pae·do·mor·phic; pae·do·mor·phism; pae·do·mor·pho·sis; pae·do·mor·phy; pae·do·tribe; pae·nu·la; pae·on; pae·o·nia; pae·o·ni·a·ce·ae; pae·o·ny; pae·pae;… … English syllables

PAE — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom.   Sigles d’une seule lettre   Sigles de deux lettres > Sigles de trois lettres   Sigles de quatre lettres … Wikipédia en Français

PAE — abbr. Physical Address Extension (Intel, Pentium, PAE) … United dictionary of abbreviations and acronyms

Pae что это

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

Страничная адресация: PAE

Страничная адресация: PAE — Архив WASM.RU

Аббревиатура PAE расшифровывается как Physical Address Extension (расширение физического адреса). Впервые технология была представлена в Pentium Pro. Наличие PAE определяется с помощью инструкции cpuid: с источником eax = 1, установленный в 1 бит 6 регистра edx говорит о поддержке PAE процессором. Включается же PAE установкой пятого бита регистра CR4 в единицу.

С помощью PAE 32битный указатель может адресовать физическую память, находящуюся выше адреса 0xFFFFFFFF (2^32 — 1, четыре гигабайта). А точнее, позволяет адресовать до шестидесяти четырех (2^36) гигабайт физической памяти. Казалось бы, как это возможно? Поговорим об этом чуть позже. Сначала посмотрим на этот процесс с т.з. аппаратной части. Когда процессор производит чтение/запись значения ячейки по какому-либо адресу, он выдает адрес ячейки на шину адреса и генерирует сигнал чтения/записи. (Все, конечно, намного сложнее, но не будем углубляться дальше.) Процессор, поддерживающий PAE имеет 4 дополнительных (к существовавшим ранее тридцати двум) контакта, на которые подается адрес. 2^32 * 2^4 = 2^36. Таким образом , процессор может обращаться к адресам, лежащим за пределами значения 2^32.

Как это происходит?

Самое главное — понять, что любая страница может быть отображена на физический адрес, лежащий выше четырех гигабайт. Т.е., например, линейный адрес 0х0 может быть преобразован в физический адрес 0x100000000. Чтобы познакомиться с этим процессом поближе, рассмотрим структуры, которые использует процессор для трансляции линейного адреса. С одной стороны, изменения этих структур минимальны. Все так же есть каталог таблиц (далее именуемый просто «каталог») и таблицы страниц. Однако, кое-что добавлено, кое-что изменено. Теперь адрес разбивается на 4 части, и правило «10-10-12» заменено на «2-9-9-12». На индексирование элементов таблицы страниц и каталога теперь выделено 9 бит. Помимо этого, появилась новая структура — Page Directory Pointer Table (PDPT). CR3 теперь содержит адрес таблицы каталогов, а не каталога. О ней более подробно ниже.

PAE Addressing

Рисунок 1. Интерпретация бит линейного адреса.

Для начала, разберем формат элемента таблицы страниц. Из него, как вы знаете, в конце концов берутся верхние 20 бит физического адреса страницы в обычном (10-10-12) преобразовании адреса.

PAE_PTE

Рисунок 2. Элемент таблицы страниц.

Первое, что бросается в глаза — размер элемента страницы увеличен с тридцати двух бит до шестидесяти четырех. В принципе, это является основным моментом преобразования с использованием PAE: старшие 20 бит линейного адреса заменяются на старшие 24 бита физического. При размере страниц 4 килобайта это дает 2^24 * 2^12 = 2^36 бит физического адреса. Логично предположить, что размер таблицы страниц в таком случае должен увеличиться вдвое. Однако, это не так. Теперь таблица страниц, вместо привычных тысячи двадцати четырех элементов размером 4 байта, содержит пятьсот двенадцать, размером 8 байт. А значит, что для индексации элемента таблицы страниц теперь достаточно девяти бит линейного адреса (2^9 = 512). Таким образом, элементы таблицы страниц теперь выровнены по границе 8 байт относительно базового адреса таблицы страниц. Сама же таблица страниц осталась выровненной по границе 4 килобайта. Значения флагов, находящихся в младших двенадцати битах не изменились.

Элемент каталога претерпел аналогичные изменения. Он также расширен до восьми байт, а значит, что таблицы страниц теперь могут размещаться за пределами адреса 0xFFFFFFFF. Выбор элемента каталога осуществляется аналогично выбору элемента таблицы страниц — 9 бит (биты с двадцать первого по двадцать девятый) умножаются на 8 и складываются с базовым адресом каталога. Каталог выровнен по границе 4 килобайта. Значения флагов, находящихся в младших двенадцати битах не изменились.

PAE_PDE

Рисунок 3. Элемент каталога таблиц.

Итак, подытожим то, что мы имеем: 12 младших бит линейного адреса — смещение в странице, следующие за ними 9 бит — индекс в таблице страниц, следующие 9 — индекс в каталоге таблиц. 12 + 9 + 9 = 30. Что же происходит с оставшимися двумя битами?

Page Directory Pointer Table
Вот тут в игру вступает Page Directory Pointer Table — таблица каталогов. Дело в том, что теперь каталогов может быть несколько, а именно — 4. Физические адреса каталогов хранятся в таблице каталогов — массиве из четырех 64битных элементов, каждый из которых содержит 24 старших бита физического адреса одного из каталогов таблиц. Таким образом, каждый элемент таблицы каталогов представляет собой как бы регистр CR3, но с небольшими отличиями (см. рисунок 4). Во-первых, CR3 содержал 20 старших бит физического адреса каталога таблиц, а элемент таблицы каталогов содержит 24 старших бита, что позволяет каталогам размещаться в памяти выше четырех гигабайт. Во-вторых, каждый элемент таблицы каталогов имеет бит присутствия P, позволяющий выгружать каталог таблиц из памяти. Теперь вспомним о двух, незадействованных ранее, старших битах линейного адреса. Их значение используется как индекс в таблице каталогов, что можно видеть на рисунке 1.

PAE_PDPTE

Рисунок 4. Элемент таблицы каталогов.

Но что же теперь содержит CR3?

CR3
Нетрудно догадаться, что CR3 (отныне именуемый PDPTR(Page Directory Pointer Table Register)) содержит физический адрес таблицы каталогов. Соответственно, изменен его формат. Старшие 27 бит CR3 теперь содержат физический адрес таблицы каталогов, два из младших пяти бит управляют кэшированием, три зарезервировано, а значит, адрес таблицы каталогов таблиц должен быть выровнен по границе 32 байта. Т.к. размер CR3 не изменился, то таблица каталогов должна находиться в пределах 32битного адресного пространства.

PAE_CR3

Рисунок 5. Регистр CR3.

Немного «математики»

При использовании PAE 32битное адресное пространство как бы разбивается на 4 части, каждую часть обслуживает свой каталог и таблица страниц. Это происходит за счет того, что количество элементов в каталоге и таблице уменьшено вдвое. И если раньше один каталог и 1024 таблицы страниц на каждый элемент каталога охватывали 32битное адресное пространство целиком, то теперь каждый каталог содержит 512 (2^9) указателей на таблицы страниц, таблица страниц, в свою очередь, содержит 512 (2^9) физических адресов. Значит, каталог и таблица страниц, теперь охватывают 2^9 * 2^9 * 2^12(размер страницы не изменился) = 2^30, т.е. 1 гигабайт. Таким образом, адреса 0 — 3FFF FFFF обслуживает первый элемент таблицы каталогов таблиц, 4000 0000 — 7FFF FFFF — второй, 8000 0000 — BFFF FFFF — третий и С000 0000 — FFFF FFFF — четвертый.

Каким путем адресовать данные выше четырех гигабайт?

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

Немного практики

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

PAE_ADDR_XMPL

Рисунок 6. Интерпретация бит линейного адреса. Пример.

Первым делом, процессор извлечет индекс таблицы каталогов из двух старших бит (в нашем случае это «1», т.е. второй элемент), и выделит адрес каталога из соответствующего элемента. Затем преобразование осуществляется как обычно: следующие 9 бит определяют индекс PDE в каталоге (в нашем случае «4»), полученный PDE содержит базу таблицы страниц, следующие 9 бит — индекс PTE (в нашем случае «1»). Из этого элемента PTE будет извлечен физически адрес страницы. Допустим, это будет 1 0000 0000. Теперь процессор складывает полученное значение с двенадцатью младшими битами линейного адреса. В результате мы получим физический адрес 1 0000 000C, который и будет подан на шину адреса. Чтобы сделать процесс преобразования более наглядным, приведем алгоритм преобразования линейного адреса в физический на псевдо-С:

2 мегабайта
Однако, на этом чудеса PAE не заканчиваются. PAE предлагает еще одну опцию преобразования адреса: с увеличенным размером страниц. Что будет, если избавиться от таблицы страниц, оставив только таблицу каталогов и сами каталоги, а значение физического адреса брать прямо из элемента каталога? В этом случае у нас останется «свободными» 21 нижний бит линейного адреса, что приведет к созданию страниц размером 2 мегабайта. При этом, старшие 11 бит линейного адреса в процессе преобразования будут заменены на 15 старших бит физического, взятых из соответствующего элемента каталога (рисунок 7). Младшие 21 бит линейного адреса при этом являются смещением в странице.

PAE_ADDR_2MB
Рисунок 7. Интерпретация бит линейного адреса с размером страниц 2 мегабайта.

Формат элемента каталога в этом случае будет следующим:

PAE_PDE_2MB
Рисунок 8. Элемент каталога таблиц при размере страниц 2 мегабайта.

Выбор размера страницы осуществляется флагом PS элемента каталога. Значение «0» означает, что каталог ссылается на таблицу страниц, размер страницы при этом остается 4 килобайта, «1» означает, что размер страницы, подчиненной элементу каталога, равен двум мегабайтам, и физический адрес следует брать прямо из элемента каталога. Таким образом возможно смешивать четырех -килобайтные и двух-мегабайтные страницы в одном каталоге. Размещение данных в страницах разного размера имеет два преимущества:

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

Итак, подведем итоги по PAE

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

P.s. Спасибо zloi bandit за полезные замечания! © Mika0x65

Physical Address Extension — PAE Design

PAE — Physical Address Extension — is an Intel-provided memory address extension that enables processors to expand the number of bits that can be used to address physical memory from 32 bits to 36 bits, through support in the host operating system for applications using the Address Windowing Extensions (AWE) API.

PAE support of up to 64 GB of physical memory for applications running on most 32-bit (IA-32) Intel Pentium Pro and later platforms. Support for PAE is provided under the Microsoft Windows XP, Windows 2000, and Windows Server 2003 operating systems.

Special Windows Hardware Compatibility Test requirements apply to devices supported on these systems.

PAE is supported only on 32-bit versions of the Windows family of operating systems. 64-bit versions of Windows do not support PAE. For information about designing hardware and drivers for 64-bit systems, see 64-bit System Design.

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

В вычислениях, Расширение физического адреса (PAE ), иногда называемое расширением адреса страницы, является функцией управления памятью для архитектуры x86. Впервые PAE был представлен Intel в процессоре Pentium Pro, а затем AMD в процессоре Athlon. Он определяет иерархию таблицы страниц из трех уровней (вместо двух) с записями таблицы по 64 бита каждая вместо 32, что позволяет этим процессорам напрямую обращаться к физическому адресному пространству размером больше, чем 4 гигабайт (2 байта).

Структура таблицы страниц, используемая ЦП x86-64 при работе в длинном режиме, дополнительно расширяет иерархию таблицы страниц до четырех уровней, расширяя виртуальное адресное пространство и использует дополнительные биты физического адреса на всех уровнях таблицы страниц, расширяя физическое адресное пространство. Он также использует самый верхний бит записи таблицы 64-битных страниц в качестве неисполнения или «NX» бит, указывая, что код не может быть выполнен со связанной страницы. Функция NX также доступна в защищенном режиме, когда эти ЦП работают под управлением 32-разрядной операционной системы, при условии, что операционная система включает PAE.

Содержание

  • 1 История
  • 2 Дизайн
  • 3 Структуры таблиц страниц
  • 4 Поддержка оборудования
  • 5 Поддержка операционных систем
    • 5.1 Microsoft Windows
    • 5.2 macOS
    • 5.3 Linux
    • 5.4 Другое

    История

    PAE был впервые реализован в Intel Pentium Pro в 1995 году, хотя сопутствующие наборы микросхем обычно не поддерживают требуемые дополнительные биты адреса.

    Когда AMD определила свое 64-битное расширение отраслевого стандарта x86 архитектуры, AMD64 или x86-64, они также улучшили подкачку система в «длинном режиме » на основе PAE. Он поддерживает 64-битные виртуальные адреса (по состоянию на ноябрь 2018 года реализовано 48 бит), 52-битные физические адреса и включает функцию NX bit. При инициализации процессора x86-64 необходимо включить функцию PAE до того, как процессор переключится из устаревшего режима в длительный режим.

    Дизайн

    В PAE страница запись в таблице архитектуры x86 увеличена с 32 до 64 бит. Это дает больше места для физического адреса страницы или поля «номер страницы» в записи таблицы страниц. В первоначальных реализациях PAE поле номера кадра страницы было расширено с 20 до 24 бит. Размер «байтового смещения» от транслируемого адреса по-прежнему составляет 12 бит, поэтому общий размер физического адреса увеличивается с 32 бит до 36 бит (т.е. с 20 + 12 до 24 + 12). Это увеличило физическую память, которая теоретически может быть адресована ЦП, с 4 ГБ до 64 ГБ.

    В первых процессорах, поддерживающих PAE, поддержка больших физических адресов очевидна в их распиновке корпуса, при этом обозначения контактов адресов идут до A35 вместо того, чтобы останавливаться на A31. Более поздние семейства процессоров используют межсоединения, такие как Hypertransport или QuickPath Interconnect, в которых отсутствуют сигналы выделенного адреса памяти, поэтому эта связь менее очевидна.

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

    Более поздние работы, связанные с разработкой AMD архитектуры x86-64, расширили теоретический возможный размер физических адресов до 52 бит.

    Структуры таблиц страниц

    В защищенном режиме с включенной подкачкой (установлен бит 31, PG , регистра управления CR0 ), но без PAE, процессоры x86 использовать двухуровневую схему перевода страниц. Регистр управления CR3 содержит выровненный по страницам физический адрес одного каталога страниц длиной 4 КБ. Он разделен на 1024 записи каталога страниц по четыре байта, которые, в свою очередь, если они действительны, содержат выровненные по страницам физические адреса таблиц страниц, каждая размером 4 КБ. Они также состоят из 1024 записей таблицы четырехбайтовых страниц, которые, если они действительны, содержат выровненные по страницам физические адреса страниц физической памяти (RAM) длиной 4 КБ.

    Включение PAE (путем установки бита 5, PAE системного регистра CR4 ) вызывает серьезные изменения в этой схеме. По умолчанию размер каждой страницы составляет 4 КБ. Каждая запись в таблице страниц и каталоге страниц становится длиной 64 бита (8 байтов) вместо 32 бита, чтобы учесть дополнительные биты адреса. Однако размер каждой таблицы не меняется, поэтому и таблица, и каталог теперь имеют только 512 записей. Поскольку это позволяет только половину записей исходной схемы, был добавлен дополнительный уровень иерархии, поэтому теперь CR3 физически указывает на таблицу указателей каталога страниц, короткую таблицу, содержащую четыре указателя на каталоги страниц.

    Записи в каталоге страниц имеют дополнительный флаг в бите 7 с именем PS (для размера страницы). Если система установила этот бит в 1 , запись каталога страниц указывает не на таблицу страниц, а на одну большую страницу размером 2 МБ (Расширение размера страницы ).

    Во всех форматах таблиц страниц, поддерживаемых x86 и x86-64, 12 младших битов записи таблицы страниц либо интерпретируются блоком управления памятью, либо зарезервированы для использования в операционной системе. В процессорах, которые реализуют функцию «запретить выполнение» или «отключить выполнение», самый старший бит (бит 63) — это бит NX. Следующие одиннадцать наиболее значимых битов (биты с 52 по 62) зарезервированы для использования операционной системой спецификациями архитектуры как Intel, так и AMD. Таким образом, из 64 битов в записи таблицы страниц 12 младших и 12 старших битов используются для других целей, оставляя 40 бит (биты с 12 по 51) для физического номера страницы. В сочетании с 12 битами «смещения внутри страницы» от линейного адреса для адресации физической памяти доступно 52 бита. Это позволяет максимальную конфигурацию ОЗУ 2 байта или 4 петабайта (около 4,5 × 10 байтов).

    На процессорах x86-64 в собственном длинном режиме схема трансляции адресов использует PAE, но добавляет четвертую таблицу, таблицу уровня 4 карты страниц с 512 записями., и расширяет таблицу указателей каталога страниц до 512 записей вместо исходных 4 записей, имеющихся в защищенном режиме. В настоящее время транслируется 48 битов номера виртуальной страницы, что дает виртуальное адресное пространство размером до 256 ТБ. В записях таблицы страниц в исходной спецификации реализовано 40 бит физического номера страницы.

    • Структуры таблицы страниц

    Без PAE, страницы 4 КБ

    Без PAE, страницы 4 МБ

    С PAE; 4 КБ страницы

    С PAE; Страницы 2 МБ

    Поддержка оборудования

    Программное обеспечение может определить с помощью флага CPUID PAE , поддерживает ли ЦП режим PAE или нет. Доступна бесплатная программа для Microsoft Windows, в которой перечислены многие возможности процессора, включая поддержку PAE. В Linux такие команды, как cat / proc / cpuinfo , могут отображать флаг pae , если он присутствует, а также другие инструменты, такие как SYSLINUX Инструмент обнаружения оборудования.

    Для запуска процессора в режиме PAE требуется поддержка операционной системы. Чтобы использовать PAE для доступа к более чем 4 ГБ ОЗУ, требуется дополнительная поддержка в операционной системе, в наборе микросхем и на материнской плате. Некоторые наборы микросхем не поддерживают адреса физической памяти размером более 4 ГБ (FFFFFFFF в шестнадцатеричном формате), а на некоторых материнских платах просто не хватает разъемов RAM для установки более 4 ГБ оперативной памяти. Тем не менее, даже если доступно и доступно не более 4 ГБ ОЗУ, ЦП с поддержкой PAE может работать в режиме PAE, например, чтобы разрешить использование функции No execute.

    Поддержка операционной системы

    Microsoft Windows

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

    В следующей таблице показаны ограничения памяти для 32-разрядных версий Microsoft Windows:

    Ограничение памяти в 32-разрядных выпусках Microsoft Windows,. с поддержкой PAE

    Версия Windows Ограничение памяти
    Windows 2000 Professional, Server 4 ГБ
    Windows 2000 Advanced Server 8 ГБ
    Windows 2000 Datacenter 32 ГБ
    Windows XP Starter 0,5 ГБ
    Windows XP (другие выпуски) 4 ГБ
    Windows Server 2003 Web SP2 2 ГБ
    Windows Server 2003 Standard SP2 4 ГБ
    Windows Server 2003 Enterprise / Datacenter SP2 64 ГБ
    Windows Storage Server 2003 Enterprise 8 ГБ
    Windows Storage Server 2003 (другие выпуски) 4 ГБ
    Windows Home Server 4 ГБ
    Windows Vista Starter 1 ГБ
    Windows Vis ta (Другие выпуски) 4 ГБ
    Windows Server 2008 Standard, Web 4 ГБ
    Windows Server 2008 Enterprise, Datacenter 64 ГБ
    Windows 7 Starter 2 ГБ
    Windows 7 (другие выпуски) 4 ГБ
    Windows 8 (все выпуски) 4 ГБ
    Windows 10 (все выпуски) 4 ГБ

    Исходные выпуски Windows XP и Windows XP SP1 использовали режим PAE для позволяют ОЗУ выходить за пределы адреса в 4 ГБ. Однако это привело к проблемам совместимости со сторонними драйверами, что привело к тому, что Microsoft удалила эту возможность в Windows XP с пакетом обновления 2. Windows XP SP2 и более поздние версии по умолчанию на процессорах с без выполнения (NX) или функция отключения-выполнения (XD), выполняется в режиме PAE, чтобы разрешить NX. Бит NX находится в бите 63 записи таблицы страниц, и без PAE записи таблицы страниц в 32-битных системах имеют только 32 бита; поэтому режим PAE необходим для использования функции NX. Однако «клиентские» версии 32-разрядной Windows (Windows XP SP2 и более поздние версии, Windows Vista, Windows 7) ограничивают физическое адресное пространство первыми 4 ГБ для совместимости драйверов через механизм ограничения лицензирования, даже если эти версии работают в PAE. режим, если включена поддержка NX.

    Windows 8 и более поздние версии будут работать только на процессорах, поддерживающих PAE, в дополнение к NX и SSE2.

    macOS

    Mac OS X Tiger до Mac OS X Snow Leopard поддерживает PAE и бит NX на процессорах IA-32; Snow Leopard была последней версией, поддерживающей процессоры IA-32. На процессорах x86-64 все версии macOS используют четырехуровневую подкачку (подкачка IA-32e, а не PAE) для адресации памяти размером более 4 ГБ. Системы Mac Pro и Xserve могут использовать до 64 ГБ ОЗУ.

    Linux

    Ядро Linux включает полную Поддержка режима PAE, начиная с версии 2.3.23, в 1999 году позволяла получить доступ к 64 ГБ памяти на 32-разрядных машинах. Ядро Linux с поддержкой PAE требует, чтобы ЦП также поддерживал PAE. Ядро Linux поддерживает PAE в качестве варианта сборки, а основные дистрибутивы предоставляют ядро ​​PAE либо по умолчанию, либо в качестве опции.

    Функция NX bit требует ядра, построенного с поддержкой PAE.

    В дистрибутивах Linux теперь по умолчанию обычно используется ядро ​​с поддержкой PAE, тенденция, которая началась в 2009 году. включая Ubuntu (и производные, такие как Xubuntu и Linux Mint ), Red Hat Enterprise Linux 6.0 и CentOS, перестали распространять ядра без PAE, что делает оборудование, поддерживающее PAE, обязательным. Дистрибутивы Linux, которым требуется PAE, могут отказываться загружаться на процессорах семейства Pentium M, потому что они не показывают флаг поддержки PAE в своей информации CPUID (даже если он поддерживается внутри). Однако это можно легко обойти, по крайней мере в Ubuntu, с помощью параметра forcepae .

    Дистрибутивы, которые по-прежнему предоставляют параметр без PAE, включая Debian (и производные, такие как LMDE 2 (Linux Mint Debian Edition) ), Slackware и LXLE, обычно делают это с «i386», » i486 », или« ретро ». В статье Легкий дистрибутив Linux перечислены некоторые другие, позволяющие устанавливать Linux на старые компьютеры.

    Другие

    FreeBSD и NetBSD также поддерживают PAE как вариант сборки ядра. FreeBSD поддерживает PAE в серии 4.x, начиная с 4.9, в серии 5.x, начиная с 5.1, и во всех 6.x и более поздних выпусках. Для поддержки требуется параметр конфигурации ядра PAE . Загружаемые модули ядра могут быть загружены в ядро ​​с включенным PAE, только если модули были собраны с включенным PAE; бинарные модули в дистрибутивах FreeBSD не собираются с включенным PAE и поэтому не могут быть загружены в ядра PAE. Не все драйверы поддерживают более 4 ГБ физической памяти; эти драйверы некорректно работают в системе с PAE.

    OpenBSD поддерживает PAE с 2006 года со стандартным ядром GENERIC i386. GeNUA mbH поддержал начальную реализацию. Начиная с версии 5.0 PAE претерпел ряд изменений, в частности, изменения в обработке MMU i386 для PMAP, см. Pmap (9).

    Solaris поддерживает PAE, начиная с Solaris версии 7. Однако сторонние драйверы, используемые с версия 7, которая специально не включает поддержку PAE, может работать нестабильно или полностью отказываться в системе с PAE.

    Haiku добавил начальную поддержку PAE где-то после выпуска R1 Alpha 2. С выпуском R1 Alpha 3 теперь официально поддерживается PAE.

    ArcaOS имеет ограниченную поддержку PAE с целью создания RAM-дисков выше границы 4 ГБ.

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

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