Vous êtes sur la page 1sur 18

MEMORIA CACHE

DEFINICION
• La memoria caché es un búfer especial de memoria que poseen las
computadoras, que funciona semejante a la memoria principal pero es
de menor tamaño y de acceso más rápido.
• La caché es una memoria que se sitúa entre la 
unidad central de procesamiento (CPU) y la memoria de acceso
aleatorio(RAM) para acelerar el intercambio de datos.
• Cuando se accede por primera vez a un dato, se hace una copia en la
caché; los accesos siguientes se realizan a dicha copia, haciendo que
sea menor el tiempo de acceso medio al dato.
PRINCIPIOS BASICOS
• Los programas tienden a reutilizar los datos e
instrucciones que utilizaron recientemente
Localidad de • Una regla empírica que se suele cumplir en la
referencia 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.

La localidad temporal de los programas viene motivada


Localidad temporal
principalmente por la existencia de bucles.
La localidad espacial viene motivada fundamentalmente por
la linealidad de los programas (secuenciamiento lineal de
Localidad espacial
las instrucciones) y el acceso a las estructuras de datos
regulares.
Cuando una dirección se
presenta en el sistema
caché pueden ocurrir dos
cosas:
• Acierto de caché (hit): el
contenido de la dirección se
encuentre en un bloque
ubicado en una línea de la
caché.
• Fallo de caché (miss): el
contenido de la dirección no
se encuentre en ningún
bloque ubicado en
alguna línea de la caché.
JERARQUIA

La jerarquía de memoria es la organización piramidal de la memoria en


niveles que tienen las computadoras.
PUNTOS BÁSICOS
Cuanta más memoria haya disponible, más podrá
Capacidad
utilizarse.

La velocidad óptima para la memoria es la velocidad a la que el 


Velocidad microprocesador puede trabajar, de modo que no haya tiempos de espera
entre cálculo y cálculo, utilizados para traer operandos o guardar
resultados.

El coste de la memoria no debe ser excesivo, para que sea factible


Costo por bit construir un equipo accesible.
ELEMENTOS DE DISEÑO
Tamaño de cache Se que entre más grande es el tamaño del cache, mayor
es el número de puertas aplicadas en direccionar al
cache, por lo tanto, caches grandes son ligeramente
más lentas que cache pequeñas.

Tamaño de cache de procesadores


✓ Al elegir la función de correspondencia se determina la
Funcion de correspondencia organización de cache.
✓ Técnicas: directa, asociativa y asociativa por
conjuntos.

Para conseguir alta velocidad de comunicación es


Algoritmo de sustitución necesario que los algoritmos sean implementados en
hardware
El algoritmo más efectivo es el “utilizado menos
recientemente” (LRU, least-recently used)

Política de escritura ✓ Si un bloque antiguo en la cache no debe ser


modificado, puede sobrescribirse con el nuevo bloque
sin necesidad de actualizar.
Para mantener la coherencia de cache cualquier
Política de escritura: Técnica otro módulo de procesador-cache puede
– Escritura inmediata monitorizar el tráfico, una desventaja es que se
genera mucho tráfico con la memoria y puede
originar un cuello de botella.

Minimizar la escritura en memoria. Todas las


Política de escritura: Técnica-
actualizaciones se realizan en la cache, cuando se tiene
Postescritura
una actualización se activa un bit ACTUALIZAR asociado
a la línea de cache.

Existen dos aspectos de diseño: número de niveles


Numero de caches de caches y, usar caches unidas a caches
separadas.
Cache multinivel
Cache de dos niveles
Suponiendo que el procesador quiere acceder a una posición
de memoria que no se encuentra en L1, entonces el
Porque incluir cache L2
procesador accederá a la memoria principal mediante el bus
,el bus es lento,se reducen prestaciones, por lo tantos,
utilizar L2 ayuda a recuperar esa información faltante.

Dos características de diseño


de las caches multinivel

Para cache L2 algunos diseños no usan el bus del


Primero sistema para las transferencias entre el procesador
y la cache L2, utilizan un camino de datos alternos,
y, se reduce el tráfico en el bus de sistema

Al reducir las dimensiones de componentes del


Segundo procesador, se puede incluir en el procesador el nivel L2
de cache, por consiguiente, se mejora las prestaciones
globales del sistema.
Al aparecer las caches on- chip los diseños contenían
Unión o separación de caches almacenamiento de referencia tanto los datos como
instrucciones.
ORGANIZACIÓN DE LA CACHE

• El proceso de aparear las localidades de memoria con las líneas de


cache se llama mapeo. En las caches, cada línea mantiene un
registro de las direcciones de memoria (conocido como la etiqueta) a
las que representa. La etiqueta se usa para seguir la pista a cuál
área de memoria está almacenada en una línea particular de cache.
Caches Mapeadas El mapeo directo, tal como se muestra en, es el
Directamente algoritmo más sencillo para decidir cómo mapear
la memoria en la cache.
La memoria se mapea en bloques del mismo
tamaño que la cache.

Otra forma de verlo es imaginar un resorte de


metal con una línea de gis marcada a toda su
longitud. Cada vuelta alrededor del resorte, se
encuentra la línea de gis en el mismo lugar. Cada
referencia causa un fallo de caché. El término
coloquial para este fenómeno es thrashing.
Cuando el procesador busca un dato, pregunta
Cache Completamente simultáeamente a todas las líneas de cache si alguna
Asociativa de ellas lo tiene. La línea que contiene dicho dato alza
su mano y dice "Lo tengo"; si ninguna contesta, ocurre
una falla de caché.
Las caches completamente asociativas presentan una
utilización superior, cuando se comparan con caches
directamente mapeadas

Ahora imagine que tiene dos caches directamente


mapeadas, sentadas una junto a otra Aquella que elija
reemplazar durante una falla de cache queda sujeta a
Cache Asociativa en Conjunto
decisión dependiendo de cuál línea fue usada hace más
tiempo -en la misma forma en que se decide en una
cache completamente asociativa, excepto que ahora
sólo hay dos opciones. A esto se le llama una cache
asociativa
Hasta el momento hemos pasado por alto los dos tipos
Cache de Instrucciones de información que se espera encontrar en una cache
ubicada entre la memoria y la CPU: instrucciones y
datos. Pero si piensa en ello, la demanda de datos se
encuentra separada de la de instrucciones.
GRACIAS POR SU
ATENCION

Vous aimerez peut-être aussi