La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Arquitectura de Computadores Clase 21 Memoria Virtual IIC 2342 Semestre 2008-2 Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería.

Presentaciones similares


Presentación del tema: "Arquitectura de Computadores Clase 21 Memoria Virtual IIC 2342 Semestre 2008-2 Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería."— Transcripción de la presentación:

1 Arquitectura de Computadores Clase 21 Memoria Virtual IIC 2342 Semestre 2008-2 Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación

2 Objetivos Capítulo 5 : Sistemas de Memoria – Memoria Virtual Entender qué es la memoria virtual junto con sus ventajas Entender la función de las distintas piezas de hardware involucradas en el uso de la memoria virtual Memory Managment Unit (MMU) Transition Lookaside Buffer (TLB) Entender el funcionamiento de la memoria virtual Páginas y Marcos, Excepciones, y Swap Objetivos R.Mitnik 2Arquitectura de Computadores

3 R.Mitnik Arquitectura de Computadores3 Índice 5.1 Sistemas de almacenamiento 5.2 Jerarquías de memoria 5.3 Tecnologías de memorias 5.4 Representación y formato de datos 5.5 Memoria caché 5.6 Memoria virtual Capítulo 5 : Sistemas de Memoria

4 R.Mitnik Arquitectura de Computadores4 Memoria Virtual Introducción Capítulo 5 : Sistemas de Memoria La memoria virtual permite desacoplar la memoria que la CPU ve de la memoria física Procesos no se preocupan de dónde están realmente Distintos procesos pueden utilizar las mismas direcciones de memoria e.g. varios procesos iguales corriendo en paralelo Permite utilizar más memoria que la disponible Seguridad procesos no conocen el espacio de memoria física de los demás no pueden determinar la memoria física a utiliza

5 R.Mitnik Arquitectura de Computadores5 Memoria Virtual Introducción Capítulo 5 : Sistemas de Memoria La memoria virtual permite desacoplar la memoria que la CPU ve de la memoria física Define dos espacios de direccionamiento: uno virtual (el que los procesos ven) y uno físico (la memoria principal) Por eficiencia se agrega un intermediario que traduce las direcciones entre ambos espacios Memroy Managment Unit (MMU) CPU envía direcciones virtuales, MMU las transforma a direcciones físicas

6 R.Mitnik Arquitectura de Computadores6 Introducción Capítulo 5 : Sistemas de Memoria – Memoria Virtual

7 R.Mitnik Arquitectura de Computadores7 Memoria Virtual Introducción Capítulo 5 : Sistemas de Memoria CPU envía direcciones virtuales, MMU las transforma a direcciones físicas MMU sólo se encarga de traducir direcciones ¿Quién determina cómo se mapea de un espacio al otro? El Sistema Operativo (SO) ¿Cómo mapea el Sistema Operativo? Diseña y mantiene una función F() (mapa de memoria) que permite mapear direcciones entre los espacios virtual y físico.

8 R.Mitnik Arquitectura de Computadores8 Memoria Virtual Implementación Capítulo 5 : Sistemas de Memoria Implementar un mapeo 1-1 es muy ineficiente Mapear cada dirección virtual a una dirección real es costosísimo Solución: Paginación

9 R.Mitnik Arquitectura de Computadores9 Memoria Virtual Paginación Capítulo 5 : Sistemas de Memoria Cada página representa un conjunto de bytes Todas las páginas tienen el mismo tamaño El tamaño de las páginas viene dado por la arquitectura (e.g. 4Kb) Las páginas tienen el mismo tamaño en ambos espacios (virtual y físico) En el espacio físico, las páginas virtuales se almacenan en marcos físicos El mapa de memoria queda representado como un mapa de páginas

10 R.Mitnik Arquitectura de Computadores10 Memoria Virtual Paginación Capítulo 5 : Sistemas de Memoria El mapa de memoria queda representado como un mapa de páginas Se representa como una tabla Mapea las páginas virtuales a los marcos físicos de la memoria

