Está en la página 1de 6

Nombre: Gomez Ventura Ramiro Carrera: Ingeniera Electrnica TECNOLOGA DEL MICROPROCESADOR INTEL PENTIUM JERARQUA DE MEMORIA DEL

PENTIUM: Registros del microprocesador. Memoria principal: o Memoria segmentada. o Mecanismo de paginacin. Memoria cach.

MEMORIA PRINCIPAL El sistema operativo es el encargado de gestionar la memoria principal. A partir del 80286, el hardware estaba preparado para soportar sistemas operativos multitarea. Un sistema operativo multitarea debe ser capaz de administrar la memoria para todos los procesos en ejecucin. Normalmente, los procesos requerirn ms memoria de la que hay fsicamente disponible. Mecanismo para utilizar la memoria secundaria como si fuera parte de la memoria principal, direcciones virtuales. El Pentium utiliza direcciones virtuales de 46 bits podemos direccionar hasta 64TB como si fuera espacio nico de memoria principal.

MODELOS DE MEMORIA Existen tres formas de manejar las direcciones virtuales: o Segmentacin: La memoria se divide en segmentos, bloques de longitud variable, que contienen un mismo tipo de datos. o Paginacin: La memoria se divide en pginas, bloques de longitud fija. o Segmentacin paginada: La memoria se divide en segmentos, y a su vez los segmentos se dividen en pginas. El modelo que se utiliza habitualmente en el Pentium es la segmentacin paginada. Cada modelo de memoria est relacionado con un modo de funcionamiento del Pentium. o Modo real: segmentacin. o Modo plano: paginacin. o Modo protegido: segmentacin paginada.

SEGMENTACIN Permite organizar la memoria en mdulos lgicos de similares caractersticas, soporte de la programacin estructurada. Permite tener recursos compartidos entre tareas (rea global) o exclusivos de una tarea concreta (rea local).

A cada segmento se le puede asignar un determinado nivel de privilegio, mecanismo de proteccin. La segmentacin esta implementada desde los primeros procesadores de la familia x86. No es opcional, el Pentium siempre utiliza la segmentacin. Al arrancar, el procesador empieza trabajando en modo real (soporte solo para segmentacin). El sistema operativo tendr que cambiar el modo cuando comience su arranque: o Solo podemos utilizar 1MB de memoria, con segmentos de hasta 64KBs. o EA = BASE x 16 + DESPLAZAMIENTO

PAGINACIN La memoria se divide en pginas de tamao fijo (4KBs o 4MBs en el Pentium). Simplifica los algoritmos de intercambio entre objetos de la memoria fsica y la memoria virtual. Es optativa, solo funciona cuando la activa el programador (el SO.). Como la segmentacin es inherente a la arquitectura, si queremos utilizar solo paginacin lo que haremos ser crear un nico segmento que abarque toda la memoria, y sobre ese segmento haremos la paginacin, modo plano. La paginacin es un procedimiento de gestin de memoria muy eficaz en SO. multitarea que manejan memoria virtual.

SEGMENTACIN PAGINADA Es el modelo de memora ms habitual en el Pentium. Los segmentos se descomponen en pginas de 4KBs o 4MBs. En memoria principal solo se cargan aquellas pginas que van a ser utilizadas por el procesador: o Los procesos se pueden llevar parcialmente a memoria. o Generalmente, el 90% del tiempo un proceso utiliza solo el 10% de su memoria. Se definen tres espacios de direcciones (Modo protegido): o Espacio virtual: Es el que utilizan los procesos. Direcciones de 46 bits, 64TBs de memoria virtual.

o Espacio lineal: Espacio de direcciones de los segmentos ubicados en memoria fsica. Si no hay paginacin: direccin lineal = direccin fsica. o Espacio fsico: Direcciones de la memoria fsica (32b 4GBs). Si hay paginacin, algunas direcciones lineales estarn en memoria fsica, pero otras no. TRADUCCIN DE DIRECCIONES La Unidad de Segmentacin traduce direcciones virtuales a direcciones lineales. La Unidad de Paginacin traduce direcciones lineales a direcciones fsicas.

