Story Transcript
Microprocesadores
´ de Memoria en 64 bits Procesador IA-32 - Gestion Alejandro Furfaro
Mayo de 2012
Temario
1
´ Segmentacion Generalidades Sub Modos IA-32e
2
´ Paginacion ´ Modos de Paginacion
Alejandro Furfaro ()
´ de Memoria en 64 bits Procesador IA-32 - Gestion
Mayo de 2012
2 / 18
´ Segmentacion
Generalidades
Descriptores de segmento en 64 bits
Alejandro Furfaro ()
´ de Memoria en 64 bits Procesador IA-32 - Gestion
Mayo de 2012
3 / 18
´ Segmentacion
Generalidades
Direcciones Seguimos conceptualmente con las mismas definiciones: ´ Logica ´ Direccion Es el mismo puntero far compuesto por el par de registros de segmento:offset, con la unica diferencia que ahora el offset es un valor ´ de 64 bits. ´ Lineal Direccion Es un numero de 64 bits, producto de sumar a la base del segmento ´ que se obtiene del descriptor, el valor del offset que en modo IA-32e esta´ en un registro de 64 bits. ´ F´ısica Direccion ´ a partir de la Es el numero traducido por la Unidad de Paginacion ´ ´ lineal de 64 bits, y que sale finalmente por los pines de direccion address del procesador. Alejandro Furfaro ()
´ de Memoria en 64 bits Procesador IA-32 - Gestion
Mayo de 2012
4 / 18
´ Segmentacion
Generalidades
´ Direccionamiento Canonico La arquitectura de 64 bits define un espacio de direcciones lineales de 64 bits. ´ Sin embargo la cantidad de bits soportados en una direccion ´ dependiente. El primer procesador con Lineal es implementacion extensiones de 64 bits soportaba direcciones lineales de 48 bits ´ se define el concepto de Direccion ´ Para manejar esta situacion ´ Canonica, como aquella que tiene los bits 63 hasta el mas significativo implementado por la arquitectura, o bien todos en ’0’ o bien todos en ’1’. ´ de la direccion ´ lineal, esta no Si como resultado de la generacion ´ ´ #GP en resulta en un formato canonico, se genera una excepcion el caso de estar involucrados los registros CS, ES, o DS, o bien ´ #SS en el caso de estar involucrado el registro SS. una excepcion
Alejandro Furfaro ()
´ de Memoria en 64 bits Procesador IA-32 - Gestion
Mayo de 2012
5 / 18
´ Segmentacion
Generalidades
Espacio F´ısico en 64 bits ´ dependiente Es implementacion ´ CPUID, funcion ´ Para averiguarlo se debe emplear la instruccion ´ se pasa como valor en el registro 0x80000008.En general la funcion ´ eax, y los resultados retornan en los registros de proposito general.
Alejandro Furfaro ()
´ de Memoria en 64 bits Procesador IA-32 - Gestion
Mayo de 2012
6 / 18
´ Segmentacion
Generalidades
Tipos de Descriptores de Sistema en 64 bits
Alejandro Furfaro ()
´ de Memoria en 64 bits Procesador IA-32 - Gestion
Mayo de 2012
7 / 18
´ Segmentacion
Sub Modos IA-32e
¿Como se selecciona un sub-modo u otro? El procesador no dispone de un mecanismo para seleccionar los sub-modos ´ Si se ejecuta codigo en un segmento cuyo atributo L lo marca como de 64 bits y se esta´ en el modo IA-32e, el procesador trabaja en el modo 64 bits. Si el procesador esta´ en modo IA-32e, pero se esta´ ejecutando ´ codigo en un segmento de 32 o 16 bits de acuerdo con sus atributos en el descriptor correspondiente, el procesador se encuentra trabajando en el modo Compatibilidad. Ambos modos pueden coexistir. Un proceso puede trabajar en modo 64 bits, y otro en modo compatibilidad. ´ son las En el modo compatibilidad las reglas de segmentacion mismas que en el Modo Protegido de 32 bits. En el modo 64 bits las reglas de modo protegido cambian Alejandro Furfaro ()
´ de Memoria en 64 bits Procesador IA-32 - Gestion
Mayo de 2012
8 / 18
´ Segmentacion
Sub Modos IA-32e
´ en 64 bits Reglas de segmentacion
´ esta´ casi diluida. En el modo 64 bits la segmentacion Los segmentos asociados a los registros CS, DS, ES, y SS, ´ Base 0, a partir de la cual se despliega un tienen direccion ´ espacio Lineal de direcciones que coincide con la direccion efectiva, es decir con el valor de offset contenido en el registro de desplazamiento. ´ base de modo Los registros FS y GS pueden tener otra direccion de dejar alguna herramienta de direccionamiento mas amplia al menos al nivel del Sistema Operativo. En el modo 64 bits no se chequea el l´ımite de segmento contra el valor del registro de desplazamiento.
Alejandro Furfaro ()
´ de Memoria en 64 bits Procesador IA-32 - Gestion
Mayo de 2012
9 / 18
´ Paginacion
´ Modos de Paginacion
´ posibles Hay tres modos de Paginacion
Los tres modos dependen del estado de tres bits: CR0.PG, CR4.PAE, y IA32 EFER.LME ´ de 32 bits.Para ingresar a este modo se deben Paginacion establecer los siguientes valores: CR0.PG = 1, CR4.PAE = 0, y IA32 EFER.LME = 0. ´ PAE.Para ingresar a este modo se deben establecer Paginacion los siguientes valores: CR0.PG = 1, CR4.PAE = 1, y IA32 EFER.LME = 0. ´ de 64 bits.Para ingresar a este modo se deben Paginacion establecer los siguientes valores: CR0.PG = 1, CR4.PAE = 1, y IA32 EFER.LME = 1.
Alejandro Furfaro ()
´ de Memoria en 64 bits Procesador IA-32 - Gestion
Mayo de 2012
10 / 18
´ Paginacion
´ Modos de Paginacion
Caracter´ısticas de cada Modo
Alejandro Furfaro ()
´ de Memoria en 64 bits Procesador IA-32 - Gestion
Mayo de 2012
11 / 18
´ Paginacion
´ Modos de Paginacion
´ Estructura General de Paginacion
Alejandro Furfaro ()
´ de Memoria en 64 bits Procesador IA-32 - Gestion
Mayo de 2012
12 / 18
´ Paginacion
´ Modos de Paginacion
´ de 32 bits Paginacion ´ Para trabajar con paginas de 4 Kbytes se tiene la siguiente estructura ´ jerarquica.
Alejandro Furfaro ()
´ de Memoria en 64 bits Procesador IA-32 - Gestion
Mayo de 2012
13 / 18
´ Paginacion
´ Modos de Paginacion
´ de 32 bits Paginacion ´ Para trabajar con paginas de 4 Mbytes se tiene la siguiente estructura ´ jerarquica.
Alejandro Furfaro ()
´ de Memoria en 64 bits Procesador IA-32 - Gestion
Mayo de 2012
14 / 18
´ Paginacion
´ Modos de Paginacion
´ de 64 bits Paginacion ´ ˜ en modo 64 bits se Para trabajar con paginas de 4Kbytes de tamano ´ tiene la siguiente estructura jerarquica.
Alejandro Furfaro ()
´ de Memoria en 64 bits Procesador IA-32 - Gestion
Mayo de 2012
15 / 18
´ Paginacion
´ Modos de Paginacion
´ de 64 bits Paginacion ´ ˜ en modo 64 bits se Para trabajar con paginas de 2Mbytes de tamano ´ tiene la siguiente estructura jerarquica.
Alejandro Furfaro ()
´ de Memoria en 64 bits Procesador IA-32 - Gestion
Mayo de 2012
16 / 18
´ Paginacion
´ Modos de Paginacion
´ de 64 bits Paginacion ´ ˜ (ouch!!) en modo 64 Para trabajar con paginas de 1 Gbyte de tamano ´ bits se tiene la siguiente estructura jerarquica.
Alejandro Furfaro ()
´ de Memoria en 64 bits Procesador IA-32 - Gestion
Mayo de 2012
17 / 18
´ Paginacion
´ Modos de Paginacion
´ de 64 bits Paginacion ´ ˜ ???? Paginas de 1 Gbyte de tamano ´ 0x80000001, devuelva el bit Sip.... siempre que CPUID, funcion 26 de EDX seteado....
Alejandro Furfaro ()
´ de Memoria en 64 bits Procesador IA-32 - Gestion
Mayo de 2012
18 / 18