La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 21 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.

Presentaciones similares


Presentación del tema: "ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 21 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and."— Transcripción de la presentación:

1 ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 21 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and Design (The hardware / software interface), 4ta Edición, de David A. Patterson y John L. Hennessy. Editorial Morgan Kaufmann

2 AGENDA La Memoria Virtual Memory Management Unit (MMU) 07/09 – 11/09Jerarquía de memoria Jerarquía de Memoria y Proyecto 14-09 – 18/09 Memoria virtual y la MMU 3er Examen Parcial

3 Memoria Virtual Al igual que las caches para el acceso rápido de las instrucciones y datos, la memoria RAM puede actuar como “cache” de la memoria secundaria. Objetivos: –Que los procesos puedan compartir la memoria de forma eficiente y segura. Proceso = Programa en ejecución. –Eliminar a los programas los límites de una memoria principal pequeña. –Protección. Cada programa se ejecuta (funciona) dentro de su propio espacio de direcciones: Un rango de localidades de memoria accesibles sólo por este programa.

4 Memoria Virtual La memoria virtual implementa la traducción del espacio de direcciones de un programa a direcciones físicas. Esta traducción asegura la protección de los espacios de direcciones. Se libera al programador de la responsabilidad de manejar dos niveles de memoria.

5 Memoria Virtual Un bloque de memoria virtual lo denominaremos Página. Un fallo (miss) en la memoria virtual lo denominaremos Fallo de página. El procesador produce una dirección virtual que es traducida en una dirección física.

6 Memoria Virtual La memoria virtual facilita la carga de programas, al poder realizar sin complicaciones relocalizaciones. En memoria virtual, las direcciones son picadas en Número de página virtual y Desplazamiento de página

7 Memoria Virtual Un fallo de página suele tomar millones de ciclos de reloj. Por esta razón: 1.Las páginas suelen ser grandes: De 4 a 64 KB. 2.Se prefieren las jerarquías que reducen los fallos de página (Ej: Caches totalmente asociativas). 3.Los fallos de página se manejan por software. 4.Se utiliza write-back (Write-through resulta impensable) Veamos: Técnicas de organización de la memoria

8 Particiones fijas

9 Particiones variables

10 Memoria Virtual y la MMU Usar la DRAM como una cache de la Mem. Secundaria: –El espacio de direcciones de un proceso puede exceder la capacidad de la memoria física disponible –La suma de todos los espacios de direcciones de múltiples procesos puede exceder la capacidad de la memoria física Simplificar el manejo de la memoria –Múltiples procesos residen en memoria principal. Cada proceso con su propio espacio de direcciones. –Sólo el código y datos “activos” se encuentran realmente en memoria. –Se reserva más memoria para el proceso a medida que se requiere

11 Protección Un proceso no puede interferir con otro –Ellos operan en diferentes espacios de direcciones Los procesos de usuario no pueden accesar información del sistema de forma directa Cada sección de espacios de direcciones tiene sus permisos

12 Memory Management Unit Provee los servicios principales de gestión de tareas Considera que cada programa corre en su espacio privado La MMU simplifica la programación de tareas de aplicación proveyendo recursos para el manejo de la memoria virtual –Actúa como un traductor: Convierte direcciones (lógicas) de programas y datos a direcciones físicas reales –Permite la reubicación de los programas con direcciones virtuales a cualquier parte de la memoria

13 Memory Management Unit CPUMMU Memoria Principal Dirección lógica Dirección física Traduce direcciones A continuación: Formas de implementar la Memoria Virtual

14 Manejo de Memoria basada en Segmentación El programa ve su memoria como un conjunto de segmentos: Programa principal, datos, pila, tabla de símbolos, variables globales, etc. Cada programa tiene su propio conjunto de segmentos privados Cada acceso a memoria es realizado a través de un selector de segmento y una compensación (offset) dentro del segmento Así, cada programa tiene su propia vista privada de la memoria y puede coexistir transparentemente con otros programas

