Page Size Extension

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 release of the Pentium Pro. The CPUID instruction can be used to identify the availability of PSE on x86 CPUs. [cite book
title = Intel 64 and IA-32 Architectures Software Developer's Manual, Volume 3A
publisher = Intel Corporation
date = August, 2007
pages = pp. 3-26 to 3-28
]

Motivation

Imagine the following scenario. An application program requests a 1 MiB memory block. In order to fulfill this request, an operating system that supports paging and that is running on older x86 CPUs will have to allocate 256 pages of 4 KiB each. An overhead of 1 KiB of memory is required for maintaining page directories and page tables.

When accessing this 1 MiB memory, each of the 256 page entries would be cached in the TLB (a cache that remembers virtual address to physical address translations for faster lookup on subsequent memory requests). Cluttering the TLB is possibly one of the largest downsides of having several page entries for what could have been allocated in one single memory block. If the TLB gets filled, then a TLB entry would have to be freed, the page directory and page tables would have to be “walked” in memory, and finally, the memory would be accessed and the new entry would be brought into the TLB. This is a severe performance penalty and it is possibly the largest motivation for augmenting the x86 architecture with larger page sizes.

The PSE allows for page sizes of 4 MiB to exist along with 4 KiB pages. The 1 MiB request described previously would easily be fulfilled with a single 4 MiB page, and it would require only one TLB entry. However, the downside of using larger page sizes is internal fragmentation.

Operation

In traditional 32-bit protected mode, x86 processors use a two-level page translation scheme, where the control register CR3 points to a single 4 KiB long "page directory", which is divided into 1024 x 4 byte entries that point to 4 KiB long page tables, similarly consisting of 1024 x 4 byte entries pointing to 4 KiB long pages.

Enabling PSE (by setting bit 4, "PSE", of the system register CR4) changes this scheme. The entries in the page directory have an additional flag, in bit 7, named PS (for "Page Size"). This flag was ignored without PSE, but now, the page directory entry with PS set to 1 does not point to a page table, but to a single large 4 MiB page. The page directory entry with PS set to 0 behaves as without PSE.

If newer PSE-36 capability is available on the CPU, as checked using the CPUID instruction, then 4 more bits, in addition to normal 10 bits, 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.

ee also

* PSE-36
* Physical Address Extension
* Fragmentation (computer)

References

External links

* [http://developer.intel.com/products/processor/manuals/index.htm Intel 64 and IA-32 Architectures Software Developer's Manuals]
* [http://www.rcollins.org/ddj/May96/ Understanding 4M Page Size Extensions on the Pentium Processor] (Robert R. Collins)


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Page (computer memory) — Page size redirects to this article. For information on paper see Paper size A page, memory page, or virtual page is a fixed length contiguous block of virtual memory that is the smallest unit of data for the following: memory allocation… …   Wikipedia

  • Extensión de dirección física — Saltar a navegación, búsqueda En informática, extensión de dirección física (en inglés, Physical Address Extension o PAE) se refiere a una característica de los procesadores x86 que permite a los sistemas de 32 bit utilizar hasta 64 gigabytes (64 …   Wikipedia Español

  • Physical Address Extension — In computing, Physical Address Extension (PAE) is a feature to allow (32 bit) x86 processors to access a physical address space (including random access memory and memory mapped devices) larger than 4 gigabytes. First implemented in the Intel… …   Wikipedia

  • Paper size — A size chart illustrating the ISO A series and a comparison with American letter and legal formats …   Wikipedia

  • Degree of a field extension — In mathematics, more specifically field theory, the degree of a field extension is a rough measure of the size of the extension. The concept plays an important role in many parts of mathematics, including algebra and number theory indeed in any… …   Wikipedia

  • Jubilee Line Extension — The Jubilee line extension is the extension of the London Underground Jubilee line from Green Park to Stratford, through south and east London. An eastward extension of the Jubilee line was first proposed in the 1970s and a modified route was… …   Wikipedia

  • Overlap extension polymerase chain reaction — This page assumes familiarity with the terms and components used in polymerase chain reaction (PCR) process. The overlap extension polymerase chain reaction (or OE PCR) is a variant of PCR. It is also referred to as Splicing by overlap extension… …   Wikipedia

  • .cs (extension de fichier) — C sharp Pour les articles homonymes, voir Sharp et .cs. C# …   Wikipédia en Français

  • PSE — Page Size Extension (PSE)  режим работы встроенного блока управления памятью x86 совместимых процессоров, в котором используются страницы размером в 4 (32 битные таблицы страниц) или 2 мегабайта (PAE/AMD64, 64 битные таблицы), в дополнение к …   Википедия

  • Control register — A control register is a processor register which changes or controls the general behavior of a CPU or other digital device. Common tasks performed by control registers include interrupt control, switching the addressing mode, paging control, and… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”