Articulo de referencia

PSE-36

En informática , PSE-36 ( extensión de tamaño de página de 36 bits ) [ 1 ] se refiere a una característica de los procesadores x86 que extiende las capacidades de direccionamien...

En informática , PSE-36 ( extensión de tamaño de página de 36 bits ) [ 1 ] se refiere a una característica de los procesadores x86 que extiende las capacidades de direccionamiento de memoria física de 32 bits a 36 bits, lo que permite direccionar hasta 64  GB de memoria. [ 2 ] En comparación con el método de extensión de dirección física (PAE), PSE-36 es una alternativa más sencilla para direccionar más de 4  GB de memoria. Utiliza el modo de extensión de tamaño de página (PSE) y una tabla de directorio de páginas modificada para asignar  páginas de 4 MB a un  espacio de direcciones físicas de 64 GB. La desventaja de PSE-36 es que, a diferencia de PAE, no tiene una granularidad de página de 4 KB por encima de los 4  GB. [ 3 ]

PSE-36 se introdujo en la arquitectura x86 con el Pentium II Xeon y se anunció inicialmente como parte de la "Intel Extended Server Memory Architecture " [ 2 ] [ 4 ] (a veces abreviada como ESMA [ 5 ] ), una marca que también incluía la PAE ligeramente más antigua (y por lo tanto, el Pentium Pro , que solo admitía PAE, se anunciaba como con solo "compatibilidad parcial" para ESMA). [ 1 ]

El apogeo de PSE-36 fue relativamente breve. La principal ventaja de PSE-36 era que, a diferencia de PAE, requería poca modificación de los componentes internos del sistema operativo, y por lo tanto PSE-36 demostró ser una medida provisional adecuada [ 6 ] alrededor del período de Windows NT 4.0 Enterprise Edition. Los sistemas operativos más recientes de Microsoft, incluido Windows 2000 , solo admiten PAE. [ 7 ] Algunos sistemas operativos como Linux omitieron PSE-36 por completo. [ 8 ] A pesar de esto, AMD y más tarde Intel optaron por proporcionar soporte para PSE de hasta 40 bits en sus procesadores de 64 bits, cuando operaban en modo heredado .

Operación

Detección

La compatibilidad con PSE-36 se indica mediante el bit 17 de EDX (contando desde 0) en el resultado de cpuid para los bits de características . (Este es un bit diferente de la compatibilidad con PSE simple, que se indica mediante el bit 3 en el mismo registro). [ 9 ] [ 10 ]

Activación y uso

En cuanto a la activación de PSE-36, no existe un bit separado del que activa PSE. [ 10 ] Siempre que el procesador (como lo indica cpuid) y el chipset admitan PSE-36, habilitar PSE por sí solo (estableciendo el bit 4, PSE , del registro del sistema CR4) permite el uso de  páginas grandes de 4 MB (en el  rango de 64 GB) junto con  páginas normales de 4 KB (que, sin embargo, están restringidas al  rango de 4 GB). [ 10 ]

Si la CPU dispone de la capacidad PSE-36 más reciente , comprobada mediante la instrucción CPUID , se utilizan 4 bits adicionales, además de los 10 bits utilizados en PSE, dentro de una 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. [ 10 ]

El bit PS (bit 7) en la entrada del directorio de páginas (PDE) indica si esta entrada se refiere a una tabla de páginas (que describe 1024 páginas de 4 KiB) o a una  página de 4 MB. Las estructuras PDE en modo normal, modo PSE y modo PSE-36 son las siguientes:

  1. Tabla de atributos de página ; desde Pentium III , debe ser cero para CPU más antiguas.
  2. Bit "sucio": la CPU lo establece en 1 si se produjo un acceso de escritura a esa página. Para páginas de 4 KiB, este indicador existe en la entrada correspondiente de la tabla de páginas (PTE).

Extensión de hasta 40 bits

AMD extiende este esquema a 40 bits de dirección interpretando los bits 20..13 de un PDE como los bits 39..32 de la dirección base de página en sus procesadores AMD64 cuando operan en modo heredado , por lo que solo el bit 21 está reservado (debe ser cero). Sin embargo, tenga en cuenta que CR4.PSE se ignora en modo largo y las páginas de 4 MB de estilo PSE  no están disponibles en ese modo. [ 11 ] La cantidad total de memoria física direccionable en el modo heredado AMD64 usando páginas PSE de 4 MB es, por lo tanto, 1024  GB. [ 6 ] Tom Shanley ha llamado a esta extensión PSE-40, [ 6 ] aunque dicha designación no aparece en la documentación oficial de AMD. [ 11 ]

