Memoria

26
Memoria Otros temas sobre cachés

description

Memoria. Otros temas sobre cachés. Otros temas. Estrategias de búsqueda de bloque. Estrategias de reemplazo de bloque. Cachés multinivel. Localizando un bloque. En un caché de mapeo directo (1-way), un bloque solo puede ir en un lugar. - PowerPoint PPT Presentation

Transcript of Memoria

Page 1: Memoria

MemoriaOtros temas sobre cachés

Page 2: Memoria

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

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

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

Universidad de Sonora Arquitectura de Computadoras 5

Localizando un bloqueUn caché de mapeo directo requiere un solo

comparador.

Page 6: Memoria

Universidad de Sonora Arquitectura de Computadoras 6

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

comparadores.

Page 7: Memoria

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

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

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

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

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

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

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

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

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

Universidad de Sonora Arquitectura de Computadoras 16

Cachés multinivelValores típicos en 2004.

Page 17: Memoria

Universidad de Sonora Arquitectura de Computadoras 17

Algoritmos y el cachéUn algoritmo puede tener un comportamiento

distinto a su comportamiento teórico debido a la presencia del caché.

En teoría, Radix Sort es mejor que Quicksort para arreglos grandes.

Page 18: Memoria

Universidad de Sonora Arquitectura de Computadoras 18

Algoritmos y el cachéComportamiento teórico

Page 19: Memoria

Universidad de Sonora Arquitectura de Computadoras 19

Algoritmos y el cachéComportamiento real

Page 20: Memoria

Universidad de Sonora Arquitectura de Computadoras 20

Algoritmos y el cachéMotivo: fallas de caché.

Page 21: Memoria

Universidad de Sonora Arquitectura de Computadoras 21

SoluciónDiseñar algoritmos que hagan uso efectivo del

caché (principio de locality).Problema: el rendimiento puede variar de un

sistema a otro.El reto es diseñar algoritmos adaptables.

Page 22: Memoria

Universidad de Sonora Arquitectura de Computadoras 22

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 23: Memoria

Universidad de Sonora Arquitectura de Computadoras 23

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 24: Memoria

Universidad de Sonora Arquitectura de Computadoras 24

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 25: Memoria

Universidad de Sonora Arquitectura de Computadoras 25

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 26: Memoria

Universidad de Sonora Arquitectura de Computadoras 26

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.