Procesador IA-32 - Clase5 - Paginacion - 2011

  • Published on
    28-Nov-2014

  • View
    95

  • Download
    1

Embed Size (px)

Transcript

MicroprocesadoresArquitectura IA-32Universidad Tecnolgica Nacional - FRH Tcnicas Digitales III

Ciclo Lectivo 2011

Autor: Mariano Mercado

1

Arquitectura IA-32

Paginacin

Autor: Mariano Mercado

2

Estructura de la MMUDireccin Lgica Direccin Lineal Direccin Fsica

SELECTOR INDEX DESPLAZAMIENTO

T RPL I

Unidad de Segmentacin

Unidad de Paginacin

Memoria Fsica

La IA 32 introduce como L IA-32 i d una de las mejoras mas importantes a nivel de la arquitectura interna de los procesadores 80386 y subsiguientes, una Unidad de Gestin de Memoria que contiene una Unidad de Paginacin a continuacin de la Unidad de SegmentacinAutor: Mariano Mercado

Unidad de Paginacin No activada Direccin Fsica= Direccin Lineal3

Tabla de Pginas de Memoria4 bytes por cada descriptor y un milln de descriptores de pgina. Se necesita una tabla de descriptores de pgina de 4 Mbytes!!!. La primer PC 386 vena con 4 Mbytes de RAM. Evidentemente se necesita otro approach. Estructura de Paginacin JerrquicaDirectorio de Tablas de Pginas con 1.000 descriptores de tablas de pgina

Una tabla de 4 Mbytes con 1.000.000 descriptores de pginas

1001 Tablas de 4 Kbytes c/u con 1.000 descriptores de pginas

Autor: Mariano Mercado

1.000 tablas con 1.000 descriptores de pgina c/u

Modos de Paginacin en IA-64Modo Protegido

Autor: Mariano Mercado

Tabla de Pginas de Memoria Modo Paginacin 32 bits (4Kb-Page)

Autor: Mariano Mercado

Tabla de Pginas de Memoria Modo Paginacin 32 bits (4 Mb-Page)

Autor: Mariano Mercado

Tabla de Pginas de Memoria Modo Paginacin PAE

PDPTE: Page Directory Pointer Table

Autor: Mariano Mercado

Tabla de Pginas de Memoria Modo Paginacin IA-32e (4Kb-Pages)PML4E: Page Map Level 4 l Entry

Autor: Mariano Mercado

Tabla de Pginas de Memoria Modo Paginacin IA-32e (2Mb-Pages)

Autor: Mariano Mercado

Tabla de Pginas de Memoria Modo Paginacin IA-32e (1Gb-Pages)

Autor: Mariano Mercado

Modo Paginacin 32 bitsPginas de 4Kb (CR4.PSE 0) (CR4.PSE=0)

Autor: Mariano Mercado

Paginacin 32-bitsSe habilita colocando un 1 en el bit PG de CR0.

Se debe colocar en CR4 el bit PSE en 0 (Bit 4). Se debe inicializar CR3 con los siguientes valores:

2

Bits 12 al 31: Base del Directorio de Tablas de Pginas (Page Directory Table). Table) Bit 4: PCD Page Cache Disable. No se guardar en la cache esta pgina, siempre se leer la misma desde memoria dinmica. Bit 3: PWT Page Write-Through. Las modificaciones del procesador en Write Through. esta pgina en la Memoria Cache, forzarn la actualizacin en la memoria dinmica.

2

2

Autor: Mariano Mercado

Paginacin 32-bits Page DirectoryA cada elemento del Directorio de Tablas de Pgina se lo denomina Entrada del Directorio de Tablas de Pgina, o en ingls, Page Directory Entry (PDE). Su formato es:31 Direccin Base de la Tabla de Pgina 12 11 10 9 Reservado S.O. 8 0 7 0 6 D 5 4 3 2 1 0

A PCD PWT U/S R/W P

A cada elemento de la Tabla de Pagina (Page Table) se lo denomina Entrada de la Tabla de Pgina, o en su ingls, Page Table Entry (PTE). t ada a ab a g a, e g s, age ab e t y( ) Su formato es:31 Direccin Base de la PginaP: PDE o PTE Presente R/W: Permisos de Lectura (R/W=0) o Lectura-Escritura (R/W=1). / ( / ) ( / ) U/S: Nivel de Privilegio. U/S=0 Modo Supervisor (No podrn acceder CPLs=3) D: Dirty. Indica que el procesador escribi en esta pgina. Autor: Mariano Mercado

12 11 10 9 Reservado S.O.

8 0

7 0

6 D

5

4

3

2

1

0

A PCD PWT U/S R/W P

Paginacin de Memoria en dos nivelesSistema de Traduccin de Pginas de dos nivelesDireccin Lineal Unidad de Segmentacin 10 31 22 21 1211 0 Memoria

Directorio

Tabla 10

Offset 12

CPUCR0 CR1 CR2 CR3 CR4 31 0 31 0

31

0

Ra Raz

Tabla de Pginas Directorio de Tablas de Pginas Page Directory Entries (PDEs)

Page Table Entries (PTEs)