Los manuales más recientes de Intel (febrero de 2014) también indican compatibilidad con hasta 40 bits en PSE. Sin embargo, el número exacto de bits PSE admitidos en las CPU de Intel puede ser menor y debe determinarse utilizando CPUID para consultar el ancho máximo de dirección física admitido por el procesador, invocando CPUID con la función 80000008H y comprobando el resultado en EAX[7:0]. [ 12 ]

Uso

La utilidad práctica de la función PSE-36 depende de que el chipset admita más de 4  GB de RAM. La mayoría de los chipsets de la época del Pentium II no admitían tanta memoria, siendo 1  GB el máximo para el chipset típico de escritorio Intel 440BX y 2  GB para el chipset de estación de trabajo 440GX. Solo el chipset de servidor de gama alta Intel 450NX admitía 8  GB. [ 2 ] [ 13 ] Por lo tanto, la compatibilidad con PSE-36 (ESMA) generalmente se anunciaba para servidores. [ 4 ]

Como sistema operativo adecuado que soporta PSE-36, en 1998 Intel anunció Microsoft Windows NT Server, Enterprise Edition 4.0 y supuestamente el próximo NT 5.0, ambos permitiendo el uso a través de un controlador de dispositivo PSE36 , [ 1 ] que mantenía a la mayor parte del sistema operativo sin conocimiento de PSE-36 (solo el controlador PSE36 lo habilitaba temporalmente), y qué controlador debían llamar las aplicaciones que querían acceder a más de 4  GB. [ 6 ] Windows NT 4.0 Enterprise Edition usó así la característica PSE-36 esencialmente como un disco RAM . [ 3 ] El controlador PSE36 fue utilizado por algunas aplicaciones en servidores Windows NT 4.0 Enterprise Edition, por ejemplo SAP liveCache, [ 14 ] Microsoft SQL Server 7.0, [ 7 ] Oracle 8.1.5, [ 15 ] e IBM DB2 . [ 16 ] La documentación de optimización para este último señalaba, sin embargo, que «Desafortunadamente, en la mayoría de los casos, las mejoras de rendimiento obtenidas con el controlador PSE-36 no son espectaculares. En muchos casos, el servidor funcionará más lento con 8  GB usando el controlador PSE-36 que con 4  GB sin él. [...] Después de más de un año de experimentación y optimización, Microsoft e IBM dejaron de dar soporte a PSE-36 debido a las insuficientes mejoras de rendimiento. El controlador sigue estando disponible para los proveedores de Intel, pero no es útil para el uso del cliente final». [ 16 ]

Windows 2000 (NT 5.0) terminó por no ser compatible con PSE-36, [ 7 ] debido a su bajo rendimiento en comparación con la alternativa PAE. [ 3 ] Windows 2000 también reemplazó la API del controlador PSE36 con una nueva API llamada Extensiones de Ventanas de Direcciones (AWE), que utilizaba PAE internamente. [ 7 ] [ 15 ] (AWE solo estaba disponible en Datacenter Server y Advanced Server de Windows 2000). En consecuencia, las aplicaciones de Windows migraron a esta nueva API, por ejemplo, a partir de Oracle 8.1.6 [ 15 ] o MS SQL Server 2000. [ 7 ]

PSE-36 nunca fue utilizado por Linux . [ 8 ]

PSE se utilizó en algunas unidades RAM: RAMDSK64 de Rudolph Loew para DOS [ 17 ] y RAMDRV4M de SweetLow para Windows 9x . [ 18 ]

En comparación con PAE

La Extensión de Dirección Física (PAE) es una alternativa a PSE-36 que también permite el direccionamiento de 36 bits. PSE-36 tiene la ventaja de que la jerarquía de las tablas de páginas no se modifica y que las entradas de página conservan su antiguo formato de 32 bits y no se extienden a 64 bits. La desventaja obvia de PSE-36 es que solo las páginas grandes pueden ubicarse en 64  GB de memoria física, y las páginas pequeñas solo pueden ubicarse en los primeros 4  GB de memoria física. [ 3 ]

Arquitectura de memoria extendida para servidores de Intel

