Microprocesadores
Arquitectura IA-32
Universidad Tecnológica Nacional - FRH
Técnicas Digitales III
Ciclo Lectivo 2011
Autor: Mariano Mercado 1
Arquitectura IA-32Arquitectura IA-32
PaginaciónPaginación
2Autor: Mariano Mercado
Estructura de la MMU
Dirección Lógica
Dirección Lineal
Dirección Física
SELECTOR
Unidad de Unidad de SegmentaciónSegmentación
Unidad de Unidad de SegmentaciónSegmentación
Unidad de Unidad de PaginaciónPaginaciónUnidad de Unidad de PaginaciónPaginación
MemoriaMemoriaFísicaFísica
MemoriaMemoriaFísicaFísica
INDEX TI
RPL
SELECTOR
DESPLAZAMIENTO
L IA 32 i d L IA 32 i d La IA-32 introduce como una de las mejoras mas importantes a nivel de laarquitectura interna de los procesadores 80386
La IA-32 introduce como una de las mejoras mas importantes a nivel de laarquitectura interna de los procesadores 80386 los procesadores 80386
y subsiguientes, una Unidad de Gestión de Memoria que contiene
una Unidad de ó
los procesadores 80386 y subsiguientes, una Unidad de Gestión de Memoria que contiene
una Unidad de ó
3
Unidad de Paginación No activadaDirección Física= Dirección Lineal
Paginación a continuación de la
Unidad de Segmentación
Paginación a continuación de la
Unidad de SegmentaciónAutor: Mariano Mercado
Tabla de Páginas de Memoria
4 bytes por cada descriptor y un millón de descriptores de página.Se necesita una tabla de descriptores de página de 4 Mbytes!!!.Se necesita una tabla de descriptores de página de 4 Mbytes!!!.La primer PC 386 venía con 4 Mbytes de RAM.Evidentemente se necesita otro approach.Estructura de Paginación JerárquicaEstructura de Paginación Jerárquica
1001 Tablas de 4 1001 Tablas de 4
Directorio de Tablas de Páginas con 1.000 descriptores de tablas de
página
Una tabla de 4 Mbytes
con
Una tabla de 4 Mbytes
con
Kbytes c/u con 1.000 descriptores
de páginas
Kbytes c/u con 1.000 descriptores
de páginas
1.000.000 descriptores de páginas
1.000.000 descriptores de páginas
1.000 tablas con 1.000 descriptores de página c/uAutor: Mariano Mercado
Modos de Paginación en IA-64Modo Protegido
Autor: Mariano Mercado
Tabla de Páginas de MemoriaModo Paginación 32 bits (4Kb-Page)
Autor: Mariano Mercado
Tabla de Páginas de MemoriaModo Paginación 32 bits (4 Mb-Page)
Autor: Mariano Mercado
Tabla de Páginas de MemoriaModo Paginación PAE
PDPTE: Page DirectoryDirectoryPointer Table
Autor: Mariano Mercado
Tabla de Páginas de MemoriaModo Paginación IA-32e (4Kb-Pages)
PML4E: Page lMap Level 4
Entry
Autor: Mariano Mercado
Tabla de Páginas de MemoriaModo Paginación IA-32e (2Mb-Pages)
Autor: Mariano Mercado
Tabla de Páginas de MemoriaModo Paginación IA-32e (1Gb-Pages)
Autor: Mariano Mercado
Modo Paginación32 bits32 bits
Páginas de 4Kb(CR4.PSE=0)(CR4.PSE 0)
Autor: Mariano Mercado
Paginación 32-bits
Se habilita colocando un 1 en el bit PG de CR0.
Se debe colocar en CR4 el bit PSE en 0 (Bit 4).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 Páginas (Page DirectoryTable)Table).
2 Bit 4: PCD – Page Cache Disable. No se guardará en la cache esta página, siempre se leerá la misma desde memoria dinámica.
2 Bit 3: PWT – Page Write-Through. Las modificaciones del procesador en Bit 3: PWT Page Write Through. Las modificaciones del procesador en esta página en la Memoria Cache, forzarán la actualización en la memoria dinámica.
Autor: Mariano Mercado
Paginación 32-bitsPage Directory
A cada elemento del Directorio de Tablas de Páginase lo denomina Entrada del Directorio de Tablas de Página, o en inglés, Page Directory Entry (PDE). Su formato es:
Dirección Base de la Reservado 0 0 D A PCD PWT U/S R/W P
31 012 1234567891011
A cada elemento de la Tabla de Pagina (Page Table) se lo denomina Entrada de la Tabla de Página, o en su inglés, Page Table Entry (PTE).
Tabla de Página S.O.0 0 D A PCD PWT U/S R/W P
t ada de a ab a de ág a, o e su g és, age ab e t y ( )Su formato es:
Dirección Base de la Reservado 0 0 D A PCD PWT U/S R/W P
31 012 1234567891011
P: PDE o PTE PresenteR/W: Permisos de Lectura (R/W=0) o Lectura-Escritura (R/W=1).
Dirección Base de la Página
ReservadoS.O.
0 0 D A PCD PWT U/S R/W P
/ ( / ) ( / )U/S: Nivel de Privilegio. U/S=0 Modo Supervisor (No podrán acceder CPLs=3)D: Dirty. Indica que el procesador escribió en esta página.
Autor: Mariano Mercado
Paginación de Memoria en dos niveles
31 022 12 MemoriaDirecciónLineal
Sistema de Traducción de Páginas de dos niveles
21 11DirectorioDirectorio TablaTabla OffsetOffset
121010
Unidad de Unidad de SegmentaciónSegmentación
31 0
10
CPU
CR0CR1CR2
31 031 0
Tabla dePage Table
RaRaíízzRaRaíízzCR2CR3CR4
PáginasDirectorio de
Tablas de Páginas Page Directory Entries (PDE’s)
Page Table Entries (PTE’s)
Autor: Mariano Mercado
Segmentación y Paginación de Memoria
SelectorSelector DesplazamientoDesplazamientoEspacio LinealEspacio Lineal
Dirección Lógica o puntero farDirección Lógica o puntero farEspacio Físico Espacio Físico
de de DireccionesDirecciones
Dirección LinealDirección Lineal
DirectorioDirectorio TablaTabla31 022 12
OffsetOffset
Espacio Lineal Espacio Lineal de Direcciones de Direcciones
(4Gbytes)(4Gbytes)
SegmentoSegmento
Dirección LinealDirección Lineal
T bl dT bl dDirectorio deDirectorio deSegmentoSegmento
Dirección LinealDirección Lineal
Dirección FísicaDirección Física
PDE
Tabla de Tabla de PáginasPáginas
Directorio de Directorio de Tablas de Tablas de PáginasPáginas
Descriptor de Descriptor de SegmentoSegmento
PTE
PáginasPáginas PáginaPágina
Dirección BaseDirección Basedel Segmentodel Segmento
Tabla de Tabla de DescriptoresDescriptores
PAGINACIONSEGMENTACION
gg
Autor: Mariano Mercado
Modelos de Memoria
Modelo Flat Básico
CS Tabla de DescriptoresFFFFFFFF
Código
Espacio Lineal de Direcciones (o Memoria Física)
CSSS Dirección Base
Dirección Base
Atributos
Atributos Límite
Límite
Tabla de Descriptores
DSES
Dirección Base
Dirección Base
Dirección Base
Atributos
Atributos Límite
Límite No Presente
ESFS
Dirección Base
Dirección Base
Dirección Base
Atributos
Atributos Límite
Límite
GS0
Datos y Pila
Tanto el Sistema Operativo como las aplicaciones tienen acceso a un espacio de 4 Gbytes no segmentado.Se evitan las excepciones por exceso en el límite de memoria ya que el límite de todos los descriptores es FFFFFFFF. Aún si se accede a áreas en las que no existe memoria física.Autor: Mariano Mercado
Modelos de Memoria
Modelo Flat ProtegidoTabla de Descriptores FFFFFFFF
Código
Espacio Lineal de Direcciones (o Memoria Física)
CSSS
Dirección BaseAtributos
Atributos Límite
Límite
p Código
No Presente
DSES
Dirección Base
Dirección Base
Di ió B
Atributos
Atributos Límite
Límite
No Presente
M iESFS
Dirección Base
Dirección Base
Dirección Base
Atributos
Atributos Límite
LímiteMemoria para E/S
GSDirección Base
0
Datos y Pila
Los segmentos tienen el límite acorde a la memoria física instalada en elLos segmentos tienen el límite acorde a la memoria física instalada en el sistema.
Autor: Mariano Mercado
Modelos de Memoria.
Modelo Multi SegmentAtributos Límite
Tabla de Descriptores FFFFFFFFCódi
Espacio Lineal de Direcciones
(o Memoria Física)
CSSS
Dirección Base
Dirección Base
Atributos
Atributos Límite
Límite Código
Datos
DSES
Dirección Base
Dirección Base
Atributos
Atributos Límite
Límite
Pila
ESFSGS
Dirección Base
Dirección BaseAtributos
Atributos Límite
Límite Datos
GS Dirección BaseAtributos Límite
Datos
Datos
Dirección BaseAtributos Límite
0
Dirección BaseAtributos Límite
Autor: Mariano Mercado
Protección a nivel de Páginas
Se combina con la Protección a nivel de segmentos, aportandogranularidad al sistema de protección dentro de un mismo segmento.
Al igual que en los segmentos los chequeos se realizan dentro de laventana de decodificación y ejecución de la instrucción.
De acuerdo al sistema de protección de páginas (reflejado en laestructura del descriptor de página) hay dos niveles: Usuario (bitU/S 1) S i (U/S 0) l ti d á i d d L tU/S=1) y Supervisor (U/S=0), y el tipo de página puede ser de Lecturao Lectura/Escritura.
Cualquier violación al sistema de protección de páginas genera unaExcepción 0Eh definida por Intel como Page Fault (#PF), yrebautizada bajo el misterioso y tristemente familiar nombre de “Error
0Eh” l Si t O ti ))grave 0Eh” en algunos Sistemas Operativos.... ;;--))
Autor: Mariano Mercado
Protección a nivel de PáginasLos CPL’s 0, 1, y 2 del sistema de protección de segmentos mapeanen el nivel Supervisor del esquema de páginas. El CPL 3, secorresponde con el nivel Usuario.
En el modo supervisor se accede por default a todas las páginas y enmodo 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 nombreWP (Write Protect).WP (Write Protect).2 Cuando el procesador esta en Modo Supervisor, por default, accede a
cualquier página con permiso de lectura y/o escritura. (Se ignora laprotección de escritura)
2 Si es 1 impide al procesador escribir una página Read Only de nivelusuario desde código que ejecuta en una página en Modo Supervisor .
El procesador chequea la protección en el Page Directory Entry (PDE),y en cada Page Table Entry.
Autor: Mariano Mercado
Combinación de Protección a nivel de Páginas y Segmentos
El procesador evaluará siempre en primer lugar la protección desegmentos, ya que la Unidad de Paginación puede o no estarhabilitada.
Si genera una excepción por segmentación no se genera la #PF.
La protección a nivel de página no pisa a la protección a nivel desegmento. Paginar un segmento de código fijando permisos de
it l á i iti á ibi l i di á lescritura en las páginas, no permitirá escribir, ya que lo impedirá elmecanismo de protección de segmentos.
En el caso de un segmento de datos con permiso de escritura, lapaginación permite definir diferentes permisos para cada página con locual podremos dividirlo en áreas de lectura solamente y otras del t / itlectura/escritura.
Autor: Mariano Mercado
Recommended