Autor: Mariano Mercado

Segmentacin y Paginacin de MemoriaDireccin Lgica o puntero far Selector Desplazamiento Espacio Lineal de Direcciones (4Gbytes) Segmento Direccin Lineal 31 22 12 0 Directorio Tabla Offset Directorio de Tablas de Pginas PDE PTE Tabla d T bl de Pginas Espacio Fsico de Direcciones

Direccin Fsica

Direccin Lineal

Descriptor de Segmento

Direccin Base del Segmento Pginas Tabla de Descriptores SEGMENTACIONAutor: Mariano Mercado

Pgina g PAGINACION

Modelos de Memoria Modelo Flat Bsico CS SS DS ES FS GSTabla de Descriptores Atributos Lmite Direccin Base Atributos Lmite Direccin Base Atributos Lmite Direccin Base Atributos Lmite Direccin Base Atributos Lmite Direccin Base Atributos Lmite Direccin Base Espacio Lineal de Direcciones (o Memoria Fsica) FFFFFFFF Cdigo

No Presente

Datos y Pila

Tanto el Sistema Operativo como las aplicaciones 0 tienen acceso a un espacio de 4 Gbytes no segmentado. Se evitan las excepciones por exceso en el lmite de memoria ya que el lmite de todos los descriptores es FFFFFFFF. An si se accede a reas en las que no existe memoria fsica.Autor: Mariano Mercado

Modelos de Memoria

Modelo Flat ProtegidoCS SS DS ES FS GSTabla de Descriptores p Atributos Lmite Direccin Base Atributos Lmite Direccin Base Atributos Lmite Direccin Base Atributos Lmite Direccin Base Di i B Atributos Lmite Direccin Base Atributos Lmite Direccin Base

Espacio Lineal de Direcciones (o Memoria Fsica) Cdigo FFFFFFFF

No Presente

Memoria M i para E/S

Datos y Pila 0

Los segmentos tienen el lmite acorde a la memoria fsica instalada en el sistema.Autor: Mariano Mercado

Modelos de Memoria. Modelo Multi SegmentTabla de Descriptores Espacio Lineal de Direcciones (o Memoria Fsica) FFFFFFFF Cdigo Cdi Datos

CS SS DS ES FS GS

Atributos Lmite Direccin Base Atributos Lmite Direccin Base Atributos Lmite Direccin Base Atributos Lmite Direccin Base Atributos Lmite Direccin Base Atributos Lmite Direccin Base Atributos Lmite Direccin Base Atributos Lmite Direccin Base

Pila

Datos

Datos Datos

0

Autor: Mariano Mercado

Proteccin a nivel de PginasSe combina con la Proteccin a nivel de segmentos, aportando granularidad al sistema de proteccin dentro de un mismo segmento. Al igual que en los segmentos los chequeos se realizan dentro de la ventana de decodificacin y ejecucin de la instruccin. De acuerdo al sistema de proteccin de pginas (reflejado en la estructura del descriptor de pgina) hay dos niveles: Usuario (bit U/S=1) Supervisor (U/S 0) y el ti d pgina puede ser d L t U/S 1) y S i (U/S=0), l tipo de i d de Lectura o Lectura/Escritura. Cualquier violacin al sistema de proteccin de pginas genera una Excepcin 0Eh definida por Intel como Page Fault (#PF), y rebautizada bajo el misterioso y tristemente familiar nombre de Error grave 0Eh en algunos Si t l Sistemas O Operativos.... ;-) tiAutor: Mariano Mercado

Proteccin a nivel de PginasLos CPLs 0, 1, y 2 del sistema de proteccin de segmentos mapean en el nivel Supervisor del esquema de pginas. El CPL 3, se corresponde con el nivel Usuario. En el modo supervisor se accede por default a todas las pginas y en modo usuario solo a las que tienen en su descriptor el bit U/S = 1 A partir del 80486, el bit 16 del registro CR0, se utiliza bajo el nombre WP (Write Protect).2

Cuando el procesador esta en Modo Supervisor, por default, accede a cualquier pgina con permiso de lectura y/o escritura. (Se ignora la proteccin de escritura) Si es 1 impide al procesador escribir una pgina Read Only de nivel usuario desde cdigo que ejecuta en una pgina en Modo Supervisor .

2

El procesador chequea la proteccin en el Page Directory Entry (PDE), y en cada Page Table Entry.Autor: Mariano Mercado

Combinacin de Proteccin a nivel de Pginas y SegmentosEl procesador evaluar siempre en primer lugar la proteccin de segmentos, ya que la Unidad de Paginacin puede o no estar habilitada. Si genera una excepcin por segmentacin no se genera la #PF. La proteccin a nivel de pgina no pisa a la proteccin a nivel de segmento. Paginar un segmento de cdigo fijando permisos de escritura en l pginas, no permitir escribir, ya que l i it las i iti ibi lo impedir el di l mecanismo de proteccin de segmentos. En el caso de un segmento de datos con permiso de escritura, la paginacin permite definir diferentes permisos para cada pgina con lo cual podremos dividirlo en reas de lectura solamente y otras de lectura/escritura. l t / itAutor: Mariano Mercado