Jerarquía de memoria

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Jerarquía de memoria por Mind Map: Jerarquía de memoria

1. Introduccion

1.1. Mecanismo de acceso de memoria

1.2. Diseño y evaluación del rendimiento de la jerarquía de memoria

1.3. Aspectos tecnológicoas y diseño de los niveles de jerarquía

2. Diseño de una jerarquía de memoria básica

2.1. Primer modelo descartado por bajo rendimiento

2.2. Jerarquia actual

2.2.1. Consta de

2.2.1.1. Memoria caché

2.2.1.1.1. Ubicada en el mismo chip del procesador

2.2.1.1.2. Fabricada con memoria RAM estática

2.2.1.1.3. Controlada por el controlador de caché

2.2.1.1.4. Existen varios niveles de caché

2.2.1.2. Memoria principal

2.2.1.2.1. Ubicada en chip diferente al procesador

2.2.1.2.2. Fabricada con memoria RAM dinámica

2.2.1.2.3. Controlada por el controlador de memoria principal

2.2.1.2.4. Puede ubicarse en el mismo chip del procesador y la memoria caché

2.2.1.3. Memoria Virtual

2.2.1.3.1. Ubicada en el disco duro

2.2.1.3.2. Fabricada con tecnología magnética

2.2.1.3.3. Se controla desde el sistema operativo a través del controlador de disco duro

2.2.2. Cada componente

2.2.2.1. Ubicado físicamente en un lugar distinto

2.2.2.2. Se fabrica con diferente tecnología

2.2.2.3. Se gestiona de manera independiente

2.3. Representación

3. Propiedades de una jerarquía de memora

3.1. Inclusión:La información de un nivel también debe estar en los niveles superiores

3.2. Coherencia: Las copias de información en diferentes niveles son coherentes entre sí

3.3. Correspondencia de direcciones entre los niveles de jerarquía

4. Aciertos y fallos de en el acceso a la caché

4.1. Palabra leer o escribir se busca en MC

4.1.1. Palabra encontrata: acierto

4.1.2. Palabra no encontrada: fallo

4.1.2.1. Se trae bloque que contiene una palabra desde MP

5. Principio de localidad

5.1. Localidad espacial

5.1.1. Se referencia a un elemento

5.1.2. Operaciones con matrices y arrays

5.1.3. Ejecución de un programa

5.1.4. Jerarquía de memoria mueve bloques con palabras contiguas en memoria, a los niveles más altos de la jerarquía

5.2. Localidad temporal

5.2.1. Jerarquía de memoria mantiene los datos accedidos recientemente lo más cerca posible del procesador

5.2.2. Estructura de los programas: datos y bucles

6. Bufer de escritura

6.1. Estructura hardware en la que se realizan escrituras en primera instancia

6.2. Se solapa la escritura con el siguiente nivel de la jerarquía con la ejecución de las instrucciones

6.3. Estructura pequeña y rápida organizada como una memoria caché

6.4. Si el buffer se llena el procesador debe detenerse

6.5. Tipos

6.5.1. Escritura Directa

6.5.1.1. Escrituras palabra a palabra en caché

6.5.1.2. El contenido de este buffer se vuelca en el siguiente nivel

6.5.1.2.1. Cuando esté lleno

6.5.1.2.2. Cuando se produzca un fallo de lectura y sea necesario actualizar el siguiente nivel con el contenido del buffer

6.5.2. Post-escritura

6.5.2.1. Se utiliza para volcar los bloques sucios que serán reemplazados en memoria caché

6.5.2.2. No hay necesidad de esperar a que se escriba el bloque sucio en el siguiente nivel, ya que se encuentra en el buffer

6.5.2.3. El contenido del buffer se volcará en el siguiente nivel

6.5.2.3.1. Cuando esté lleno

6.5.2.3.2. Cuando se produzca un fallo

6.6. Se produce un fallo de escritura si el acceso a MC es ara escritura y no se encuentra

6.7. Tipo de escritura

6.7.1. Escritura con ubicación

6.7.1.1. Se asocia con post-escritura

6.7.1.2. Se lleva el bloque de MP a MC donde se realiza la escritura

6.7.2. Escritura sin ubicación

6.7.2.1. Se asocia con escritura directa

6.7.2.2. Sólo se escribe sobre la MP

7. Aciertos y fallos en el acceso a la Memoria Principal

7.1. Relación entre MP y MV similar a la relación entre MC y MP

7.2. La MP se divide en páginas o segmentos

7.3. Cuando se produce un fallo de página o segmento, se debe acceder a la MV

7.4. Mv es la más lenta de la jerarquía

7.5. Gestión de la MP la realiza el SO

8. Mecanismo completo de acceso a memoria

8.1. Pasos

8.1.1. 1.Traducción de dirección virtual a dirección física

