Anda di halaman 1dari 22

Pontificia Universidad Católica de Chile

Escuela de Ingeniería
Departamento de Ciencia de la Computación

Arquitectura de Computadores
Clase 18
Memoria Caché: Fundamentos

IIC 2342
Semestre 2008-2

Rubén Mitnik
Objetivos
Capítulo 5 : Sistemas de Memoria

Objetivos
 Entender qué es la memoria caché
 Entender las bases del uso de la memoria caché
 Localidad de referencia
 Funcionamiento

 Entender la organización interna de la memoria caché:


 Líneas

R.Mitnik 2 Arquitectura de Computadores


Índice
Capítulo 5 : Sistemas de Memoria

5.1 Sistemas de almacenamiento


5.2 Jerarquías de memoria
5.3 Tecnologías de memorias
5.4 Representación y formato de datos.
5.5 Memoria caché
5.6 Memoria virtual.

R.Mitnik 3 Arquitectura de Computadores


Memoria Caché
Capítulo 5 : Sistemas de Memoria

Introducción

 Las CPUs han aumentado su velocidad más


rápidamente que las memorias

R.Mitnik 4 Arquitectura de Computadores


Introducción
Capítulo 5 : Sistemas de Memoria – Memoria Caché

R.Mitnik 5 Arquitectura de Computadores


Introducción
Capítulo 5 : Sistemas de Memoria – Memoria Caché

 Las CPUs han aumentado su velocidad más


rápidamente que las memorias
 Si bien CPUs pueden procesar muy rápido…
 … memoria no alcanza a proporcionar datos a la velocidad
que la CPU requiere

 Cuello de botella  Velocidad de la memoria

 Solución  Memoria caché


 Permite aumentar la velocidad de la memoria

R.Mitnik 6 Arquitectura de Computadores


Introducción
Capítulo 5 : Sistemas de Memoria – Memoria Caché

 ¿Qué significa “Cache”?

 Del frances cacher: esconder (o guardar)

 Merriam-Webster
 Escondite diseñado para almacenar provisiones o implementos
 Un lugar de almacenaje seguro

 Biología
 Lugar escondido donde los animales almacenan comida

R.Mitnik 7 Arquitectura de Computadores


Introducción
Capítulo 5 : Sistemas de Memoria – Memoria Caché

 ¿Qué entendemos por “Cache”?


 Me guardo o escondo algo para su uso posterior

 Utilidad:
 Tener copias rápidas o precalculadas de
 datos o recursos necesarios…
 …pero lentos de obtener o calcular

 Ej:
 Pi (lento de calcular)
 Página de una cita de un libro (lento de calcular)
 Datos en red (lento de obtener)
 Edad (o peso) de una mujer (lento de obtener)

R.Mitnik 8 Arquitectura de Computadores


Introducción
Capítulo 5 : Sistemas de Memoria – Memoria Caché

 En la jerarquía de memoria cada “piso” puede


usarse como caché de los pisos inferiores

256 bytes < nanosegundos


128 KB 2 – 30 nseg

8 GB 60 nseg

>1000 GB 10 mseg

segs

R.Mitnik 9 Arquitectura de Computadores


Memoria Caché
Capítulo 5 : Sistemas de Memoria

Fundamentos del uso de la Memoria Caché


 Una memoria caché es una memoria pequeña y
rápida ubicada cerca de la CPU

 En ella se almacenan instrucciones y datos utilizados


frecuentemente.

 Los datos (e instrucciones) son buscados


primeramente en la memoria caché, y posteriormente
en la memoria principal

R.Mitnik 10 Arquitectura de Computadores


Fundamentos del uso
Capítulo 5 : Sistemas de Memoria – Memoria Caché

 Agrega complejidad y costo al sistema


 Controladores especiales
 Lógica de control
 Tiempo de acceso a datos puede aumentar

 El uso de la memoria caché es una apuesta


 Supuesto: Localidad de referencia
 Temporal  si uso un dato, pronto lo voy a usar de nuevo
 Espacial  si uso un dato, voy a usar los cercanos a él

 Si mis supuestos no se cumplen el rendimiento del sistema


empeora

R.Mitnik 11 Arquitectura de Computadores


Fundamentos del uso
Capítulo 5 : Sistemas de Memoria – Memoria Caché

 Localidad de referencia espacial:


 Ej. Base de datos de alumnos
 En memoria probablemente los datos estén cerca
 Estructura de datos optimiza ciertos accesos
 ej: datos de un alumno juntos

 Si acceso los datos por direccionamiento de memoria, para