11 R.Mitnik Arquitectura de Computadores11 Paginación Capítulo 5 : Sistemas de Memoria – Memoria Virtual Ejemplo: Memoria Virtual:16 páginas de 4K Direcciones de 16 bits Memoria Física:8 páginas de 4K Direcciones de 15 bits

12 R.Mitnik Arquitectura de Computadores12 Paginación Capítulo 5 : Sistemas de Memoria – Memoria Virtual MMU Dirección virtual Dirección física Cómo mapea: Determina el número de la página virtual correspondiente a la dirección requerida Determina el marco físico de dicha página En base a la posición relativa de la dirección en la página, determina la dirección física del requerimiento

13 R.Mitnik Arquitectura de Computadores13 Paginación Capítulo 5 : Sistemas de Memoria – Memoria Virtual Tablas de páginas

14 R.Mitnik Arquitectura de Computadores14 Paginación Capítulo 5 : Sistemas de Memoria – Memoria Virtual Mapeo utilizando MMU

15 R.Mitnik Arquitectura de Computadores15 Paginación: Ejemplo Capítulo 5 : Sistemas de Memoria – Memoria Virtual 14-16K1 12-14K0 10-12KX 8-10KX 6-8KX 4-6KX 2-4K3 0-2K2 36-8K 24-6K 12-4K 00-2K Memoria Virtual (16K) Memoria física (8K)

16 R.Mitnik Arquitectura de Computadores16 Capítulo 5 : Sistemas de Memoria – Memoria Virtual 14-16K1 12-14K0 10-12KX 8-10KX 6-8KX 4-6KX 2-4K3 0-2K2 36-8K 24-6K 12-4K 00-2K Memoria Virtual (16K) Memoria física (8K) Ej: La CPU pide el contenido de la dirección de memoria 0. La MMU recibe la solicitud de la dirección 0 Determina el marco correspondiente  2 Determina dirección física de la dirección virtual 0 0 = primer valor de la página Primer valor del marco 2  4096 Escribe 4096 en el bus de direcciones. Paginación: Ejemplo

17 R.Mitnik Arquitectura de Computadores17 Capítulo 5 : Sistemas de Memoria – Memoria Virtual 14-16K1 12-14K0 10-12KX 8-10KX 6-8KX 4-6KX 2-4K3 0-2K2 36-8K 24-6K 12-4K 00-2K Memoria Virtual (16K) Memoria física (8K) Ej: La CPU pide el contenido de la dirección de memoria 2050. La MMU recibe la solicitud de la dirección 2050 Determina el marco correspondiente  3 Determina dirección física de la dirección virtual 2050 2050 = tercer valor de la página correspondiente Tercer valor del marco 3  6146 Escribe 6146 en el bus de direcciones. Paginación: Ejemplo

18 R.Mitnik Arquitectura de Computadores18 Capítulo 5 : Sistemas de Memoria – Memoria Virtual 14-16K1 12-14K0 10-12KX 8-10KX 6-8KX 4-6KX 2-4K3 0-2K2 36-8K 24-6K 12-4K 00-2K Memoria Virtual (16K) Memoria física (8K) Ej: La CPU pide el contenido de la dirección de memoria 4100. La MMU recibe la solicitud de la dirección 4100 Determina el marco correspondiente  No está Se genera una falta de página (page fault) Paginación: Ejemplo

19 R.Mitnik Arquitectura de Computadores19 Paginación Falta de Página (page fault) Se genera cuando la MMU no puede mapear una dirección virtual a una dirección física Arroja una interrupción de software Este inconveniente es transparente para el proceso Sistema operativo determina qué hacer Negar la solicitud (out of memory exception) Buscar memoria disponible Encuentra No encuentra  se acabó la memoria física  Out of memory exception  Swap Capítulo 5 : Sistemas de Memoria – Memoria Virtual

20 R.Mitnik Arquitectura de Computadores20 Capítulo 5 : Sistemas de Memoria – Memoria Virtual 14-16K1 12-14K0 10-12KX 8-10KX 6-8KX 4-6KX 2-4K3 0-2K2 36-8K 24-6K 12-4K 00-2K Memoria Virtual (16K) Memoria física (8K) Ej: La CPU pide el contenido de la dirección de memoria 4100. La MMU recibe la solicitud de la dirección 4100 Determina el marco correspondiente  No está Se genera una falta de página (page fault) Quita una página de un marco, guardándola en disco (swap out) Paginación: Ejemplo

