HOME

TheInfoList



OR:

In
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
, PSE-36 (36-bit Page Size Extension) refers to a feature of
x86 x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel, based on the 8086 microprocessor and its 8-bit-external-bus variant, the 8088. Th ...
processors that extends the
physical memory Computer data storage or digital data storage is a technology consisting of computer components and recording media that are used to retain digital data. It is a core function and fundamental component of computers. The central processin ...
addressing capabilities from 32 bits to 36 bits, allowing addressing to up to 64 GB of memory. Compared to the
Physical Address Extension In computing, Physical Address Extension (PAE), sometimes referred to as Page Address Extension, 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 process ...
(PAE) method, PSE-36 is a simpler alternative to addressing more than 4 GB of memory. It uses the
Page Size Extension In computing, Page Size Extension (PSE) refers to a feature of x86 processors that allows for pages larger than the traditional 4 KiB size. It was introduced in the original Pentium processor, but it was only publicly documented by Intel with the ...
(PSE) mode and a modified page directory table to map 4 MB pages into a 64 GB physical address space. PSE-36's downside is that, unlike PAE, it doesn't have 4-KB page granularity above the 4 GB mark. PSE-36 was introduced into the x86 architecture with the
Pentium II Xeon Xeon (; ) is a brand of x86 microprocessors designed, manufactured, and marketed by Intel, targeted at the non-consumer workstation, server, and embedded markets. It was introduced in June 1998. Xeon processors are based on the same architect ...
and was initially advertised as part of the "Intel Extended Server Memory Architecture" (sometimes abbreviated ESMA), a branding which also included the slightly older PAE (and thus the
Pentium Pro The Pentium Pro is a sixth-generation x86 microprocessor developed and manufactured by Intel and introduced on November 1, 1995. It implements the P6 (microarchitecture), P6 microarchitecture (sometimes termed i686), and was the first x86 Intel C ...
, which only supported PAE, was advertised as having only "subset support" for ESMA). The heyday of PSE-36 was relatively brief. PSE-36's main advantage was that, unlike PAE, it required little rework of the operating system's internals, and thus PSE-36 proved a suitable stopgap measure around the
Windows NT 4.0 Windows NT 4.0 is a major release of the Windows NT operating system developed by Microsoft, targeting the data server and personal workstation markets. It is the direct successor to Windows NT 3.51, and was released to manufacturing on July 3 ...
Enterprise Edition timeframe. Newer Microsoft operating systems, including
Windows 2000 Windows 2000 is a major release of the Windows NT operating system developed by Microsoft, targeting the server and business markets. It is the direct successor to Windows NT 4.0, and was Software release life cycle#Release to manufacturing (RT ...
, support only PAE. Some operating systems like
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
skipped PSE-36 entirely. Despite this, AMD and later Intel chose to provide up to 40 bits PSE support in their 64-bit processors, when operated in legacy mode.


Operation


Detection

Support for PSE-36 is indicated by EDX bit 17 (counting from 0) in the cpuid result for feature bits. (This is a different bit from plain PSE support, which is indicated by bit 3 in the same register).


Activation and use

As far as activating PSE-36, there isn't however a separate bit from the one that turns on PSE. As long the processor (as indicated by cpuid) and chipset support PSE-36, enabling PSE alone (by setting bit 4, ''PSE'', of the system register CR4) allows the use of large 4 MB pages (in the 64 GB range) along with normal 4 KB pages (which are however restricted to the 4 GB range). If newer PSE-36 capability is available on the
CPU A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary processor in a given computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, log ...
, as checked using the
CPUID In the x86 architecture, the CPUID instruction (identified by a CPUID opcode) is a processor supplementary instruction (its name derived from " CPU Identification") allowing software to discover details of the processor. It was introduced by Int ...
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:
  1. Page attribute table The page attribute table (PAT) is a processor supplementary capability extension to the page table format of certain x86 and x86-64 microprocessors. Like memory type range registers (MTRRs), they allow for fine-grained control over how areas ...
    ; since
    Pentium III The Pentium III (marketed as Intel Pentium III Processor, informally PIII or P3) brand refers to Intel's 32-bit x86 desktop and mobile CPUs based on the sixth-generation P6 (microarchitecture), P6 microarchitecture introduced on February 28, 1999 ...
    , must be zero for older CPUs.
  2. "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).


Extension up to 40 bits