8.1.2. 2. Si la traducción es exitosa, la palabra se encuentra en MP, Con esta dirección se accede a la memoria caché

8.1.3. 3. Tipos de fallos en la MC

8.1.3.1. Iniciales: cuando se referencia

8.1.3.2. Capacidad: Cuando se producen reemplazos

8.1.3.3. De conflicto: Varios bloques tiene la misma dirección en memoria caché

8.1.4. 4. En caso de fallo, se pasa al controlador MP para mapear la dirección física de la palabra

8.1.5. 5. Controlador planifica acceso a MP

8.1.6. 6. En caso de acierto: Se incluye la palabra que se envía a la MC

8.1.7. 7. En caso de fallo: Se resuelve el fallo de página desde la MV

8.1.8. 8. El SO realiza un cambio de contexto y ejecuta otro proceso

8.1.9. 9. Al estar la página o el segmento en VP, se lleva el bloque a MC y se reanuda la ejecución de la instrucción que causó el fallo

8.2. En caso de 2 niveles de MC

8.2.1. En caso de fallo en 1er nivel, se intenta resolver desde el 2do

8.2.2. Si la palabra está en 2do nivel, se envía al 1er nivel

8.2.3. En caso de fallo, se debe intentar desde MP

8.2.4. Bloque que falla se lleva desde la MP, a la cache de 2d0 nivel, y de esta a la caché de 1er nivel

8.2.5. En procesador segmentado, todo este proceso debe completarse en la etapa de acceso a memoria

9. Evaluación de prestaciones de la jerarquía de memoria

9.1. Fórmulas

9.1.1. tiempoMemoria=tiempoAciertoMC+TasaFallos*PenalizacionPorFallo en MC

9.1.2. tiempo=tiempoCPU+tiempoMEM

9.2. Metricas

9.2.1. Latencia: Tiempo que transcurre desde el acceso a memoria hasta que finaliza

9.2.2. Ancho de banda: Cantidad de información por unidad de tiempo que se puede transferir a la memoria

10. Memoria Caché

10.1. Diseño

10.1.1. Almacena bloques (marcos)

10.1.2. Se emplea etiquetas o tags para determnar si los bloques están ocupados

10.1.3. Las etiquetas se comparan con la del bloque buscado para indicar si eiste un aietrto o un fallo

10.2. Aspectos de diseño

10.2.1. Organización

10.2.1.1. Tamaño de memoria caché

10.2.1.1.1. Demasia pequeña

10.2.1.1.2. Demasiado grande

10.2.1.2. Tamaño de marco

10.2.1.2.1. Bloques grandes

10.2.1.2.2. Se debe llegar a un compromiso considerando la latencia y el ancho de banda

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

10.2.1.3.1. La segmentación del procesador obliga a la división para evitar riesgos estructurales entre las etapas F y M

10.2.1.3.2. Cuando no se trata de primer nivel se puede optar por unificar en bloques de información comunes las instrucciones y los datos

10.2.1.3.3. Las decisiones se toman mediante una herrarmienta de simulación

10.2.1.4. Implementación de cachés multinivel

10.2.1.4.1. Es el aspecto más importante que ingluye en el rendimiento

10.2.1.4.2. Cuando se emplea una memoria caché de un solo nivel pequeñas y rápidas o lentas y grandes, la solución es utilizar cacheé de dos niveles.

10.2.2. Política de ubicación

10.2.2.1. La memoria caché solo almacena determinados bloques de información

10.2.2.2. Compara tasa de fallos contra el tiempo de acceso

10.2.2.3. Clasificacion

10.2.2.3.1. Correspondencia directa

10.2.2.3.2. Totalmente asociativa

10.2.2.3.3. Asociativa por conjuntos

10.2.3. Políticas de reemplazo

10.2.3.1. Al producirse un fallo en MC se debe determinar el bloqe de MC que se debe desalojar para traer desde MP el bloque que ha fallado

10.2.3.2. Selección puede reducir la tasa de fallos de accesos posteriores a MC

10.2.3.3. Algoritmos mas utilizados

10.2.3.3.1. Aleatorio

10.2.3.3.2. FIFO

10.2.3.3.3. LRU

10.2.4. Políticas de escritura

10.2.4.1. Escritura directa

10.2.4.1.1. Se escribe a la vez en el primer nivel de memoria caché y en el siguiente nivel de la jerarquía

10.2.4.1.2. Ventajas

10.2.4.1.3. Desventajas

10.2.4.2. Post-escritura

10.2.4.2.1. Al modificar una palabra solo se realiza en el primer nivel de caché

10.2.4.2.2. Emplea el bit sucio para indicar si el bloque ha sido modificado o no

10.2.4.2.3. Ventajas

10.2.4.2.4. Desventajas