Está en la página 1de 3

MEMORIA CACHE

Debemos tener en cuenta que la velocidad de acceso a la Memoria Principal es


fundamental en el rendimiento en el proceso de datos. Por tal motivo se puso toda la
atención a incrementar las velocidades de acceso a memoria. Apareció la memoria
Caché.

La memoria caché es una pequeña memoria de almacenamiento local, construida


generalmente con memorias estáticas (SRAM) de muy alta velocidad y costosas. La
misma se encuentra ubicada entre la CPU y la Memoria Principal obteniendo como
resultado engañar a la CPU haciéndole creer que posee toda una Memoria Principal de
rápido acceso. Esta memoria es de menor capacidad que la MP y el éxito de la misma
radica en que el microprocesador opere la mayor parte del tiempo desde la caché.

La arquitectura básica de una memoria caché es la siguiente:


Memoria de Etiquetas: Contiene una lista de etiquetas
que hacen referencia a las direcciones
de la MP que están almacenadas en la Caché. Memoria Memoria
Además posee una palabra de estado por cada De De
etiqueta. Etiquetas Datos
Memoria de Datos: Contiene las instrucciones o
datos que son usados mas frecuentemente por el
microprocesador. Se agrupa en conjunto de datos.
(Líneas)
Lógica de Control: Se encarga entre otras cosas
de determinar si un dato se encuentra o no en la Lógica de control de la Caché
memoria Caché, generando la señal de presencia
o ausencia respectivamente.

Se utilizan dos principios en los cuales se basa almacenar en la memoria caché los datos
mas usados. Estos son la Vecindad Espacial y la Vecindad Temporal. El primero
corresponde a la adyacencia de las instrucciones (si se ejecuta una instrucción lo más
probable es que se ejecute la siguiente), y el segundo se refiere a que los programas
tienden a usar los datos mas recientes.

En cuanto a la conexión de la memoria caché, ésta puede ser en serie o en paralelo. En


el primer caso todas las peticiones a MP se envían en primer lugar a la memoria caché.
En caso de no estar el dato en la caché, ésta realiza la petición finalmente a la MP. En la
conexión paralelo el pedido de petición se hace simultáneamente tanto a la caché como
a la MP. Si el dato está en la caché genera una señal a la MP para abortar la búsqueda
del dato.

Ventajas serie: Menores peticiones a la MP, por lo tanto menor uso de utilización del
bus. Permite que mientras el microprocesador accede a la caché, otros dispositivos
acceden a la MP. La desventaja es la pérdida de tiempo en caso de no estar el dato en la
caché.

Ventajas paralelo: Ubicación de la caché en paralelo permitiendo quitarla del sistema


sin realizar modificación alguna.

Organización de la memoria caché:

 Caché totalmente asociativa: Cada bloque de la MP puede almacenarse en cualquier


posición (línea) de la memoria caché. Van a estar almacenadas las últimas
direcciones de MP que hayan sido accedidas. El inconveniente está en que hay que
chequear toda la memoria de etiquetas para saber si se encuentra o no la dirección
de memoria principal. Por tal motivo la memoria caché con éste tipo de
organización deberá ser de un tamaño chico (4 KB o menos). Es la de mejor
rendimiento pero poca capacidad.

 Caché de correspondencia directa (Asociativa de una vía): Cada bloque de la MP


que se deba almacenar en la caché, solo puede hacerlo en una posición (línea) de
memoria específica de ésta. Se basa en la división de la MP en páginas del tamaño
de la memoria caché almacenando en la memoria de etiquetas solo el número de la
página almacenada. Para entornos multitarea o multiusuario éste tipo de
organización no es muy conveniente debido a la posibilidad de estar actualizando
continuamente una determinada posición de la caché.

 Caché asociativa de n vías: Funciona como n cachés de correspondencia directa.


Mientras más vías tenga, más complicada resultará la lógica de control.

Actualización de la memoria caché

Consiste en el método a emplear cuando se produce una ausencia en la memoria caché.


Para dicha actualización existen distintos algoritmos para reemplazar un dato de la
caché por otro nuevo. Los más usados son el Random y el LRU. El primero actualiza de
forma aleatoria cualquier línea de la caché, en cambio con LRU se sustituye aquella
línea que lleva mayor tiempo sin ser accedida. Otro es por ejemplo LIFO,

Actualización de la Memoria Principal

En el caso que se modifique por parte del microprocesador un dato de la memoria


caché, dicha información deberá modificarse en la MP debido por ejemplo al tener que
utilizar un periférico el dato actualizado. Hay tres formas de actualización de la
memoria caché:

 Escritura inmediata (Write Through): En éste método, todas las escrituras del
microprocesador en la memoria caché son traspasadas inmediatamente a la MP. Si
bien el método es simple el rendimiento se reduce debido al tiempo empleado en
escribir la MP teniendo una alta utilización del bus.

 Escritura diferida (Posted Write Through): En éste método la caché incorpora una
serie de registros intermedios de escritura. A los mismos llegan las escrituras en
caché, liberándose al procesador rápidamente. A medida que el bus de memoria
permanece ocioso, el controlador de la caché va actualizando los datos en la MP.

 Escritura obligada (Write Back): Las actualizaciones en la MP se realizan solo si


resulta estrictamente necesario. Esto sucede en dos casos: 1) En el caso que otro
dispositivo va a leer el dato de la MP. Previo a dicha lectura la caché deberá
actualizar la MP. 2) El caso que se modifique una posición de la caché que ha sido
previamente modificada. Previamente a la actualización de la caché se actualiza la
MP.

Como comentario final, podemos indicar en la misma se encuentran los “registros cache
invisibles” que están asociados a los registros de segmento, cuando el microprocesador
trabaja en modo protegido. Estos registros contienen la base, límites y atributos. (Ver
paginación y Segmentación).

También podría gustarte