Memoria Ronny

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
Memoria Ronny por Mind Map: Memoria Ronny

1. Jerarquía de memoria

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ógicos y de diseño de los distintos niveles de la jerarquía de memoria

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

2.1. Memoria caché

2.1.1. (MC) Ubicada en el mismo chip que el procesador

2.1.2. Fabricada con memoria RAM estática (SRAM).

2.1.3. Controlada por el controlador de caché incluido en el mismo chip

2.1.4. Existen varios niveles de caché

2.2. Memoria caché

2.2.1. (MP) Ubicada en un chip diferente al procesador.

2.2.2. Fabricada con memoria RAM dinámica (DRAM).

2.2.3. Controlada por el controlador de memoria principal que se encarga de planificar los accesos a la misma

2.2.4. El controlador puede ubicarse en el mismo chip que el procesador y la memoria caché

2.3. Memoria Virtual

2.3.1. (MV) Ubicada en el disco duro

2.3.2. Fabricada con tecnología magnética.

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

2.4. Órdenes de magnitud de capacidades y tiempos de acceso

2.4.1. CPU

2.4.1.1. Banco de Registros

2.4.1.1.1. Byte/KByte

2.4.2. Caché

2.4.2.1. KByte/MByte

2.4.2.1.1. ~1 ns

2.4.3. Memoria principal

2.4.3.1. MByte/GByte

2.4.3.1.1. ~100 ns

2.4.4. Memoria virtual

2.4.4.1. GByte/TByte

2.4.4.1.1. ~5 ms

3. Propiedades de una jerarquía de memoria

3.1. Inclusión: cualquier información contenida en un nivel de la jerarquía debe estar también en los niveles superiores

3.2. Coherencia: almacenan los mismos valores

3.3. Debe haber una correspondencia de direcciones entre los distintos niveles de la jerarquía

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

4.1. La palabra a leer o escribir se busca en MC

4.1.1. Si la palabra se encuentra en caché, acierto

4.1.2. Si no se encuentra en caché, fallo.

4.2. Si la palabra no se encuentra en la MC, se trae un bloque que contiene dicha palabra desde la MP

4.3. Principio de Localidad

4.3.1. Localidad espacial

4.3.1.1. Si se referencia un elemento, los elementos cercanos a él también tenderán a ser referenciados.

4.3.1.2. La jerarquía de memoria mueve bloque con palabras contiguas en memoria a los niveles más altos de la jerarquía

4.3.1.3. Operaciones con matrices y arrays, ejecución secuencial de un programa

4.3.2. Localidad temporal

4.3.2.1. Si se referencia un elemento, este tenderá a ser referencia pronto

4.3.2.2. La jerarquía de memoria mantiene los datos accedidos recientemente lo más cerca posible del procesador

4.3.2.3. Estructura de los programas: datos y bucles

5. Aciertos y fallos en el acceso a la MP

5.1. Relación entre MP y MV similar a la existente entre MC y MP

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

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

5.4. La penalización en este caso es mayor ya que la MV es la más lenta de la jerarquía

5.5. En la gestión de este nivel interviene el SO.

6. Mecanismo completo de acceso a memoria

6.1. Se traduce la dirección virtual a una dirección física

6.2. Si se traduce con éxito, es porque la palabra se encuentra en MP. Con esta dirección se accede a la memoria caché

6.3. Tipos de fallos en la MC

6.3.1. Iniciales, cuando se referencia una palabra por primera vez

6.3.2. De capacidad, cuando se producen reemplazos

6.3.3. De conflicto, varios bloques tienen asignada la misma ubicación en memoria caché

6.4. En caso de fallo, hay que pasar por el controlador de MP, que mapeará la dirección física buscada a la ubicación física de la palabra dentro de los chips DRAM

6.5. El controlador planificará el acceso a la MP puesto que otros dispositivos también acceden a la MP

6.6. En caso de acierto, el bloque que incluye la palabra se envía a la MC

6.7. En caso de fallo, se debe resolver el fallo de página o segmento desde la memoria virtual

6.8. El SO realiza un cambio de contexto y pasa a ejecutar otro proceso

6.9. Una vez que la página o el segmento está en MP, se lleva el bloque correspondiente a MC y se reanuda la ejecución de la instrucción que provocó el fallo

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

7.1. tMEM = taciertoMC + TF • pF

7.2. taciertoMC: Tiempo de acierto de la MC

7.3. TF: Tasa de fallos de la MC

7.4. TF = núm de fallos / núm total accesos a memoria

7.5. pF: Penalización por fallo en MC

7.6. t = tCPU + tMEM

7.7. Métricas que suelen utilizarse con la memoria principal o la memoria virtual

7.7.1. Latencia: tiempo que pasa desde un acceso a memoria comienza hasta que finaliza

7.7.2. Ancho de banda: cantidad de información por unidad de tiempo

8. Diseño de la memoria caché

8.1. Almacena unos determinados bloques de información denominados marcos

