Anda di halaman 1dari 17

MEMORIA CACHÉ

SU ORIGEN

• Debido a la inmensa velocidad que poseen los


procesadores y que a medida del tiempo se han ido
incrementando, haciendo que el limite sea mayor entre la
transferencia de la memoria principal (RAM) y el CPU,
ante esto se plantearon soluciones. una de ellas fue
incrementar la velocidad de la RAM y la otra solución fue
agregar un nuevo componente al PC: La Memoria Caché.
¿QUE ES MEMORIA CACHÉ?
• Es una clase de memoria RAM estática (SRAM) de
acceso aleatorio y alta velocidad, situada entre el CPU y
la RAM, se presenta de forma temporal y automática para
el usuario, haciendo más rápido el acceso a los datos de
uso más frecuente. Se encuentra en el interior del
microprocesador, diseñada para acelerar el procesamiento
de instrucciones del microprocesador, el cuál puede
acceder a los datos almacenados en caché mucho más
rápido que aquellos datos almacenados en la memoria
RAM.
CARACTERÍSTICAS DE LA MEMORIA CACHÉ

• Son memorias muy costosas y por lo tanto de muy poco uso.


• Cuentan regularmente con 80 pines que se insertan en una ranura
especial.
• Tienen por lo general muy poca capacidad de almacenamiento,
pero son muy veloces.
• Puede convivir con otro tipo de memorias en la misma tarjeta
principal (“Motherboard”).
• Actualmente se les clasifica en niveles (“Level”), por lo que se les
identifica como L1, L2 y L3.
ELEMENTOS DEL DISEÑO DE LA MEMORIA CACHÉ

A la hora de diseñar un sistema de memoria caché hay que elegir


entre una serie de alternativas para cada uno de los siguientes
elementos de diseño:

TAMAÑO
• MIENTRAS MÁS PEQUEÑA AUMENTA EL COSTO POR BIT Y ES MÁS
RÁPIDA.

• LA CACHÉ NIVEL 1 O L1 ESTÁ APROXIMADAMENTE EN 512 KB.


• LA CACHÉ NIVEL 2 O L2 ESTÁ APROXIMADAMENTE EN 4 MB.
FUNCIÓN DE CORRESPONDENCIA
• Son algoritmos que hacen corresponder bloques de memoria con líneas caché
estos ayudan a que el manejo de los datos en memoria caché sea de una manera
más rápida y con menos errores.
• Determina las posibles líneas de la caché (marcos de bloque) en las que se
puede ubicar un determinado bloque de la memoria principal que ha sido
referenciado por el programa y hay que llevarlo a memoria caché.
• Existen tres funciones de correspondencia para definir la posible ubicación de
un bloque de memoria principal (Mp) en la memoria caché (Mc):
 Directa.
Es la función más sencilla de correspondencia según la cuál cada bloque de
memoria principal solamente puede ubicarse en una única línea de la memoria
caché.
Asociativa
En este se solventa los problemas de correspondencia directa, aquí se permite que
cada bloque de memoria puede ubicarse en cualquier línea de la caché, por lo que
mientras la memoria caché no este llena no tendrá que hacer ninguna sustitución,
en caso contrario, es decir, cuando la memoria caché este llena y se deba traer un
nuevo bloque se tendrá que sustituir uno de los bloques según la política de
sustitución más apropiada, es decir, la que genere menos fallo de caché.
Asociativa por conjuntos.
Esta correspondencia combina la economía de la correspondencia directa y la tasa
de aciertos de la correspondencia asociativa, en esta correspondencia consiste en
anotar las líneas de la caché en conjuntos de tal forma que la función de
correspondencia permitan que un bloque de memoria principal pueda ubicarse en
cualquier línea de un conjunto concreto.
ALGORITMOS DE SUSTITUCIÓN
• Usan diferentes algoritmos que les permite liberar de datos cada una de las líneas de
la caché. Entre los algoritmos más conocidos están:
 FIFO (First In First Out) : Significa primero en entrar y primero en salir, este
algoritmo consiste en sustituir aquel bloque del conjunto que ha estado más tiempo
en la cache.
 LFU (Least Frequently Used) : Significa utilizado con menor frecuencia, este
algoritmo sustituye aquel bloque del conjunto que ha experimentado menor
referencia, se puede implementar mediante la asociación de un Contador de cada
línea.
 Aleatorio : Estas técnicas no se basan en el grado de utilización, consiste
simplemente en escoger al azar una de todas las líneas y borrarlas.
POLÍTICA DE ESCRITURA
• Determina la forma de actualizar Mp cuando se realizan o operaciones de escritura. Hay que diferenciar dos casos:
cuando la posición de memoria sobre la que se va a escribir está en Mc (acierto) y cuando no lo está (fallo). Frente
a aciertos en la caché existen dos alternativas:
 Escritura directa o inmediata (write through):
 Todas las operaciones de escritura se realizan en Mc y Mp.
 Inconveniente: genera un tráfico importante a Mp.
 Solución: utilización de un buffer de escritura (alpha 21064).
 Postescritura (copy back)
 Las actualizaciones se hacen sólo en Mc.
 Se utiliza un bit de actualización asociado a cada marco de bloque para indicar la escritura del marco en Mp
