La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Otros temas sobre cachés

Presentaciones similares


Presentación del tema: "Otros temas sobre cachés"— Transcripción de la presentación:

1 Otros temas sobre cachés
Memoria Otros temas sobre cachés

2 Otros temas Estrategias de búsqueda de bloque.
Estrategias de reemplazo de bloque. Cachés multinivel. Universidad de Sonora Arquitectura de Computadoras

3 Localizando un bloque La dirección se divide en:
En un caché de mapeo directo (1-way), el bloque está dado por el índice. En un caché n-way (n > 1), el índice indica el conjunto en donde está el bloque. Hay que buscar el bloque dentro del conjunto comparando las etiquetas. En un caché fully, el bloque puede estar en cualquier parte. Hay que buscar el bloque en todo el caché comparando las etiquetas. Universidad de Sonora Arquitectura de Computadoras

4 Localizando un bloque Para mayor velocidad, las etiquetas se comparan en paralelo. Universidad de Sonora Arquitectura de Computadoras

5 Localizando un bloque Un caché de mapeo directo requiere un solo comparador. Universidad de Sonora Arquitectura de Computadoras

6 Localizando un bloque Un caché 4-way set associative requiere 4 comparadores. Universidad de Sonora Arquitectura de Computadoras

7 Que organización usar La selección entre mapeo directo, n-way set associative y fully associative depende de compromisos entre la tasa de fallas y el costo del hardware. Universidad de Sonora Arquitectura de Computadoras

8 Bloque a reemplazar En mapeo directo no hay elección.
En set associative se escoge un bloque dentro del conjunto seleccionado. En fully associative cualquier bloque del caché es candidato a ser reemplazado. Una estrategia típica es LRU (least recently used block – el bloque menos usado recientemente). Universidad de Sonora Arquitectura de Computadoras

9 Bloque a reemplazar LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción es aproximar LRU o usar una estrategia FIFO (first-in first-out – el primero que entra es el primero en salir). Una tercera opción es usar reemplazo aleatorio. Universidad de Sonora Arquitectura de Computadoras

10 Cachés multinivel Tener uno o mas niveles de cachés.
Los sistemas de dos niveles son comunes. El caché de segundo nivel (L2) se accesa cuando hay una falla en el caché primario (L1). Si el caché L2 contiene el dato, el castigo por falla de L1 es el tiempo de acceso de L2 que es mucho menor que el tiempo de acceso a la memoria Si el dato no está en L1 ni en L2, se accesa la memoria y el castigo por falla es mayor. Universidad de Sonora Arquitectura de Computadoras

11 Ejemplo Se tiene una CPU con: Tiempo de acceso de memoria = 100 ns.
CPI = 1.0 con caché perfecto (sin fallas). Velocidad de reloj = 5 GHz. Tiempo de acceso de memoria = 100 ns. Tasa de fallas del caché primario = 2%. ¿Qué tan rápido es el sistema si se agrega otro nivel de caché con tiempo de acceso de 5 ns y capaz de reducir la tasa de fallas a la memoria a 0.5%? Universidad de Sonora Arquitectura de Computadoras

12 Ejemplo El castigo por falla es:
Para la memoria principal el castigo es: 100 ns / 0.2 ns = 500 ciclos. El CPI efectivo con un nivel de caché es: Para la CPU con un nivel de caché: x 500 = 11.0 Universidad de Sonora Arquitectura de Computadoras

13 Ejemplo Con dos niveles de caché, una falla en el caché L1 se puede resolver por L2 o por la memoria. Si se resuelve en L2, el tiempo de acceso a L2 es el castigo por falla. En otro caso, el castigo por falla es la suma de los tiempos de acceso a L2 y a la memoria. El castigo por falla por un acceso a L2 es: 5 ns / 0.2 ns = 25 ciclos Universidad de Sonora Arquitectura de Computadoras

14 Ejemplo El CPI efectivo para un caché de dos niveles:
Para la CPU con dos niveles de caché: x x 500 = = 4 Por lo tanto, la CPU con dos niveles de caché es más rápido que la CPU con un nivel en: 11 / 4 = 2.75 Universidad de Sonora Arquitectura de Computadoras

15 Cachés multinivel Se introducen dos nuevos conceptos:
Tasa de fallas global (global miss rate) es la fracción de referencias que fallan en todos los niveles. Tasa de fallas local (local miss rate) es la fracción de referencias que fallan en un nivel. El caché primario es mas pequeño y con menor tiempo de acceso que los secundarios. Universidad de Sonora Arquitectura de Computadoras

16 Cachés multinivel Valores típicos en 2012. Universidad de Sonora
Arquitectura de Computadoras

17 Comparación Universidad de Sonora 17

18 Conclusión 4 preguntas en la jerarquía de memoria:
¿Dónde se puede poner un bloque? ¿Cómo se encuentra un bloque? ¿Qué bloque debe ser reemplazado si es necesario? ¿Qué pasa en una escritura? Universidad de Sonora Arquitectura de Computadoras

19 Conclusión Pregunta 1: ¿Dónde se puede poner un bloque?
En mapeo directo en el lugar que le toque según su dirección. En n-way set associative en cualquier lugar dentro del conjunto que le toque. En fully associative en cualquier lugar del caché. Universidad de Sonora Arquitectura de Computadoras

20 Conclusión Pregunta 2: ¿Cómo se encuentra un bloque?
En mapeo directo, buscando en la línea indicada por el índice y comparando las etiquetas. En n-way set associative, buscando en el conjunto indicado por el índice y comparando las etiquetas. En fully associative, buscando en todo el caché comparando etiquetas. Universidad de Sonora Arquitectura de Computadoras

21 Conclusión Pregunta 3: ¿Qué bloque debe ser reemplazado si es necesario? En mapeo directo no hay otra opción: el bloque nuevo reemplaza al anterior. Para n-way y fully: LRU (least recently used - menos usado recientemente). Aproximación LRU o FIFO (first-in first-out – el primero que entra es el primero en salir). Aleatorio. Universidad de Sonora Arquitectura de Computadoras

22 Conclusión Pregunta 4: ¿Qué pasa en una escritura?
Si el dato está en el caché: Write-through: se escribe en el caché y en la memoria para evitar inconsistencias. Write-back: se escribe en el caché y la memoria se actualiza cuando el bloque va a ser reemplazado. Universidad de Sonora Arquitectura de Computadoras

23 Conclusión Si el dato no está en el cache:
Write allocate: se actualiza la memoria y se carga el dato en el caché. No write allocate: se actualiza la memoria y no se carga el dato en el caché. Universidad de Sonora Arquitectura de Computadoras


Descargar ppt "Otros temas sobre cachés"

Presentaciones similares


Anuncios Google