15 Generación de dirección basada en segmentos Base: Dirección base del segmento Dirección lógica: Compensación dentro del segmento Borde: Límite del segmento SDT: Almacena la información de acceso y otra sobre el segmento Selector de segmentoDirección lógica Base Tabla descriptora de segmentos (SDT) Dirección física Borde >? Falla de acceso (Excepción) +

16 Paging (Paginación) El área de la Memoria Lógica puede ser mayor que la Memoria Física Se ubica parte de la Memoria Lógica en Memoria Secundaria Se divide la memoria física en partes iguales (Chunks) Un chunk de la Memoria Virtual (Lógica) se puede asignar a cualquier (un) chunk de la Memoria Física (“página”) Una página ocupa típicamente 4 u 8 KB Un comportamiento totalmente asociativo generaría búsquedas muy lentas. Por esto, se utilizan tablas de páginas

17 Memoria paginada Traducción El hardware convierte las direcciones virtuales en direcciones físicas a través de una tabla de búsquedas operada por el sistema operativo (Tabla de páginas) CPU Tabla de páginas Memoria Almacenamiento adicional 0 1 N-1 0 1 P-1 Direcciones virtuales Direcciones físicas

18 Fallo de página El CPU genera una dirección virtual que la tabla de páginas indica que no está en memoria Se invoca al manejador de excepciones del S.O. para que mueva la data de disco (o memoria secundaria) a memoria –Se suspende el proceso actual –El S.O. controla el traslado y ubicación de la información Espacio swap: Espacio en disco reservado para el espacio de memoria virtual completo de un proceso.

19 Manejo de múltiples procesos Cada proceso tiene su propio espacio de direcciones virtuales –El S.O. controla cómo se asignan las páginas virtuales a la memoria física –Una tabla de páginas para cada proceso –Cada programa puede comenzar en la misma dirección (Dirección virtual) Un proceso no debe accesar páginas no asignadas a este

20 Traducción de la dirección de página Base de página i Página virtualCompensación Concatenar Página físicaCompensación Tabla de páginas

21 Operaciones de la tabla de páginas Traducción Cálculo de la dirección física (Bit de validez: 0, 1) Protección: –Read-only, read-write, execute –Soporta múltiples modos de operación

22 Integración de la MV a la Cache La mayoría de las caches: –Son accedidas a través de la dirección física –Permite que múltiples procesos tengan bloques en la cache al mismo tiempo –La cache no requiere preocuparse de problema de protección: Ya que los derechos de acceso son chequeados como parte de la traducción de la dirección CPUCache Memoria Principal Traducción DVDF datos hit miss

23 Memoria Virtual y Cache Realizar la traducción de la dirección antes de la búsqueda en la Cache –Pero esto podría incluir un acceso a memoria Solución: Las entradas a la tabla de páginas también pueden estar en Cache

24 Translation Lookaside Buffer (TLB) Pequeña cache en la MMU Guarda las direcciones usadas recientemente para evitar el acceso a la tabla de páginas. Mapea números de páginas virtuales a números de páginas físicas Contiene entradas de las tablas de páginas para una cantidad pequeña de página Valores típicos: –Tamaño: 16 – 512 entradas –Tamaño del bloque: 1 a 2 entradas (de 4 a 8 bytes c/u) –Tiempo de Hit: 0,5 a 1 ciclo de reloj –Miss rate: 0,01% a 1% –Miss penalty: De 10 a 100 ciclos de relog

25 Traducción con el TLB CPU Búsqueda TLB Cache Memoria Principal Traducción DV hit DV datos hitmiss

26 Cache L2 (SRAM) Jerarquía de memorias típica Control Datapath Memoria Secundaria (Disco) Componentes On-Chip RegFile Memoria Principal (DRAM) Data Cache Instr Cache ITLB DTLB eDRAM Velo. (%Ciclos): ½’s 1’s 10’s 100’s 1,000’s Tamaño (bytes): 100’s K’s 10K’s M’s G’s a T’s Costo: Mayor Menor


Descargar ppt "ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 21 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and."

Presentaciones similares


Anuncios Google