qué tenerlos juntos (tiempos de acceso iguales)
 Sin caché: localidad de referencia espacial no importa
 Con caché: localidad de referencia espacial es fundamental

R.Mitnik 12 Arquitectura de Computadores


Memoria Caché
Capítulo 5 : Sistemas de Memoria

Funcionamiento
 Memoria caché es una caja negra entre la CPU y la
memoria
 CPU ya no conversa con la memoria principal, sino que con la
caché

R.Mitnik 13 Arquitectura de Computadores


Funcionamiento
Capítulo 5 : Sistemas de Memoria – Memoria Caché

 CPU pide un dato a memoria


 Controlador de memoria caché intercepta este requerimiento
 Revisa si tiene una copia de dicho dato

 Si lo tiene, la entrega inmediatamente


 El requerimiento nunca llegó a memoria principal
 Se denomina acierto (cache hit)
 Acceso demoró 5 [ns] en vez de 100 [ns]

 Si no lo tiene, la pide a memoria principal


 Controlador pasa el dato a la CPU…
 … y además se guarda una copia en su memoria cache
 Se denomina fallo (cache miss)
 Acceso demoró 100 [ns] + miss penalty

R.Mitnik 14 Arquitectura de Computadores


Funcionamiento
Capítulo 5 : Sistemas de Memoria – Memoria Caché

 Sistemas actuales tienen tasas de acierto


de entre 80 y 99%

Increible!!!

R.Mitnik 15 Arquitectura de Computadores


Memoria Caché
Capítulo 5 : Sistemas de Memoria

 ¿Qué pasa si no quiero leer, sino que escribir en


memoria?

 ¿Qué pasa si se llenó la caché, qué borro?

 ¿Cómo se qué tengo guardado en la caché?

R.Mitnik 16 Arquitectura de Computadores


Memoria Caché
Capítulo 5 : Sistemas de Memoria

Elementos de diseño

 Tamaño
 Función de correspondencia
 Algoritmo de sustitución
 Política de escritura
 Tamaño de líneas
 Número de cachés (L1, L2, L3)

R.Mitnik 17 Arquitectura de Computadores


Elementos de diseño
Capítulo 5 : Sistemas de Memoria – Memoria Caché

Tamaño
 Trade off:
 Tamaño pequeño
  rapidez
  costo
  direccionamiento
 Tamaño grande
  accesos a memoria principal

 Superficie disponible en el chip o tarjeta

 Tamaño óptimo: 1Kb – 512Kb

R.Mitnik 18 Arquitectura de Computadores


Organización
Capítulo 5 : Sistemas de Memoria – Memoria Caché

¿Cómo se organiza la caché?


 En abstracto, es una tabla

 Esta tabla está dividida en líneas

 Una línea es
 un conjunto de bytes
 No es un solo byte!!!

 Cuando hay un miss, la caché no toma un solo byte,


sino que guarda una línea completa

R.Mitnik 19 Arquitectura de Computadores


Organización
Capítulo 5 : Sistemas de Memoria – Memoria Caché – Elementos de diseño

Caché:
Dir Datos
Nº Etiqueta Bloque
0
0
1
1
2 Bloque: 2
3 K palabras 3
: : Línea

2n>>CK

Memoria C-1
principal
2n-1 K palabras
R.Mitnik 20 Arquitectura de Computadores
Organización
Capítulo 5 : Sistemas de Memoria – Memoria Caché – Elementos de diseño

 Tamaño de
 Caché C líneas
 memoria principal  2^n - 1 palabras

 Tamaño de cada
 línea de caché K palabras
 bloque de memoria principal K palabras

 Memoria caché mucho menor que memoria principal


 C x K << 2^n – 1
 ¿Cómo hacemos corresponder un bloque a una línea?
 ¿Cómo sabemos qué bloque corresponde a qué línea?

R.Mitnik 21 Arquitectura de Computadores


Resumen
Capítulo 5 : Sistemas de Memoria – Memoria Caché

Resumen
 Caché permite almacenar un subconjunto de los datos de la
memoria principal en una memoria mucho más rápida

 Funcionamiento basado en supuesto localidad de referencia


temporal y espacial

 Se consulta antes de ir a la memoria principal


 Cache hit: acierto
 Cache miss: falla  miss penalty

 Organización
 Bloques de memoria principal mapeados a líneas en la caché

R.Mitnik 22 Arquitectura de Computadores