Кіріспе
Жад басқару мүмкіндігі
Есептеу техникасында физикалық мекенжай кеңейтімі (PAE), кейде бет мекенжайы кеңейтімі деп те аталады, x86 архитектурасы үшін жад басқару мүмкіндігі болып табылады. PAE алғаш рет Intel Pentium Pro процессорларында, кейін AMD Athlon процессорларында енгізілді. Ол екі деңгейдің орнына үш деңгейлі беттік кесте иерархиясын анықтайды, кесте жазбалары 32 битке орнына 64 биттен тұрады, бұл процессорларға 4 гигабайттан (232 байттан) асатын физикалық мекенжай кеңістігіне тікелей қол жеткізуге мүмкіндік береді. x86 64 процессорлары ұзын режимде жұмыс істегенде қолданатын беттік кесте құрылымы беттік кесте иерархиясын төрт немесе одан да көп деңгейге дейін кеңейтеді, виртуалды мекенжай кеңістігін кеңейтеді және беттік кестедегі барлық деңгейлерде қосымша физикалық мекенжай биттерін пайдаланады, физикалық мекенжай кеңістігін кеңейтеді. Сондай-ақ, ол 64 биттік беттік кесте жазбасының ең жоғарғы битін орындауға болмайтын немесе "NX" биті ретінде пайдаланады, бұл кодты тиісті беттен орындауға болмайтынын көрсетеді. NX мүмкіндігі сондай-ақ, егер бұл процессорлар 32 биттік операциялық жүйемен жұмыс істесе және операциялық жүйе PAE-ні қосатын болса, қорғалған режимде де қол жетімді.
is a memory management feature for the x86 architecture. PAE was first introduced by Intel in the Pentium Pro, and later by AMD in the Athlon processor. It defines a page table hierarchy of three levels (instead of two), with table entries of 64 bits each instead of 32, allowing these CPUs to directly access a physical address space larger than 4 gigabytes (232 bytes). The page table structure used by x86 64 CPUs when operating in long mode further extends the page table hierarchy to four or more levels, extending the virtual address space, and uses additional physical address bits at all levels of the page table, extending the physical address space. It also uses the topmost bit of the 64 bit page table entry as a no execute or "NX" bit, indicating that code cannot be executed from the associated page. The NX feature is also available in protected mode when these CPUs are running a 32 bit operating system, provided that the operating system enables PAE.
Тарих
PAE алғаш рет 1995 жылы Intel Pentium Pro процессорларында іске асырылды, бірақ олармен бірге келген чипсеттерде көбінесе қажетті қосымша адрес биттеріне қолдау болмады. PAE Pentium Pro, Pentium II, Pentium III және Pentium 4 процессорларында қолдау көрсетіледі. 2003 жылы ұсынылған алғашқы Pentium M отбасы процессорлары ("Banias") да PAE-ді қолдайды; алайда, олар CPUID ақпаратында PAE қолдауын көрсететін белгіні көрсетпейді. Бұл мәселе "Dothan" ядросының 2005 жылғы жаңартылған нұсқасында түзетілді. PAE сондай-ақ AMD процессорларында, оның ішінде AMD Athlon (бірақ чипсеттер 32 биттік адрестеумен шектелген) және AMD процессорларының кейінгі модельдерінде де қол жетімді болды. AMD индустриялық стандартты x86 архитектурасының 64 биттік кеңейтімін, AMD64 немесе x86 64 деп атағанда, PAE негізінде "ұзақ режимде" жұмыс істейтін беттеу жүйесін де жақсартты. Ол 64 биттік виртуалды мекенжайларды, 52 биттік физикалық мекенжайларды қолдайды. Кейінгі процессор отбасылары арнайы жад адресі сигналдары жоқ Hypertransport немесе QuickPath Interconnect сияқты байланыс жүйелерін пайдаланады, сондықтан бұл байланыс азайған сияқты көрінеді. Виртуалды мекенжайдың 32 биттік көлемі өзгертілмейді, сондықтан әдеттегі қолданба бағдарламалары 32 биттік мекенжайлармен командаларды орындауды жалғастырады және (жазық жад моделінде) 4 гигабайтқа дейін виртуалды мекенжай кеңістігімен шектеледі. Бұл режимді қолдайтын операциялық жүйелер 4 ГБ виртуалды мекенжай кеңістігін физикалық жадқа бейнелеу үшін беттік кестелерді пайдаланады, ол операциялық жүйеге және қалған аппараттық платформаға байланысты 64 ГБ-қа дейін болуы мүмкін. Бейнелеу әдетте әрбір процесс үшін жеке қолданылады, сондықтан қосымша RAM пайдалы болады, тіпті егер бір процесс бір уақытта оған толығымен қол жеткізе алмаса да. Кейінірек AMD-нің x86 64 архитектурасын әзірлеумен байланысты жұмыстар физикалық мекенжайлардың теориялық мүмкін көлемін 52 битке дейін кеңейтті.
32 биттік бетбұрыс, 2 МБ беттер, PAE
Беттер каталогындағы жазбалар 7-шы битте қосымша PS (бет өлшемі) деген флагқа ие. Егер жүйе осы битті 1-ге орнатса, беттер каталогының жазбасы беттер кестесіне емес, 2 МБ көлемді бір үлкен бетке (Бет өлшемі кеңейтілгендігі) сілтеме жасайды.
32-биттік бетбелгілеудің қысқаша сипаттамасы
IA 32 және x86 64 қолдайтын барлық беттер кестесі форматтарында, беттер кестесі жазуының ең кіші 12 биті жадты басқару бірлігімен интерпретацияланады немесе операциялық жүйе пайдалануы үшін резервтелінеді. "Орындамау" немесе "орындауды өшіру" мүмкіндігін іске асыратын процессорларда, ең жоғары бит (63-ші бит) NX биті болып табылады. Келесі он бір ең жоғары бит (52-ден 62-ге дейінгі биттер) Intel және AMD архитектуралық сипаттамалары бойынша операциялық жүйе пайдалануы үшін резервтелінеді. Осылайша, беттер кестесі жазуының 64 битінен 12 кіші және 12 жоғары биттер басқа мақсаттар үшін қолданылады, ал физикалық бет нөмірі үшін 40 бит (12-ден 51-ге дейінгі биттер) қалады. Сызықтық адрестен "бет ішіндегі смещение" 12 битімен біріктірілгенде, физикалық жадты адрестеу үшін ең көп дегенде 52 бит қол жетімді. Бұл 252 байт немесе 4 петабайт (шамамен 4,5 × 1015 байт) көлемінде RAM конфигурациясына мүмкіндік береді.
x86-64 шақыру
x86 64 процессорларында түпкілікті ұзақ режимде мекенжай аударма схемасы PAE қолданады, бірақ төртінші кесте, 512 жазбалы беттік картаның 4-деңгейлі кестесін қосады және беттік каталогтың көрсеткіш кестесін қорғалған режимдегі бастапқы 4 жазбаның орнына 512 жазбаға дейін кеңейтеді. Бұл виртуалды беттік нөмірдің 48 биті аударылады дегенді білдіреді, бұл 256 ТБ-ға дейінгі виртуалды адрес кеңістігін қамтамасыз етеді. Кейбір процессорларда бесінші кестемен, 512 жазбалы беттік картаның 5-деңгейлі кестесімен қосымша режимді қосуға болады; бұл виртуалды беттік нөмірдің 57 биті аударылады дегенді білдіреді, бұл 128 ПБ-ға дейінгі виртуалды адрес кеңістігін қамтамасыз етеді. Linux жүйесінде cat /proc/cpuinfo сияқты командалар pae белгісін, сондай-ақ SYSLINUX аппараттық анықтау құралы сияқты басқа құралдарды тізімдей алады. Процессорды PAE режимінде іске қосу үшін операциялық жүйенің қолдауы қажет. 4 ГБ-тан астам жедел жадқа қол жеткізу үшін PAE пайдалану үшін операциялық жүйеде, чипсетте және аналық платада қосымша қолдау қажет. Кейбір чипсеттер 4 ГБ-тан жоғары физикалық жад адрестерін қолдамайды (FFFFFFFF он алтылық санауда), ал кейбір аналық платаларда 4 ГБ-тан астам жадты орнатуға мүмкіндік беретін жеткілікті RAM ұялары жоқ. Дегенмен, егер 4 ГБ-тан артық жедел жад болмаса және қолжетімді болмаса да, PAE мүмкіндігі бар процессорды PAE режимінде іске асыруға болады, мысалы, "Орындамау" мүмкіндігін пайдалануға рұқсат беру үшін.
macOS
Mac OS X Tiger арқылы Mac OS X Snow Leopard IA 32 процессорларында PAE және NX битін қолдайды; Snow Leopard IA 32 процессорларын қолдайтын соңғы нұсқа болды. x86-64 процессорларында macOS-тың барлық нұсқалары 4 ГБ-тан астам жадты мекендеу үшін 4 деңгейлі беттеуді (PAE емес, IA 32e беттеуін) пайдаланады. Mac Pro және Xserve жүйелері 64 ГБ дейін оперативті жадты қолдана алады.
Linux жүйесі
Linux ядросы 1999 жылғы 2.3.23 нұсқасынан бастап 32 биттік жүйелерде 64 ГБ-қа дейінгі жадты қолдануға мүмкіндік беретін толық PAE режимін қолдайды. PAE қолдауы бар Linux ядросы процессордың да PAE-ді қолдауын қажет етеді. Linux ядросы PAE-ді құрастыру опциясы ретінде қолдайды, ал көптеген дистрибутивтер PAE ядросын әдепкі немесе опция ретінде ұсынады. NX битінің мүмкіндігі PAE қолдауымен құрастырылған ядроны талап етеді. Linux дистрибутивтері қазіргі кезде әдетте PAE қолдауы қосылған ядроны әдепкі ретінде пайдаланады, бұл үрдіс 2009 жылы басталды. 2012 жылдан бері Ubuntu (және Xubuntu, Linux Mint сияқты туындылары), Red Hat Enterprise Linux 6.0 және CentOS сияқты көптеген дистрибутивтер PAE қолдамайтын ядроларды таратуды тоқтатты, осылайша PAE қолдауын міндетті етті. PAE талап ететін Linux дистрибутивтері Pentium M отбасы процессорларында жүктелуден бас тартуы мүмкін, себебі олар CPUID ақпаратында PAE қолдау белгісін көрсетпейді (ішкі қолдауы болса да). Debian (LMDE 2 (Linux Mint Debian Edition) сияқты туындылары), Slackware және LXLE сияқты PAE емес опцияны ұсынатын дистрибутивтер әдетте "i386", "i486" немесе "ретро" атауларымен белгіленеді. "Жеңіл Linux дистрибутивтері" мақаласында ескі компьютерлерге Linux орнатуға мүмкіндік беретін тағы да басқа дистрибутивтер тізімделген.
Басқалар
FreeBSD және NetBSD сонымен қатар PAE-ді ядроны құрастыру опциясы ретінде қолдайды. FreeBSD 4.x сериясында 4.9 нұсқасынан бастап, 5.x сериясында 5.1 нұсқасынан бастап, ал 6.x және одан кейінгі барлық нұсқаларында PAE қолдау көрсетіледі. Қолдау үшін ядроның PAE конфигурациясы опциясы қажет. Жүктелмелі ядро модульдері тек PAE қосылған ядроға жүктелуі мүмкін, егер модульдер PAE қосылған күйінде құрастырылған болса; FreeBSD дистрибутивтеріндегі екілік модульдер PAE қосылған күйінде құрастырылмаған, сондықтан оларды PAE қолдауы бар ядроларға жүктеу мүмкін емес. Барлық драйверлер 4 ГБ-тан артық физикалық жадты қолдамайды; мұндай драйверлер PAE қолдауы бар жүйеде дұрыс жұмыс істемейді. OpenBSD 2006 жылдан бері стандартты GENERIC i386 ядросымен PAE-ні қолдайды. GeNUA mbH бастапқы іске асыруды жүзеге асырды. 5.0 нұсқасынан бастап PAE бірнеше өзгерістерге ұшырады, әсіресе PMAP үшін i386 MMU өңдеуіне өзгерістер енгізілді, толық мәліметтерді pmap(9) бетінен қараңыз. Solaris 7 нұсқасынан бастап PAE-ні қолдайды. Дегенмен, 7 нұсқасымен қолданылатын және PAE қолдауын нақты түрде қамтымайтын үшінші тарап драйверлері PAE қолдауы бар жүйеде тұрақсыз жұмыс істеуі немесе толығымен істен шығуы мүмкін. Haiku R1 Alpha 2 нұсқасынан кейін PAE-ні қолдауды бастады. R1 Alpha 3 нұсқасымен PAE енді ресми түрде қолдау табады. ArcaOS 4 ГБ-тан жоғары RAM дисктерін құру мақсатында PAE-ні шектеулі түрде қолдайды.