31 Memoria cache otros short.ppt [Modo de...

23
Memoria Otros temas sobre cachés

Transcript of 31 Memoria cache otros short.ppt [Modo de...

Page 1: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

MemoriaOtros temas sobre cachés

Page 2: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

Universidad de Sonora Arquitectura de Computadoras 2

Otros temas

1. Estrategias de búsqueda de bloque.

2. Estrategias de reemplazo de bloque.

3. Cachés multinivel.

Page 3: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

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.

Page 4: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

Localizando un bloque� Para mayor velocidad, las etiquetas se comparan en

paralelo.

Universidad de Sonora Arquitectura de Computadoras 4

Page 5: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

Universidad de Sonora Arquitectura de Computadoras 5

Localizando un bloque� Un caché de mapeo directo requiere un solo

comparador.

Page 6: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

Universidad de Sonora Arquitectura de Computadoras 6

Localizando un bloque� Un caché 4-way set associative requiere 4

comparadores.

Page 7: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

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.

Page 8: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

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).

Page 9: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

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.

Page 10: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

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.

Page 11: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

Universidad de Sonora Arquitectura de Computadoras 11

Ejemplo� Se tiene una CPU con:

� 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%?

Page 12: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

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é:

1.0 + 0.02 x 500 = 11.0

reloj de periodo

acceso de tiempo fallapor castigo =

ninstrucciópor detención de ciclos base CPI totalCPI +=

Page 13: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

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

Page 14: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

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é:

1.0 + 0.02 x 25 + 0.005 x 500 = 1 + 0.5 + 2.5 = 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

ninstrucciópor ssecundaria sdetencione

n instrucciópor primarias sdetencione base CPI totalCPI ++=

Page 15: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

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.

Page 16: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

Universidad de Sonora Arquitectura de Computadoras 16

Cachés multinivel� Valores típicos en 2012.

Page 17: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

Universidad de Sonora 17

Comparación

17

Page 18: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

Universidad de Sonora Arquitectura de Computadoras 18

Conclusión� 4 preguntas en la jerarquía de memoria:

1. ¿Dónde se puede poner un bloque?

2. ¿Cómo se encuentra un bloque?

3. ¿Qué bloque debe ser reemplazado si es necesario?

4. ¿Qué pasa en una escritura?

Page 19: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

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é.

Page 20: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

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.

Page 21: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

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.

Page 22: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

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.

Page 23: 31 Memoria cache otros short.ppt [Modo de compatibilidad]euler.mat.uson.mx/~havillam/ca/Slides/31-Memoria... · LRU se vuelve costoso para conjuntos con muchos bloques. Otra opción

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 23