cuando es sustituido por la política de reemplazamiento.
 Inconveniente: inconsistencia temporal entre Mc y Mp ==> complicación del acceso de la E/S (periférico de
entrada y salida), a memoria que debe realizarse a través de Mc.
• Y frente a fallos en la caché otras dos:
 Asignación en escritura (write allocate): El bloque se ubica en Mc cuando ocurre el fallo de escritura y a
continuación se opera como en un acierto de escritura, es decir, con escritura directa o postescritura.
 No asignación en escritura (No write allocate): El bloque se modifica en Mp sin cargarse en Mc.
POLÍTICA DE BÚSQUEDA
• Determina las condiciones que tienen que darse para buscar un bloque de Mp
y llevarlo a una línea de Mc. Existen dos alternativas principales:
 Por demanda: Se lleva un bloque a Mc cuando se referencia desde la CPU
alguna palabra del bloque y éste no se encuentra en Mc.
 Anticipativa (Prebúsqueda)
o Prebúsqueda siempre: la primera vez que se referencia el bloque Bi se busca
también Bi+1.
o Prebúsqueda por fallo: cuando se produce un fallo al acceder al bloque Bi se
buscan los bloques Bi y Bi+1.
• Business Intelligence (BI “Inteligencia Empresarial o Negocio”):
Es la habilidad para transformar los datos en información, y la información en
conocimiento, de forma que se pueda optimizar el proceso de toma de
decisiones en los negocios.
CLASIFICACIÓN DE LOS FALLOS DE LA
MEMORIA CACHÉ
• Los fallos de la caché se pueden clasificar en tres tipos:
 Forzosos: producidos por el primer acceso a un bloque.
Capacidad: producidos cuando Mc no puede contener todos los
bloques del programa.
Conflicto: (en correspondencia directa o asociativa por conjuntos)
producidos por la necesidad de ubicar un bloque en un conjunto
lleno cuando Mc no está completa.
TIPOS

• En el caso de los microprocesadores, estos


integran de 1 a 3 tipos de memoria caché
denominadas L1, L2 y L3, que significan
(“Level X“) ó traducido es nivel 1, nivel 2
y nivel 3.
MEMORIA L1
• Se encuentra integrada dentro de los
circuitos del microprocesador y eso la
hace más cara y más complicado en el
diseño, pero también mucho más
eficiente por su cercanía al
microprocesador, ya que funciona a la
misma velocidad que él. Esta a su vez
se subdivide en 2 partes.
• L1 DC: (“Level 1 date cache“): se
encarga de almacenar datos usados
frecuentemente y cuando sea necesario
volver a utilizarlos, inmediatamente los
utiliza, por lo que se agilizan los procesos.

• L1 IC: (“Level 1 instruction cache“): se


encarga de almacenar instrucciones usadas
frecuentemente y cuando sea necesario
volver a utilizarlas, inmediatamente las
recupera, por lo que se agilizan los
procesos.
MEMORIA L2
• Integrada también en el procesador, aunque no directamente en el núcleo de este,
tiene las mismas ventajas que la caché L1, aunque es algo más lenta que esta. La
caché L2 suele ser mayor que la caché L1, pudiendo llegar a superar los 2MB. A
diferencia de la caché L1, esta no está dividida, y su utilización está más
encaminada a programas que al sistema.
• Esta anteriormente se encontraba en tarjetas de memoria, para ser insertada en
una ranura especial de la tarjeta principal (Motherboard) y funciona a la velocidad
de trabajo de la misma.
• Actualmente la memoria L2 viene integrada en el microprocesador, se encarga de
almacenar datos de uso frecuente y agilizar los procesos; determina por mucho si un
microprocesador es la versión completa ó un modelo austero. Pueden contar con una
capacidad de almacenamiento Caché de 8 MB, 9 MB en procesadores AMD® e
Intel® y hasta 12 MB en procesadores Intel®.
MEMORIA L3
• Es un tipo de memoria caché más lenta que la L2, muy poco utilizada en la
actualidad. En un principio esta caché estaba incorporada a la placa base, no al
procesador, y su velocidad de acceso era bastante más lenta que una caché de nivel 2
o 1, ya que si bien sigue siendo una memoria de una gran rapidez (muy superior a la
RAM, y mucho más en la época en la que se utilizaba), depende de la
comunicación entre el procesador y la placa base.
• Esta memoria es un tercer nivel que utilizaron primero los procesadores de la firma
AMD® y posteriormente Intel®. Con este nivel de memoria se agiliza el acceso a
datos e instrucciones que no fueron localizadas en L1 ó L2. Si no se encuentra el
dato en ninguna de las 3, entonces se accederá a buscarlo en la memoria RAM.
Pueden contar con una capacidad de almacenamiento Caché de hasta 8 Mb y 9 Mb
sumando L2+L3 en el caso de la nomenclatura AMD®.