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 amplía las capacidades de direccionamiento de la 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 que direccionar más de 4 GB de memoria. Utiliza el modo Extensión de tamaño de página (PSE) y una tabla de directorio de página 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 la marca de 4 GB. [3]
PSE-36 se introdujo en la arquitectura x86 con el Pentium II Xeon e inicialmente se anunció como parte de la "Arquitectura de memoria de servidor extendida de Intel" [2] [4] (a veces abreviado ESMA [5] ), una marca que también incluía la PAE un poco más antiguo (y, por lo tanto, el Pentium Pro , que solo admitía PAE, se anunció que solo tenía "soporte de subconjunto" para ESMA). [1]
El apogeo del PSE-36 fue relativamente breve. La principal ventaja de PSE-36 era que, a diferencia de PAE, requería poca reelaboración de los componentes internos del sistema operativo y, por lo tanto, PSE-36 demostró ser una medida provisional adecuada [6] en el marco de tiempo de Windows NT 4.0 Enterprise Edition. Los sistemas operativos de Microsoft más nuevos, 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 compatibilidad con PSE de hasta 40 bits en sus procesadores de 64 bits, cuando se operan 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 del soporte PSE simple, que se indica con el bit 3 en el mismo registro). [9] [10]
Activación y uso
En cuanto a la activación de PSE-36, sin embargo, no hay un bit separado del que activa PSE. [10] Siempre que el procesador (como lo indica cpuid) y el chipset sean compatibles con PSE-36, habilitar PSE solo (al establecer 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 capacidad de PSE-36 más nueva está disponible en la CPU , como se verificó usando la instrucción CPUID , entonces se usan 4 bits más, además de los 10 bits usados en PSE, dentro de una entrada de directorio de página 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 de 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 una página de 4 MB. Las estructuras PDE en modo normal, modo PSE y modo PSE-36 son las siguientes:
31-22 | 21-17 | 16-13 | 12 | 11–9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
no PSE | dirección base de la tabla de páginas | aprovechar | 0 | PS = 0 | ign | A | PCD | PWT | U | W | PAG | |||||||||||||||||||||
PSE | bit 31..22 de la dirección del marco de página | reservado (debe ser cero) | PAT [a] | aprovechar | 0 | PS = 1 | D [b] | A | PCD | PWT | U | W | PAG | |||||||||||||||||||
PSE-36 | bit 31..22 de la dirección del marco de página | reservado (debe ser cero) | bit 35..32 de la dirección del marco de página | PALMADITA | aprovechar | 0 | PS = 1 | D | A | PCD | PWT | U | W | PAG |
- Tabla de atributos de página ; desde Pentium III , debe ser cero para CPU más antiguas.
- Bit "sucio": puesto a 1 por la CPU si había un acceso de escritura a esa página. Para las páginas de 4 KiB, esta bandera existe en la entrada de la tabla de páginas correspondiente (PTE).
Extensión hasta 40 bits
AMD extiende este esquema a 40 bits de dirección al interpretar los bits 20..13 de un PDE como el bit 39..32 de la dirección base de la 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 el modo largo y que 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, de 1024 GB. [6] Tom Shanley ha llamado a esta extensión PSE-40, [6] aunque tal designación no aparece en la documentación oficial de AMD. [11]
Los últimos manuales 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 Intel puede ser menor y debe determinarse mediante el uso de CPUID para consultar el ancho máximo de dirección física admitido por el procesador invocando CPUID con la función 80000008H y verificando el resultado en EAX [7: 0 ]. [12]
Uso
La utilidad práctica de la función PSE-36 depende de la compatibilidad del chipset con más de 4 GB de RAM. La mayoría de los conjuntos de chips del período de tiempo Pentium II no admitían esta cantidad de memoria, siendo 1 GB el máximo para el conjunto de chips de escritorio típico de Intel 440BX y 2 GB para el conjunto de chips de estación de trabajo 440GX. Solo el chipset Intel 450NX de servidor de gama alta admitía 8 GB. [2] [13] Por lo tanto, el soporte para PSE-36 (ESMA) se publicitó generalmente para servidores. [4]
Como sistema operativo adecuado compatible con PSE-36, en 1998 Intel anunció Microsoft Windows NT Server, Enterprise Edition 4.0 y supuestamente el próximo NT 5.0, ambos habilitando el uso a través de un controlador de dispositivo PSE36 , [1] que mantuvo a la mayor parte del sistema operativo inconsciente de PSE. -36 (solo el controlador PSE36 lo habilitó 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ó la función 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] Sin embargo, la documentación de ajuste para este último señaló que "Desafortunadamente, en la mayoría de los casos, las ganancias 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 de lo que se ejecuta. con 4 GB sin el controlador. [...] Después de más de un año de experimentación y ajustes, Microsoft e IBM abandonaron el soporte para PSE-36 debido a ganancias de rendimiento insuficientes. El controlador todavía está disponible para los proveedores de Intel, pero es no es útil para el uso del cliente final ". [dieciséis]
Windows 2000 (NT 5.0) terminó sin ser compatible con PSE-36, [7] debido al bajo rendimiento en comparación con el PAE alternativo. [3] Windows 2000 también reemplazó la API del controlador PSE36 con una nueva API llamada Address Windowing Extensions (AWE), que usaba PAE debajo. [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, comenzando con Oracle 8.1.6 [15] o MS SQL Server 2000. [7 ]
PSE-36 nunca fue utilizado por Linux . [8]
Comparado 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 las ventajas de que la jerarquía de las tablas de páginas no cambia y que las entradas de las páginas mantienen 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 aún pueden ubicarse solo en los primeros 4 GB de memoria física. [3]
Arquitectura de memoria de servidor extendida Intel
La arquitectura de memoria extendida de servidor Intel se define para incluir dos modos de direccionamiento de 36 bits en el procesador central: PAE-36 y PSE-36. [1]
Ver también
- Límite de RAM
- Barrera de 3 GB
- Agujero PCI
Referencias
- ^ a b c d "La arquitectura de memoria de servidor extendido Intel" (PDF) . Número de pedido de Intel: 243846-001. 1998 . Consultado el 1 de marzo de 2014 .
- ^ a b c "Ajuste del rendimiento de Netinfinity con Windows NT 4.0" (PDF) . Redbooks.ibm.com. págs. 51–52 . Consultado el 1 de marzo de 2014 .
- ^ a b c d "Sistemas operativos y soporte PAE" . Msdn.microsoft.com. 2006-07-14 . Consultado el 1 de marzo de 2014 .
- ^ a b 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 . Mundo de la red: 19. ISSN 0887-7661 .
- ^ Michael Missbach; Uwe M. Hoffmann (2000). Soluciones de hardware de SAP . Prentice Hall Professional. pag. 62. ISBN 978-0-13-028084-8.
- ^ a b c d Tom Shanley (2009). Arquitectura del conjunto de instrucciones x86 . Prensa de MindShare. págs. 578–579. ISBN 9780977087853.
- ^ a b c d e Presa Sajal (2004). Optimización del rendimiento de consultas de SQL Server destilado . Presione. pag. 28. ISBN 978-1-4302-0407-7.
- ^ a b Daniel P. Bovet; Marco Cesati (17 de noviembre de 2005). Comprensión del kernel de Linux . "O'Reilly Media, Inc.". pag. 52. ISBN 978-0-596-55491-0.
- ^ Identificación del procesador Intel y la instrucción CPUID archivada el 24 de julio de 2013 en Wikiwix, nota de aplicación Intel AP-485
- ^ a b c d Tom Shanley (2005). La genealogía integral del procesador Pentium 4: IA32 . Addison Wesley Professional. págs. 732–736. ISBN 978-0-321-24656-1.
- ^ a b AMD Corporation (septiembre de 2012). "Volumen 2: Programación del sistema" (PDF) . Manual del programador de arquitectura AMD64 (3.22 ed.). AMD Corporation. págs. 25-26 y 125-126 . Consultado el 17 de febrero de 2014 .
- ^ "Manual del desarrollador de software de arquitecturas Intel 64 e IA-32, volumen 3A: Guía de programación del sistema, parte 1" (PDF) . Intel . pag. "4-5" y "4-11".
Si el mecanismo PSE-36 no es compatible, M es 32 y esta fila no se aplica. Si se admite el mecanismo PSE-36, 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 admitido por el procesador. (Para los 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.
- ^ Procesador Intel Pentium II Xeon. Los nuevos conjuntos de chips para el Pentium II Xeon
- ^ "¿Cómo liveCache <7.4 usa PSE36 / AWE" . Stechno.net. 2003-04-04 . Consultado el 1 de marzo de 2014 .
- ^ a b c Michael R. Ault (17 de febrero de 2003). "Aumento de la memoria disponible en Linux y Windows" (PDF) . Libro blanco de ROBO Books. págs. 10-12 . Consultado el 1 de marzo de 2014 .
- ^ a b Ajuste de servidores IBM xSeries para rendimiento (PDF) (3ª ed.). IBM SG24-5287-02. Junio de 2002. p. 97. Archivado desde el original (PDF) el 3 de marzo de 2014.