8.2. Para determinar qué bloque está ocupando un determinado marco, se utilizan etiquetas o tags

8.3. Las etiquetas se comparan con la del bloque buscado para indicar si se ha producido un acierto o un fallo

8.4. Aspectos básicos de su diseño

8.4.1. Organización de la memoria caché

8.4.2. Política de ubicación

8.4.3. Política de reemplazo

8.4.4. Política de escritura

9. Organización de la memoria caché

9.1. Tamaño de la memoria caché

9.2. Tamaño de marco

9.3. Unificación o división de las instrucciones y los datos

9.4. Implementación de cachés multinivel

9.5. Unificación o división

9.6. Multinivel

9.6.1. L1

9.6.2. L2

9.6.3. L3

10. Política de ubicación

10.1. La memoria caché sólo almacena unos determinados bloques de información

10.2. Correspondencia directa

10.2.1. A cada bloque de memoria principal solo le corresponde un marco de memoria caché

10.2.2. Ventajas

10.2.2.1. La lectura permite el acceso simultáneo al directorio y a la palabra dentro del bloque de MC

10.2.3. Inconvenientes

10.2.3.1. Incremento de la tasa de fallos cuando dos bloques de MP

10.3. Totalmente asociativa

10.3.1. Cualquier bloque de MP se puede ubicar en cualquier bloque de MC

10.3.2. Ventajas

10.3.2.1. Flexibilidad

10.3.3. Inconvenientes

10.3.3.1. Mayor tiempo de acceso

10.4. Asociativa por conjuntos

10.4.1. Dividir la MC en C conjuntos de B bloqueso vías

11. Políticas de reemplazo

11.1. Cuando se produce un fallo en MC hay que determinar qué bloque de MC desalojar para traer el bloque que ha producido el fallo desde MP

11.2. Algoritmos más utilizados

11.2.1. Aleatorio

11.2.2. FIFO

11.2.3. LRU

12. Políticas de escritura

12.1. Las escrituras llevan más tiempo puesto que no se puede realizar trabajo en paralelo

12.2. Políticas

12.2.1. Escritura directa

12.2.2. Post-escritura

13. Buffer de escritura

13.1. Estructura hardware en la que se realizan las escrituras en primera instancia

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

14. Diseño de la memoria principal

14.1. Chips de memoria

14.2. El controlador de memoria gestiona los accesos

14.3. Mapea la dirección física a ubicación física

15. DRAM convencional

15.1. Modelo obsoleto

15.2. Las actuales son el resultado de aplicar mejoras y optimizaciones sobre la misma

16. FPM DRAM

16.1. División de la memoria en páginas

16.2. Los accesos que se encuentran en la misma página requieren menos ciclos de espera

17. SDRAM o DRAM Sincrónica

17.1. q La tecnología de memoria actual es síncrona, utilizando el reloj global del sistema

17.2. Las memoria pueden funcionar en modo 5-1-1-1

18. DDR, DDR2, DDR3

18.1. DDR (Double Date Rate) transfiere información dos veces en cada ciclo de reloj: en el flanco de subida y en el de bajada

18.2. DDR2 permite trabajar a mayores frecuencias

18.3. La tecnología DDR3 reduce de nuevo la tensión de alimentación

19. Diseño de la memoria virtual

19.1. Permite la multiprogramación ---> protección

19.2. La MV no se controla exclusivamente por hardware

19.3. La tecnología de la MV es el almacenamiento magnético

19.4. El alojamiento es siempre asociativo

19.5. Latencia del orden de ms y no de ns

20. Organización de la memoria virtual

20.1. Dirección virtual→ dirección generada por el procesador

20.2. Dirección física → dirección que maneja la unidad de memoria

20.3. Memory Management Unit (MMU)

21. Asignación de memoria

21.1. Paginación: tamaño fijo de bloque de información

21.2. Segmentación: tamaño variable de bloque de información

21.3. paginada/ segmentada: los segmentos se componen de un número entero de páginas

22. Fallo de página

22.1. Si el bit de válido está a off ---> se produce un fallo de página

22.2. Se debe transferir el control al SO: mecanismo de excepción

22.3. Para saber si una página ha sido modificada, a la tabla de páginas se le añade el dirty bit

23. Protección

23.1. Un bit de permiso de escritura en el TLB puede proteger a una página de ser escrita

24. Optimización de la traducción de direcciones: TLB

24.1. Como las tablas de páginas están almacenadas en la MP

25. TLB miss

25.1. Los fallos de página en el acceso a datos son más complicados

25.1.1. Ocurren en mitad de la ejecución de la instrucción

25.1.2. La instrucción no se puede completar antes de resolver la excepción

25.1.3. Después de tratar la excepción, la instrucción debe comenzar su ejecución de nuevo como si nada hubiera ocurrido

26. Fallo de página

26.1. Cuando se produce un fallo de página se transfiere el control a la dirección 0X8000 0180