MMU

Ambas unidades componen la MMU (La unidad de direccin de memoria)

ESPACIO VIRTUAL La direccin lgica que usan los programadores de aplicaciones consta de 2 partes: o Selector (14 bits): selecciona un determinado segmento. o Desplazamiento (32 bits): se suma al selector para obtener la direccin a la que acceder.

TRADUCCIN: VIRTUAL FSICA 1. La MMU recoge la direccin virtual y la introduce en la Unidad de segmentacin. 2. All, las tablas de descriptores de segmentos determinan y registran los segmentos que estn en memoria principal y su posicin. a. Si el segmento solicitado est en la memoria principal: se traduce la direccin virtual a direccin lineal de 32 bits y se accede a dicha posicin de memoria. b. Si el segmento no est en la memoria principal: el SO inicia una excepcin que traslada el segmento desde la memoria virtual a la fsica, actualizando las tablas de descriptores de segmentos. 3. Si la paginacin esta activada, la direccin lineal que sale de la Unidad de segmentacin pasa a la Unidad de Paginacin. 4. All, la tabla de pginas determinan la ubicacin de las paginas en que se han dividido los segmentos, y que estn en memoria principal: a. Si la pgina est en memoria, la direccin lineal se traduce a direccin fsica de 32 bits. b. Si la pgina no est presente, se produce una excepcin que atiende el SO, para transferir las paginas desde la memoria virtual a la memoria principal, actualizando la tabla de pginas.

TABLAS DE PGINAS Direccin lineal (32 bits): o ndice descriptor (20 bits): Apunta a una entrada de la tabla de pginas, de la que se obtiene la base de la pgina. o Desplazamiento (12 bits): Valor que se suma a la base de la pgina para obtener la direccin fsica. Entrada de la tabla de pginas (32 bits): o Nmero de pginas (20 bits): Base de comienzo de la pgina. o Derechos de acceso (12 bits): atributos de cada pgina. El SO debe gestionar una tabla de pginas por cada segmento. 4GB (memoria fsica) / 4KB (tamao pgina) = 1M de pginas. Si cada entrada es de 32 bits = Tabla de pginas de 4MBs. Demasiada memoria!, Intel recurre a una traduccin en 2 niveles: o Primer nivel: Directorio de tablas de pginas. o Segundo nivel: Tablas de pginas.

DIRECTORIO DE TABLAS DE PGINAS Fijo para cada tarea. Su base se almacena en el registro de control CR3 del Pentium. Tabla de 1K de entradas de 32 bits: o Ocupa 1 pgina de 4 KB. o Controla 1024 entradas. 10 bits de ms peso de la direccin lineal seleccionan la entrada (se suman a la base). Cada entrada apunta a una tabla de pginas (contiene la base de un pgina que acta como segunda tabla de pginas).

ESTRUCTURA DE LAS TABLAS DE PGINAS Su base se almacena en una entrada del directorio de pginas. Tabla de 1K de entradas de 32 bits: o Ocupa 1 pgina de 4KB. o Controla 1024 pginas. 10 bits centrales de la direccin lineal se suman a la base para seleccionar la entrada. Cada entrada contiene la base y atributos de una pgina de la memoria principal. Similar estructura que una entrada del directorio.

FORMATO DE LAS ENTRADAS Similar para el directorio y para las tablas de pginas. Presencia (P): P=1, la pagina esta en memoria fsica. Accedido (A): Se pone a 1 cada vez que se accede a la pgina, LRU. Tamao (SIZ): SIZ=1, pginas de 4MBs. Sucio (D): D=1, se ha escrito en la pgina. Habr que salvarla en memoria auxiliar cuando se saque la pgina de memoria principal. Usuario/Supervisor (U/S): U/S=1, nivel supervisor Otros