Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1....

21
Memoria Otros temas sobre cachés

Transcript of Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1....

Page 1: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

MemoriaOtros temas sobre cachés

Page 2: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

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: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

Universidad de Sonora Arquitectura de Computadoras 3

Localizando un bloqueEn un caché de mapeo directo (1-way), un bloque

solo puede ir en un lugar.En un caché asociativo (n-way, n > 1), es necesario

localizar el bloque.La dirección se divide en:El índice selecciona el conjunto.Dentro del conjunto se comparan las etiquetas de

todos los bloques.Para mayor velocidad, las etiquetas se comparan en

paralelo.

Page 4: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

Universidad de Sonora Arquitectura de Computadoras 4

Localizando un bloqueDado un tamaño fijo, existe una relación entre el

tamaño del índice y los parámetros del caché.Para un caché de 256 bloques:

Asociatividad Conjuntos Bloques Índice

1-way 256 1 8

2-way 128 2 7

4-way 64 4 6

8-way 32 8 5

128-way 2 128 1

256-way 1 256 0

Page 5: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

Universidad de Sonora Arquitectura de Computadoras 5

Localizando un bloqueUn caché de mapeo directo requiere un solo

comparador.

Page 6: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

Universidad de Sonora Arquitectura de Computadoras 6

Localizando un bloqueUn caché 4-way set associative requiere 4

comparadores.

Page 7: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

Universidad de Sonora Arquitectura de Computadoras 7

Que organización usarLa selección entre mapeo directo, set associative y

fully associative depende del costo de falla comparando con el costo de implementar asociatividad en tiempo y hardware.

Page 8: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

Universidad de Sonora Arquitectura de Computadoras 8

Bloque a reemplazarEn 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.La estrategia mas usada es LRU (least recently

used – menos usado recientemente).

Page 9: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

Universidad de Sonora Arquitectura de Computadoras 9

Bloque a reemplazarLRU 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: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

Universidad de Sonora Arquitectura de Computadoras 10

Cachés multinivelTener 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: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

Universidad de Sonora Arquitectura de Computadoras 11

EjemploSe tiene una CPU con:

CPI = 1.0 con caché fuera perfecto.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: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

Universidad de Sonora Arquitectura de Computadoras 12

EjemploEl 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: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

Universidad de Sonora Arquitectura de Computadoras 13

EjemploCon 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: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

Universidad de Sonora Arquitectura de Computadoras 14

EjemploEl 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 = 4Por 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: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

Universidad de Sonora Arquitectura de Computadoras 15

Cachés multinivelSe 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: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

Universidad de Sonora Arquitectura de Computadoras 16

Cachés multinivelValores típicos en 2004.

Page 17: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

Universidad de Sonora Arquitectura de Computadoras 17

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 en una falla?

4. ¿Qué pasa en una escritura?

Page 18: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

Universidad de Sonora Arquitectura de Computadoras 18

Conclusión¿Dónde se puede poner un bloque?En mapeo directo en el lugar que le toque según su

dirección.En set associative en cualquier lugar dentro del

conjunto que le toque.En fully associative en cualquier lugar del caché.

Page 19: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

Universidad de Sonora Arquitectura de Computadoras 19

Conclusión¿Cómo se encuentra un bloque?En mapeo directo, buscando en el lugar que le

toque y comparando la etiqueta.En set associative, buscando en el conjunto que le

toque comparando etiquetas.En fully associative, buscando en el caché

comparando etiquetas.

Page 20: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

Universidad de Sonora Arquitectura de Computadoras 20

Conclusión¿Qué bloque debe ser reemplazado en una falla?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 21: Memoria Otros temas sobre cachés. Universidad de SonoraArquitectura de Computadoras2 Otros temas 1. Estrategias de búsqueda de bloque. 2. Estrategias.

Universidad de Sonora Arquitectura de Computadoras 21

Conclusión¿Qué pasa en una escritura?Write-through se escribe en el caché y en la

memoria para evitar inconsistencias.Write-back se escribe en el caché y solamente

cuando es necesario en la memoria.