In computing, PSE-36 (36-bit Page Size Extension) refers to a feature of x86 processors that extends the physical memory addressing capabilities from 32 bits to 36 bits, allowing addressing to up to 64 GB of memory. This mechanism is a simpler alternative to the Physical Address Extension (PAE) method. It uses the Page Size Extension (PSE) mode and a modified page directory table to map 4 MB pages into a 64 GB physical address space. PSE-36 was introduced into the x86 in the Pentium II architecture with the Pentium II Xeon processor (sometimes the Pentium III is stated as the introduction).
Enabling PSE alone (by setting bit 4, PSE, of the system register
CR4) allows to use large 4 MB pages along with normal 4 KB pages.
If newer PSE-36 capability is available on the CPU, as checked using the CPUID instruction, then 4 more bits, in addition to the 10 bits used in PSE, are used inside a page directory entry pointing to a large page. This allows a large page to be located in 36 bit address space.
The PS bit (bit 7) in the Page Directory Entry (PDE) denotes whether this entry refers to a page table (that describes 1024 4-KiB pages) or one 4 MB page. PDE structures in normal mode, PSE mode, and PSE-36 mode are as follows:
|non-PSE||base address of page table||avail||0||PS=0||ign||A||PCD||PWT||U||W||P|
|PSE||bit 31..22 of page frame address||reserved (must be zero)||PAT[a]||avail||0||PS=1||D[b]||A||PCD||PWT||U||W||P|
|PSE-36||bit 31..22 of page frame address||reserved (must be zero)||bit 35..32 of page frame address||PAT||avail||0||PS=1||D||A||PCD||PWT||U||W||P|
- a) PAT: Page attribute table (since Pentium III, must be zero for older CPUs)
- b) D: "dirty" bit: set to 1 by CPU if there was a write access to that page. For 4 KiB pages this flag exists in the according page table entry (PTE).
- Hardware: Chipsets such as the Intel 450NX can address more than 4 GB memory, supporting the use of PSE-36 (or PAE, or both) to address up to 64 GB of memory
- Operating system: On servers Microsoft Windows NT Server, Enterprise Edition 4.0 and 5.0 (via PSE-36), Solaris (PAE-36), UnixWare (PAE-36) and the OEM-versions of Unix such as the Virtually Windowed Shared Memory feature of Sequent Dynix/ptx (PAE-36). PSE-36 is not used by Linux, Microsoft Windows or OS X generally for memory management due to performance reasons compared with the alternative PAE.
- Driver: Windows uses PSE-36 at the driver level for PSE36 RAM disks
- Application: It was used up to the application level on Windows NT and Windows 2000 servers, for example SAP, and Oracle with the Intel Extended Server Memory Architecture (ESMA) PSE36 driver
Physical Address Extension (PAE) is an alternative to PSE-36 which also allows 36-bit addressing. PSE-36 has the advantages that the hierarchy of page tables is not changed, and that page entries keep their old 32-bit format and are not extended to 64 bits. The obvious disadvantage of PSE-36 is that only large pages can be located in 64 GB of physical memory, and small pages can still be located only in the first 4 GB of physical memory.
Intel Extended Server Memory Architecture
The Intel Extended Server Memory Architecture is defined to include two 36-bit addressing modes in the core processor: PAE-36 and PSE-36.
- http://www.orpheuscomputing.com/downloads2/ext-mem-archtr.pdf The Intel Extended Server Memory Architecture Intel Corporation (1998)
- Intel64 and IA-32 Architectures Software Developer's Manuals Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 3A. Intel Corporation. January, 2013. pp. 3–6. "Using the 36-bit page size extension (PSE-36) feature (introduced in the Pentium III processors)."