La arquitectura de memoria extendida para servidores de Intel se define para incluir dos modos de direccionamiento de 36 bits en el procesador central: PAE-36 y PSE-36. [ 1 ]

Véase también

Referencias

  1. 1 2 3 4 "La arquitectura de memoria extendida para servidores de Intel" (PDF) . Número de pedido de Intel: 243846-001. 1998. Recuperado el 1 de marzo de 2014 .
  2. 1 2 3 "Netinfinity Performance Tuning with Windows NT 4.0" (PDF) . Redbooks.ibm.com. págs. 51–52 . Archivado del original (PDF) el 19 de enero de 2022. Recuperado el 1 de marzo de 2014 . 
  3. 1 2 3 4 "Sistemas operativos y soporte PAE" . Msdn.microsoft.com. 14 de julio de 2006. Consultado el 1 de marzo de 2014 .
  4. 1 2 Deni Connor (7 de diciembre de 1998). "Aquí vienen los servidores Xeon de ocho vías" . Network World: El líder en conocimiento de redes . Network World: 19. ISSN 0887-7661 . 
  5. Michael Missbach; Uwe M. Hoffmann (2000). Soluciones de hardware SAP . Prentice Hall Professional. pág. 62. ISBN  978-0-13-028084-8.
  6. 1 2 3 4 Tom Shanley (2009). Arquitectura del conjunto de instrucciones x86 . MindShare Press. págs. 578–579 . ISBN  9780977087853.
  7. 1 2 3 4 5 Sajal Dam (2004). Optimización del rendimiento de consultas de SQL Server simplificada . Apress. pág. 28. ISBN  978-1-4302-0407-7.
  8. ^ Daniel P. Bovet ; Marco Cesati (17 de noviembre de 2005). Comprender el kernel de Linux . O'Reilly Media, Inc. pág. 52.ISBN  978-0-596-55491-0.
  9. Identificación del procesador Intel y la instrucción CPUID Archivado el 24/07/2013 en Wikiwix , nota de aplicación de Intel AP-485
  10. 1 2 3 4 Tom Shanley (2005). The Unabridged Pentium 4: IA32 Processor Genealogy . Addison Wesley Professional. pp. 732–736 . ISBN  978-0-321-24656-1.
  11. 1 2 AMD Corporation (septiembre de 2012). "Volumen 2: Programación del sistema" (PDF) . Manual del programador de la arquitectura AMD64 (ed. 3.22 ). AMD Corporation. págs. 25-26 y 125-126 . Recuperado el 17 de febrero de 2014 .  
  12. "Manual del desarrollador de software de las arquitecturas Intel 64 e IA-32, Volumen 3A: Guía de programación del sistema, Parte 1" (PDF) . Intel . pág. "4-5" y "4-11". Si el mecanismo PSE-36 no es compatible, M es 32 y esta fila no se aplica. Si el mecanismo PSE-36 es compatible, M es el mínimo de 40 y MAXPHYADDR (esta fila no se aplica si MAXPHYADDR = 32). Consulte la Sección 4.1.4 para saber cómo determinar MAXPHYADDR y si el mecanismo PSE-36 es compatible. [...] CPUID.80000008H:EAX[7:0] informa el ancho de dirección física compatible con el procesador. (Para procesadores que no admiten la función CPUID 80000008H, el ancho es generalmente 36 si CPUID.01H:EDX.PAE [bit 6] = 1 y 32 en caso contrario). Este ancho se denomina MAXPHYADDR. MAXPHYADDR es como máximo 52. 
  13. Procesador Pentium II Xeon de Intel. Los nuevos chipsets para el Pentium II Xeon.
  14. "¿Cómo utiliza liveCache < 7.4 PSE36/AWE?" . Stechno.net. 4 de abril de 2003. Consultado el 1 de marzo de 2014 .
  15. 1 2 3 Michael R. Ault (17 de febrero de 2003). "Aumento de la memoria disponible en Linux y Windows" (PDF) . Documento técnico de ROBO Books. págs. 10–12 . Recuperado el 1 de marzo de 2014 . 
  16. 1 2 Optimización del rendimiento de los servidores IBM xSeries (PDF) (3.ª ed.). IBM SG24-5287-02. Junio ​​de 2002. pág. 97. Archivado del original (PDF) el 3 de marzo de 2014.  
  17. "Ramdisk no XMS de RLoew y software relacionado" .
  18. "Tema de discusión del foro ru-board sobre Windows 98 SE" .