Está en la página 1de 3

Memoria Cache

Introducción.

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 ser referenciadas. Esto es
posible gracias a la propiedad de localidad de referencia de los programas.

¿Cuál es su finalidad? Pues que este tipo de datos sean de acceso instantáneo para el procesador,
ya que se trata de información relevante y que debe estar a la mano de manera muy fluida. Los
sistemas de hardware y software llamados caché, almacenan este tipo de datos de manera
duplicada y por esta razón su acceso es tan veloz.

Principios

Localidad de referencia

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 e instrucciones 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.

Localidad temporal

Las palabras de memoria accedidas recientemente tienen una alta probabilidad devolver a ser
accedidas en el futuro cercano. La localidad temporal de los programas viene motivada
principalmente por la existencia de bucles.

Localidad espacial

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 instrucciones) y el acceso a las estructuras de datos regulares.

Elementos de Diseño
A la hora de diseñar un sistema de memoria cache hay que elegir entre una serie de
alternativas para cada uno de los siguientes elementos de diseño:
la función de correspondencia es un algoritmo que permite corresponder los bloques de memoria
a las líneas de cache. Se requiere algún medio para determinar que bloque de memorial principal
ocupa una línea dada de cache, el método surge debido a la minoría de líneas de cache en relación
con los bloques de memoria principal. Está fundamentada en la correspondencia matemática que
establece que dados dos conjuntos: X e Y, y un Grafo f, que determina alguna relación binaria
entre algún elemento de X con algún elemento de Y, diremos que ese grafo: f, define una
correspondencia1 entre X e Y, cuando al menos un elemento de X está relacionado con al menos
un elemento de Y.

Algoritmo de caché

En computación, los algoritmos de cache (referidos también como algoritmos de reemplazo


o políticas de reemplazo) son programas que optimizan la gestión de la información en la
memoria cache del ordenador. Cuando el cache está lleno, el algoritmo elije qué elementos
elimina para liberar espacio y poder añadir nuevos elementos.

El tiempo medio de acceso en memoria es:

donde:

T= tiempo medio de acceso al elemento

m = probabilidad de fallo = 1 - (probabilidad de acierto)

Tm = tiempo para hacer un acceso a memoria cuando ha habido un fallo (o, con cache multinivel,
tiempo medio entre accesos al elemento en memoria para el siguiente nivel de cache)

Th = latencia: tiempo para acceder al elemento en cache cuando ha habido un acierto

E = efectos secundarios, como colas mantenidas por los multiprocesadores

Política de Escritura

  A medida que aumenta el tamaño de bloque la tasa de aciertos primero aumenta debido
al principio de localidad, pero mas tarde decrecerá ya que cada palabra adicional estará
mas lejos de la palabra requerida, y por tanto es mas improbable que sea necesaria a
corto plazo. La relación entre tamaño bloque y tasa de aciertos es compleja, dependiendo
de las características de localidad de cada programa particular entre 4 y 8 unidades
direccionables.

Tamaño de línea

  A medida que aumenta el tamaño de bloque la tasa de aciertos aumenta debido al


principio de localidad, mas tarde decrecerá ya que cada dato adicional estará mas lejos de
la dato requerido, y por tanto es mas improbable que sea necesaria a corto plazo. La
relación entre tamaño bloque y tasa de aciertos es compleja, dependiendo de las
características de localidad de cada programa particular entre 4 y 8 unidades
direccionables.
Numero de caches

  Con el aumento de densidad de integración (ley Moore) ha sido posible tener una cache
en el mismo chip del procesador.

  Interna: reduce el tiempo de acceso pues elimina el acceso al bus. Es pequeña ya que debe
caber en la CPU.

Externa: Grande (2MB) y suele utilizar emplazamiento asociativo por conjuntos

Quiz

Escoger la mejor respuesta.

1)

6) package quiz;

public class Quiz {

public static void main(String[] args) {

double b=5.2, a=8.45;

int O =(int) (a+b);

System.out.print(0);

También podría gustarte