5 votos

Windows x86 memoria física es de 24 bits?

Estoy leyendo el nuevo libro, Windows Internals 5 sobre la gestión de la memoria (capítulo 9 en la Extensión de Dirección Física PAE sección). Se menciona "Un sistema de 32 bits que representa la dirección física internamente con 24 bits" en la página 770. Estoy totalmente confundido, y creo x86 memoria física debe ser abordado también por la de 32 bits, y es por eso que el sistema se denomina sistema de 32 bits.

Alguna idea de lo que está mal?

2voto

jtimberman Puntos 5637

Aquí hay más detalles acerca de lo que el arranque /PAE significa que, a partir del Capítulo 7 del libro "Dentro de Windows 2000," por David Salomón y Mark Russinovich.

Todos los de la familia de procesadores Intel x86 desde el Pentium Pro incluyen un memoria de mapeo de modo que se llama Física Address Extension (PAE). Con el adecuado chipset, el modo PAE permite el acceso a hasta 64 GB de física memoria. Cuando el x86 se ejecuta en el PAE modo, la unidad de administración de memoria (MMU) divide las direcciones virtuales en cuatro campos.

La MMU todavía implementa la página directorios y tablas de la página, pero una en el tercer nivel, el directorio de la página puntero de la tabla, existe por encima de ellos. PAE el modo puede direccionar más memoria de la traducción estándar, de modo que no se porque de la extra a nivel de la traducción, pero porque ecuaciones en derivadas parciales y Pte son de 64 bits de ancho en lugar de 32-bits. El sistema representa direcciones físicas internamente con 24 bits, lo que da 86 la capacidad de soporte de un máximo 2^(24+12) bytes, o 64 GB, de memoria

Edit: Como dice George Así que 24 bits de los números de página representa un 24+12=36 bits del byte de dirección. Esta es una extensión de dirección sobre el de 32 bits en el espacio normal.

1voto

michelemarcon Puntos 234

Estoy leyendo Extensión de Dirección Física (PAE) capítulo en Windows Internals Cuarta edición (páginas 435-437) y me parece que no puede encontrar la referencia a de 24 bits. Hay una referencia al 25 de bits que se utiliza para la base de la dirección de la página, lo que significa que el espacio direccionable se convierte en 2 ^ (12 + 25) = 128 GB. Pero vamos a volver a ella. En primer lugar vamos a ver cómo la dirección lineal se convierte en la dirección física (y esto está perfectamente descrito en el libro): la dirección lineal se presenta dividido en tres partes:

  • 12 inferior de bits de desplazamiento dentro de la página de abordar cualquier byte en la página de 4Kb;
  • el próximo 10 bits son índice del registro en la tabla de páginas (PTE), que contiene la dirección base (dirección física del primer byte) de la página;
  • el mayor de 10 bits son índice del registro en el directorio de la página de la tabla (PDE), que contiene la dirección base de la PTE.

Cada elemento del PTE y de la PDE contienen 32-bit de registro, de 20 bits que contiene la dirección física de la página o en el siguiente nivel de la tabla, respectivamente. Los otros 12 bits son indicadores que describen la página o la tabla (lectura/escritura/ejecutable y así sucesivamente). Esta es la forma en 80386, x486 y Pentium trabajado.

Ahora, Pentium Pro y los nuevos CPUs, cuando se ejecuta en el modo PAE, el uso de 64 bits de ancho de registros en la PDE y PTE tablas. En estos registros hasta 40 bits puede ser usado para codificar la base de la dirección de la página en la memoria. Esto significa que el modo PAE pueden, en teoría, de la dirección 2 ^ 40 páginas (1T páginas) de 2 ^ 12 (4 kb cada uno). Teórica Total de espacio de direcciones es 2 ^ (40 + 12) = 2 ^ 52 = 4Peta bytes. Sin embargo, los sistemas operativos no utilizar todos estos 40 bits. Por ejemplo, Windows utiliza sólo 24 de ellos, que conduce a la total direccionable en el espacio de direcciones 2 ^ (24 + 12) = 2 ^ 36 = 64G bytes.

Al parecer, diferentes versiones (sabores) de Windows uso diferente número de bits en esta tabla, que parece un poco extraño. De acuerdo a la 4ª edición del libro en cuestión, de 25 de bits utilizados en este caso, que trae el espacio direccionable 128Gb, y también es confirmado por esta página. Este es el origen de la discrepancia entre la 4ª y 5ª edición, mencionado anteriormente.

Para una explicación más detallada de cómo la traducción ocurre, echa un vistazo a la página 4-17 y 4-18 (capítulo 4.4.2) de Intel de 64 y IA32 Arquitecturas Manual para Desarrolladores de Software

Oh, sí, y el sistema se llama de 32 bits no porque las direcciones de 2^32 bytes. Es debido a que se ejecuta en el modo en el que sus registros internos son de 32 bits de ancho (que no siempre es verdad, pero es lo suficientemente cercano a la realidad). Si el espacio direccionable determina el nombre del sistema operativo, a continuación, DOS habría sido 20-bit OS, y el viejo Mac ha sido de 24-bit

0voto

Mark T Puntos 1276

Lo que esto se refiere a que es la asignación de un virtual de 32 bits de espacio de direcciones de 24 bits de espacio de direcciones físicas. En General un 20 bits virtual número de página se traduce a un 12 bits física número de página y el resto de los bits son el desplazamiento en la página

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: