Capítulo 6: Memoria José León Fernando Tacuri

Plan your website and create the next important tasks for get your project rolling

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
Capítulo 6: Memoria José León Fernando Tacuri por Mind Map: Capítulo 6: Memoria José León Fernando Tacuri

1. Conceptos Básicos

1.1. Diseño de una Jerarquía de Memoria

1.1.1. Primer Sistema de memoria se descartó rápidamente.

1.1.2. Hoy se utilizan otros esquemas:

1.1.2.1. Memoria Caché

1.1.2.1.1. Ubicada en el chip del procesador.

1.1.2.1.2. Fabricada con memoria SRAM

1.1.2.1.3. Controlada por Controlador de Caché.

1.1.2.2. Memoria Principal

1.1.2.2.1. Ubicada en un chip diferente al procesador.

1.1.2.2.2. Fabricada con memoria DRAM

1.1.2.2.3. Controlada por el Controlador de Memoria Principal.

1.1.2.3. Memoria Virtual

1.1.2.3.1. Ubicada en el disco duro.

1.1.2.3.2. Fabricada con tecnología magnética.

1.1.2.3.3. Controlada desde el Sistema Operativo.

1.1.3. Cada esquema:

1.1.3.1. Lugar distinto

1.1.3.2. Tecnología diferente.

1.1.3.3. Gestión Independiente

1.2. Propiedades de una Jerarquía de Memoria

1.2.1. Inclusión: cualquier información en un nivel debe estar en los niveles superiores también.

1.2.2. Coherencia: las copias de la información en diferentes niveles son coherentes entre sí.

1.2.3. Debe haber una correspondencia de direcciones entre los distintos niveles.

1.3. Aciertos y Fallos en el acceso al Caché

1.3.1. Leer o escribir se busca en MC.

1.3.2. Si no se encuentra la palabra se trae el bloque que contiene la palabra.

1.3.3. Principio de localidad: si siempre se producen fallos.

1.3.3.1. Espacial

1.3.3.1.1. Se referencia un elemento y los cercanos a él.

1.3.3.1.2. Jerarquía de memoria mueve palabras contiguas en memoria a niveles más altos.

1.3.3.1.3. Operaciones con matrices y arrays.

1.3.3.2. Temporal

1.3.3.2.1. Se referencia un elemento

1.3.3.2.2. Jerarquía de memoria mantiene los datos accedidos recientemente lo más cerca

1.3.3.2.3. Estructura de los programas: datos y bucles.

1.4. Aciertos y fallos en el acceso a MP

1.4.1. Relación entre MP y MV similar a MC y MP

1.4.2. MP dividida en páginas

1.4.3. Fallos en páginas, se debe acceder a la MV

1.4.4. La penalización en este casi es mayor.

1.4.5. En este nivel interviene el SO

1.5. Mecanismo de Acceso a Memoria

1.5.1. Traducir la dirección virtual.

1.5.2. Con la dirección acceder a memoria caché

1.5.3. Tipos de fallos en MC

1.5.3.1. Iniciales

1.5.3.2. De Capacidad

1.5.3.3. De Conflicto

1.5.4. Si hay fallo, se pasa por el controlado de MP

1.5.5. Controlado planifica el acceso a la MP

1.5.6. En caso de acierto, el bloque se envía a la MC

1.5.7. En caso de fallo, resolver el fallo de página.

1.5.8. El SO realiza un cambio de contexto

1.5.9. Con la página en MP, llevar el bloque a MC y reanudar la ejecución.

1.6. Evaluación de prestaciones de la Jerarquía

1.6.1. Métricas

1.6.1.1. Latencia

1.6.1.2. Ancho de banda

2. Diseño de la Memoria Caché

2.1. Diseño de la Memoria Caché

2.1.1. Almacena determinados bloques (marcos)

2.1.2. Usan etiquetas o flags

2.1.3. Aspectos de Diseño

2.1.3.1. Organización Memoria Caché

2.1.3.2. Política de Ubicación

2.1.3.3. Política de Reemplazo

2.1.3.4. Política de Escritura

2.2. Organización de la memoria Caché

2.2.1. Tamaño del Caché

2.2.2. Tamaño del marco

2.2.2.1. Bloques Grandes

2.2.2.1.1. Captura mejor la localidad espacial

2.2.2.1.2. Se reducen fallos

2.2.2.1.3. Aumenta penalización

2.2.2.2. Llegar a un Compromiso

2.2.2.2.1. Tener en cuenta latencia

2.2.2.2.2. Ancho de Banda

2.2.3. Unificación o división de instrucciones y datos

2.2.3.1. Evitar riesgos estructurales en etapas F y M

2.2.3.2. Si no es primer nivel se puede unificar

2.2.3.3. Desiciones se toman con herramientas de simulación

2.2.4. Implementación de cachés multinivel

2.2.4.1. Más influye en el rendimiento

2.2.4.2. Niveles

2.2.4.2.1. Nivel 1

2.2.4.2.2. Nivel 2

2.2.4.2.3. Nivel 3

2.3. Optimización

2.3.1. Demasiado Pequeña

2.3.1.1. Incrementa Tasa de fallos

2.3.1.2. No captura bien la localidad

2.3.1.3. Fallos de capacidad

2.3.2. Demasiado Grande

2.3.2.1. No se puede integrar en el mismo chip

2.3.2.2. Más lenta

3. Memoria Caché

3.1. Cachpe solo almacena determinados bloques.

3.2. Políticas de Ubicación

3.2.1. Correspondencia Directa

3.2.1.1. A cada bloque le corresponde un marco de MC

3.2.1.2. Correspondencia entre MP y MC

3.2.1.3. Ventajas

3.2.1.3.1. Acceso simultáneo

3.2.1.3.2. Algoritmo de reemplazo trivial.

3.2.1.4. Desventajas

3.2.1.4.1. Incrementa tasa de fallos.

3.2.2. Totalmente Asociativa

3.2.2.1. Bloques de MP pueden ubicar bloques de MC

3.2.2.2. Etiquetas se compara con etiquetas almacenadas.

3.2.2.3. Ventajas

3.2.2.3.1. Flexibilidad

3.2.2.3.2. Mayor tasa de aciertos.

3.2.2.4. Desventajas

3.2.2.4.1. Mayor tiempo de Acceso

3.2.3. Asociativa por Conjuntos

3.2.3.1. Divide MC en C conjuntos.

3.2.3.2. Solución intermedia.

3.2.3.3. Reduce tiempo de acceso

3.2.3.4. Incrementa tasa de aciertos.

3.3. Políticas de Reemplazo

3.3.1. Aleatorio

3.3.2. FIFO

3.3.3. LRU

3.3.4. Tasa aciertos vs Tamaño Caché

3.4. Políticas de Escritura

3.4.1. Llevan más tiempo

3.4.2. Políticas

3.4.2.1. Directa

3.4.2.1.1. Escribe a la vez en el Nivel 1 de MC

3.4.2.1.2. Si hay fallo, trae bloque de MP a MC y realiza la escritura.

3.4.2.1.3. Ventajas

3.4.2.1.4. Desventajas

3.4.2.2. Post-Escritura

3.4.2.2.1. Para no activar reemplazo con la memroia se utiliza un bit sucio

3.4.2.2.2. Escritura en MP bloque sucio en MC se reemplaza.

3.4.2.2.3. Ventajas

3.4.2.2.4. Desventajas

3.5. Buffer de Escritura

3.5.1. Estructura de Hardware: pequeña y rápida

3.5.2. Solapa la escritura con el siguiente nivel

3.5.3. Suponen una penalización menor.

3.5.4. Tipos

3.5.4.1. Escritura Directa

3.5.4.1.1. Palabra a Palabra

3.5.4.1.2. Contenido del buffer se volvará

3.5.4.2. Post-Escritura

3.5.4.2.1. Buffer para volcar los bloques sucios

3.5.4.2.2. No se debe esperar a que se escriba el bloque sucio

3.5.4.2.3. Bloque sucio se volvará en el siguiente nivel

3.6. Políticas de Escritura

3.6.1. Escritura con ubicación

3.6.1.1. Asociado con post-escritura

3.6.1.2. Se lleva bloque MP a MC

3.6.2. Escritura sin Ubicación

3.6.2.1. Asociado con escritura directa

3.6.2.2. Solo se escribe en la MP

4. Memoria Principal

4.1. Diseño

4.1.1. Chips Memoria

4.1.2. Controlador gestiona accesos

4.1.3. Mapea dirección física a su ubucación

4.2. DRAM Convencional

4.2.1. Obsoleto

4.2.2. Acceso a memoria

4.2.2.1. Procesador vuelca la dirección en el bus

4.2.2.2. Controlador la decodifica

4.2.2.3. Determina que debe ser accedido

4.2.2.4. Envía dirección de fila y columna para validarlas

4.2.3. Se desaprovecha los recursos

4.3. FPM DRAM

4.3.1. División de memoria en páginas

4.3.2. Accesos están en la misma página

4.3.3. Acceso en modo burst

4.3.3.1. Se puede acceder a más columnas sin volver a cargar la fila

4.3.3.2. Funciona en modo 5-3-3-3

4.3.3.3. Tiempos de acceso de 70 o 60 ns

4.4. SDRAMo DRAM Sincrónica

4.4.1. Tecnología Sincrónica

4.4.2. Memoria puede funcionar en modo 5-1-1-1

4.4.3. Funcionan a frecuencias mayores de 66 MHz

4.5. DDR, DDR, DDR3

4.5.1. DDR: Double Data Rate

4.5.2. Se lelga hasta los 400 MHz.

4.5.3. DDR2 trabaja a mayores frecuencias

4.5.4. Se reduce la tensión hasta 1.8 V

4.5.5. DDR3 reduce la tensión y llega hasta 1900 MHz.

5. Memoria Virtual

5.1. Diseño

5.1.1. Se introduce en la jerarquía de memoria

5.1.1.1. Permite multiprogramación

5.1.1.2. Permite accesos más grandes

5.1.1.3. Permite independencia respecto a la localización de procesos

5.1.2. Se controla por el hardware

5.1.3. Tegnología: almacenamiento magnético

5.1.4. Unidad de información: segmento o la página

5.1.5. Alojamiento asociativo

5.1.6. Política de escritura: post-escritura.

5.2. Organización

5.2.1. Dirección Virtual

5.2.2. Dirección Física

5.2.3. Memory Management Unit (MMU)

5.2.3.1. Traduce direcciones virtuales a física

5.2.3.2. Trabaja de manera transparente

5.3. Asignación de Memoria

5.3.1. Paginación

5.3.2. Segmentación

5.3.3. Técnica Híbrida.

5.4. Paginación

5.4.1. Se gestiona con el SO

5.4.2. Importante reducir los fallos de página

5.4.3. Páginas se localiza con tablas de páginas

5.4.4. Espacio de Direcciones se aloja en cualquier posición de memoria física.

5.4.5. Memoria Física se divide en marcos

5.4.6. Memoria Virtual se divide en páginas

5.4.7. Mantiene una lista de los marcos libres.

5.4.8. Para ejecutar n páginas se necesitan n marcos libres.

5.5. Ubicación y Búsqueda de Páginas

5.5.1. Se utiliza una tabla de páginas

5.5.1.1. Indexada con el númeo de página

5.5.1.2. Permite obtener la página física.

5.5.2. Cada programa tiene su propia tabla

5.5.3. Para localizar la tabla, hardware incluye el page table register

5.5.4. SO se encarga de

5.5.4.1. Asignación de Memoria Física

5.5.4.2. Actializar tablas de páginas.

5.5.5. Bit válido

5.5.5.1. Utilizado para indicar si la página está o no en MP

5.5.5.2. Off: no está presente en MP

5.5.5.3. On: sí está presente en MP

5.6. Fallo de Página

5.6.1. Bit válido en Off, fallo de página

5.6.2. Transferir control al SO

5.6.3. SO debe

5.6.3.1. Buscar página en siguiente nivel

5.6.3.2. Decidir en que marco de MP alojar la página

5.6.4. Llevar un control de localización

5.6.5. SO reserva espacio en disco para las páginas

5.6.6. Crea una estructura de datos para almacenar cada página virtual

5.6.7. SO tiene otra estructura que almacena procesos y dir virtuales con dir físicas

5.6.8. SSOO utiliza aproximación de LRU para reemplazar la página

5.6.9. Algunos PCs proporcionan bit de referencia

5.6.10. Si la página ha sido modificada se emplea write-back

5.6.11. En la tabla de páginas se le añade el dirty bit, para saber si página fue modificada.