Articulo de referencia

Extensión de tamaño de página

En informática , la extensión de tamaño de página ( PSE ) se refiere a una característica de los procesadores x86 que permite páginas de mayor tamaño que el tradicional de 4 KiB...

En informática , la extensión de tamaño de página ( PSE ) se refiere a una característica de los procesadores x86 que permite páginas de mayor tamaño que el tradicional de 4 KiB . Se introdujo en el procesador Pentium original, pero Intel no la documentó públicamente hasta el lanzamiento del Pentium Pro . [ 1 ] La instrucción CPUID se puede utilizar para identificar la disponibilidad de PSE en las CPU x86 . [ 2 ]

Motivación

Paginación "tradicional" de 4  KiB
Paginación de 4  MiB mediante PSE

Imaginemos el siguiente escenario: Un programa de aplicación solicita un bloque de memoria de 1 MiB . Para satisfacer esta solicitud, un sistema operativo que admita paginación y que se ejecute en procesadores x86 antiguos deberá asignar 256 páginas de 4 KiB cada una. Se requiere una sobrecarga de memoria de 1 KiB para el mantenimiento de los directorios y tablas de páginas.   

Al acceder a esta  memoria de 1 MiB, cada una de las 256 entradas de página se almacenaría en la caché del búfer de traducción de direcciones (TLB; una caché que recuerda las traducciones de direcciones virtuales a direcciones físicas para una búsqueda más rápida en solicitudes de memoria posteriores). La saturación del TLB es posiblemente una de las mayores desventajas de tener varias entradas de página para lo que podría haberse asignado en un único bloque de memoria. Si el TLB se llena, entonces habría que liberar una entrada del TLB, recorrer el directorio de páginas y las tablas de páginas en la memoria y, finalmente, acceder a la memoria y cargar la nueva entrada en el TLB. Esto supone una grave penalización en el rendimiento y fue posiblemente la principal motivación para ampliar la arquitectura x86 con tamaños de página mayores.

 El PSE permite que existan páginas de 4 MiB junto con  páginas de 4 KiB. La  solicitud de 1 MiB descrita anteriormente se podría satisfacer fácilmente con una sola  página de 4 MiB y requeriría solo una entrada en la TLB. Sin embargo, la desventaja de usar páginas de mayor tamaño es la fragmentación interna .

Operación

En el modo protegido tradicional de 32 bits , los procesadores x86 utilizan un esquema de traducción de páginas de dos niveles, donde el registro de controlCR3 apunta a un único directorio de páginas  de 4 KiB de longitud , que se divide en 1024 entradas de 4 bytes que apuntan a tablas de páginas de 4 KiB de longitud , que consisten de manera similar en 1024 entradas de 4 bytes que apuntan a páginas de 4 KiB de longitud.  

La activación de PSE (al establecer el bit 4, PSE , del registro del sistema CR4) modifica este esquema. Las entradas en el directorio de páginas tienen un indicador adicional, en el bit 7, denominado PS(para el tamaño de página ). Este indicador se ignoraba sin PSE, pero ahora, la entrada del directorio de páginas con PS establecido en 1 no apunta a una tabla de páginas, sino a una única  página grande de 4 MiB. La entrada del directorio de páginas con PS establecido en 0 se comporta como sin PSE.

Si la CPU dispone de la funcionalidad PSE-36 más reciente, comprobada mediante la instrucción CPUID , se utilizan 4 bits adicionales, además de los 10  bits habituales, en la entrada del directorio de páginas que apunta a una página grande. Esto permite ubicar una página grande en un espacio de direcciones de 36 bits.

Si se utiliza la extensión de dirección física (PAE), el tamaño de las páginas grandes se reduce de 4  MiB a 2  MiB, y PSE siempre está habilitado, independientemente del bit PSE en CR4.

Referencias

  1. T. Shanley (1998). Arquitectura del sistema Pentium Pro y Pentium II . Addison-Wesley Professional. pág . 439. ISBN  978-0-201-30973-7.
  2. Manual del desarrollador de software para las arquitecturas Intel 64 e IA-32, Volumen 3A . Intel Corporation. Agosto de 2007. págs. 3-26 a 3-28. 
  • Manuales para desarrolladores de software de las arquitecturas Intel 64 e IA-32
  • Comprensión de las extensiones de tamaño de página de 4M en el procesador Pentium (Robert R. Collins)