AMD Advanced Micro Devices, Inc. (AMD) is an American multinational corporation and technology company headquartered in Santa Clara, California and maintains significant operations in Austin, Texas. AMD is a hardware and fabless company that de ...
extends this scheme to 40 address bits by interpreting bits 20..13 of a PDE as bit 39..32 of the page base address in their
AMD64 x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit extension of the x86 instruction set. It was announced in 1999 and first available in the AMD Opteron family in 2003. It introduces two new operating modes: 64-bit mode an ...
processors when operated in legacy mode, so only bit 21 is reserved (must be zero). Note however that CR4.PSE is ignored in
long mode In the x86-64 computer architecture, long mode is the mode where a 64-bit operating system can access 64-bit instructions and registers. 64-bit programs are run in a sub-mode called 64-bit mode, while 32-bit programs and 16-bit protected mod ...
and PSE-style 4 MB pages are not available in that mode. The total amount of physical memory addressable in AMD64 legacy mode using PSE 4-MB pages is, thus, 1024 GB. Tom Shanley has called this extension PSE-40, although such a designation does not appear in the official AMD documentation. The latest Intel manuals (February 2014) also indicate support for up to 40 bits in PSE. The exact number of PSE bits supported on Intel CPUs can be less though, and must be determined by using CPUID to query the maximum physical-address width supported by the processor by invoking CPUID with function 80000008H and checking the result in EAX :0


Usage

Practical usefulness of the PSE-36 feature depends on chipset support for more than 4 GB of RAM. Most chipsets from the Pentium II timeframe did not support this much memory, with 1 GB being the maximum for the Intel 440BX typical desktop chipset, and 2 GB for the 440GX workstation chipset. Only the high-end server
Intel 450NX Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, and incorporated in Delaware. Intel designs, manufactures, and sells computer components such as central processing u ...
chipset supported 8 GB. Support for PSE-36 (ESMA) was thus usually advertised for servers. As suitable operating system supporting PSE-36, in 1998 Intel advertised
Microsoft Windows NT Windows NT is a proprietary graphical operating system produced by Microsoft as part of its Windows product line, the first version of which, Windows NT 3.1, was released on July 27, 1993. Originally made for the workstation, office, and server ...
Server, Enterprise Edition 4.0 and supposedly the upcoming NT 5.0, both enabling use via a PSE36
device driver In the context of an operating system, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabli ...
, which kept most of the operating system unaware of PSE-36 (only the PSE36 driver enabled it temporarily), and which driver had to be called by applications that wanted to access more than 4 GB. Windows NT 4.0 Enterprise Edition thus used the PSE-36 feature essentially as a
RAM disk A RAM drive (also called a RAM disk) is a block of random-access memory ( primary storage or volatile memory) that a computer's software is treating as if the memory were a disk drive (secondary storage). RAM drives provide high-performance te ...
. The PSE36 driver was used by some applications on
Windows NT Windows NT is a Proprietary software, proprietary Graphical user interface, graphical operating system produced by Microsoft as part of its Windows product line, the first version of which, Windows NT 3.1, was released on July 27, 1993. Original ...
4.0 Enterprise Edition servers, for example
SAP Sap is a fluid transported in the xylem cells (vessel elements or tracheids) or phloem sieve tube elements of a plant. These cells transport water and nutrients throughout the plant. Sap is distinct from latex, resin, or cell sap; it is a s ...
liveCache,
Microsoft SQL Server Microsoft SQL Server is a proprietary relational database management system developed by Microsoft using Structured Query Language (SQL, often pronounced "sequel"). As a database server, it is a software product with the primary function of ...
7.0,
Oracle An oracle is a person or thing considered to provide insight, wise counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. If done through occultic means, it is a form of divination. Descript ...
8.1.5, and IBM DB2. The tuning documentation for the latter noted however that "Unfortunately in most cases performance gains obtained using the PSE-36 driver are not spectacular. In many cases the server will run slower with 8 GB using the PSE-36 driver than it runs with 4 GB without the driver. ..After more than a year of experimentation and tuning, Microsoft and IBM dropped support for PSE-36 due to insufficient performance gains. The driver is still available for vendors from Intel, but it is not useful for end customer use."
Windows 2000 Windows 2000 is a major release of the Windows NT operating system developed by Microsoft, targeting the server and business markets. It is the direct successor to Windows NT 4.0, and was Software release life cycle#Release to manufacturing (RT ...
(NT 5.0) ended up not supporting PSE-36, due to low performance when compared with the alternative PAE. Windows 2000 also replaced the API of the PSE36 driver with a new API called Address Windowing Extensions (AWE), which used PAE underneath. (AWE was only available in the Datacenter Server and Advanced Server of Windows 2000.) Windows applications consequently migrated to this new API, e.g. starting with Oracle 8.1.6 or MS SQL Server 2000. PSE-36 was never used by
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
.


Compared to PAE

Physical Address Extension In computing, Physical Address Extension (PAE), sometimes referred to as Page Address Extension, 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 process ...
(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.


See also

*
RAM limit The maximum random access memory (RAM) installed in any computer system is limited by hardware, software and economic factors. The hardware may have a limited number of address bus bits, limited by the processor package or design of the system. Som ...
* 3 GB barrier *
PCI hole The PCI hole or PCI memory hole is a limitation of 32-bit hardware and 32-bit operating systems that causes a computer to appear to have less memory available than is physically installed. This memory addressing limitation and the later workaroun ...


References

{{Reflist, 30em X86 architecture Virtual memory ru:PSE