MEMORIA CACHE
Tema 6: Memoria Caché.
Objetivos:
Introducir la terminología y los principios básicos de funcionamiento de la memoria caché,
resaltando la localidad referencial de los programas que explican su elevado rendimiento.
Analizar las alternativas de diseño que determinan el comportamiento de una caché,
resaltandola función de correspondencia, las políticas de búsqueda y sustitución de
bloques, y el mantenimiento de la coherencia con memoria principal en las escrituras.
Estudiar los factores que más influencia tienen en el rendimiento de una caché junto a las
alternativas de diseño hardware y software que permiten optimizar dichos factores.
Analizar el sistema de memoria caché dealgunos procesadores, especialmente el del ARM.
Contenido:
1. Principios básicos de funcionamiento de la memoria caché
2. Elementos de diseño.
3. Factores que determinan el rendimiento de la memoria caché.
4. Ejemplos de sistemas de memoria caché.
La velocidad de la memoria se ha distanciado progresivamente de la velocidad de los
procesadores. En la figura siguiente se muestran las gráficasde la evolución experimentada por el
rendimiento de las CPUs y las memoria DRAM (soporte de la memoria principal de los
computadores actuales) en los últimos años. Las curvas muestran que el rendimiento de la CPU
aumentó un 35% anual desde 1980 hasta 1987; y un 55% anual a partir de ese año. En cambio la
memoria ha mantenido un crecimiento sostenido del 7% anual desde 1980 hasta la fecha.Esto
significa que si se mantiene la tendencia, el diferencial de rendimiento no sólo se mantendrá sino
que aumentará en el futuro. Para equilibrar esta diferencia se viene utilizando una solución
arquitectónica: la memoria caché
100.000
CPU
10.000
55%
1000
Diferencia
progresiva
100
Memoria
(DRAM)
10
35%
7%
0.1
1980
1987
2000
Evolución de la mejora derendimiento de la CPU y memoria DRAM
64 KB (DRAM)
1
Estructura de Computadores, Facultad de Informática, UCM, Curso 11-12
La memoria caché es una memoria pequeña y rápida que se interpone entre la CPU y la
memoria principal para que el conjunto opere a mayor velocidad. Para ello es necesario mantener
en la caché aquellas zonas de la memoria principal con mayor probabilidad de serreferenciadas.
Esto es posible gracias a la propiedad de localidad de referencia de los programas.
1.1. Localidad de referencia: temporal y espacial
Los programas manifiestan una propiedad que se explota en el diseño del sistema de gestión
de memoria de los computadores en general y de la memoria caché en particular, la localidad de
referencias: los programas tienden a reutilizar los datos einstrucciones que utilizaron
recientemente. Una regla empírica que se suele cumplir en la mayoría de los programas revela que
gastan el 90% de su tiempo de ejecución sobre sólo el 10% de su código. Una consecuencia de la
localidad de referencia es que se puede predecir con razonable precisión las instrucciones y datos
que el programa utilizará en el futuro cercano a partir del conocimientode los accesos a memoria
realizados en el pasado reciente. La localidad de referencia se manifiesta en una doble dimensión:
temporal y espacial.
Localidad temporal: las palabras de memoria accedidas recientemente tienen una alta
probabilidad de volver a ser accedidas en el futuro cercano. La localidad temporal de los programas
viene motivada principalmente por la existencia de bucles.Localidad espacial: las palabras próximas en el espacio de memoria a las recientemente
referenciadas tienen una alta probabilidad de ser también referenciadas en el futuro cercano. Es
decir, que las palabras próximas en memoria tienden a ser referenciadas juntas en el tiempo. La
localidad espacial viene motivada fundamentalmente por la linealidad de los programas
(secuenciamiento lineal de las...
Regístrate para leer el documento completo.