21 R.Mitnik Arquitectura de Computadores21 Capítulo 5 : Sistemas de Memoria – Memoria Virtual 14-16KX 12-14K0 10-12KX 8-10KX 6-8KX 4-6K1 2-4K3 0-2K2 36-8K 24-6K 12-4K 00-2K Memoria Virtual (16K) Memoria física (8K) Ej: La CPU pide el contenido de la dirección de memoria 4100. La MMU recibe la solicitud de la dirección 4100 Determina el marco correspondiente  No está Se genera una falta de página (page fault) SO quita una página de un marco, guardándola en disco (swap out) SO asigna el marco a la página requerida, cargándola de disco de existir previamente (swap in) Paginación: Ejemplo

22 R.Mitnik Arquitectura de Computadores22 Capítulo 5 : Sistemas de Memoria – Memoria Virtual 14-16KX 12-14K0 10-12KX 8-10KX 6-8KX 4-6K1 2-4K3 0-2K2 36-8K 24-6K 12-4K 00-2K Memoria Virtual (16K) Memoria física (8K) Ej: La CPU pide el contenido de la dirección de memoria 4100. La MMU recibe la solicitud de la dirección 4100 Determina el marco correspondiente  1 Determina dirección física de la dirección virtual 4100 4100= 5to valor de la página correspondiente 5to valor del marco 1  2052 Escribe 2052 en el bus de direcciones. Paginación: Ejemplo

23 R.Mitnik Arquitectura de Computadores23 Paginación Capítulo 5 : Sistemas de Memoria – Memoria Virtual El sistema operativo mantiene una tabla de páginas independiente para cada proceso Procesos no se preocupan de donde están realmente Distintos procesos pueden utilizar las mismas direcciones de memoria Seguridad Al cargar un proceso, el SO también carga en la MMU el mapa de memoria asociado a dicho proceso MMU sólo convierte!!! ¿Cuántas tablas de páginas hay?

24 R.Mitnik Arquitectura de Computadores24 Paginación Capítulo 5 : Sistemas de Memoria – Memoria Virtual Las tablas son muy grandes, por lo que se almacenan en la memoria física El sistema operativo no carga la MMU con el mapa del proceso El sistema operativo le entrega un puntero a dicha tabla Problema: Dobles accesos a memoria Al llegar un requerimiento de memoria la MMU debe ir a buscar la entrada correspondiente de la tabla a memoria Luego hacer la traducción de dirección virtual a dirección física Finalmente envía el requerimiento del proceso como dirección física Translation Lookaside Buffer (TLB)

25 R.Mitnik Arquitectura de Computadores25 Capítulo 5 : Sistemas de Memoria – Memoria Virtual TLB Hardware que permite un acceso rápido a los elementos más usados de la tabla Es una memoria caché especializada Muy rápida Fully associative Pequeña (entre 32 y 1024 palabras) Translation Lookaside Buffer (TLB) Translation Lookaside Buffer

26 R.Mitnik Arquitectura de Computadores26 Translation Lookaside Buffer Capítulo 5 : Sistemas de Memoria – Memoria Virtual Mapeo utilizando MMU y TLB

27 Resumen Ventajas de la memoria virtual Procesos no se preocupan de dónde están realmente Distintos procesos pueden utilizar las mismas direcciones de memoria Permite utilizar más memoria que la disponible Seguridad Piezas de hardware involucradas Memory Managment Unit (MMU) Translation Lookaside Buffer (TLB) Paginación Páginas Marcos Falta de página (page fault) Swap in/out R.Mitnik 27Arquitectura de Computadores Resumen Capítulo 5 : Sistemas de Memoria – Memoria Virtual


Descargar ppt "Arquitectura de Computadores Clase 21 Memoria Virtual IIC 2342 Semestre 2008-2 Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería."

Presentaciones similares


Anuncios Google