Este documento resume los puntos principales del libro de Stallings sobre la memoria cache. Explica que la memoria cache tiene como objetivo lograr que la velocidad de la memoria sea lo más rápida posible mediante el almacenamiento de copias de partes de la memoria principal en una memoria más pequeña y rápida. También describe los elementos clave del diseño de la memoria cache, como el tamaño, la función de correspondencia y los diferentes tipos como directa, asociativa y asociativa por conjuntos.
2. Introducción
Este documento es un breve resumen de lo que Stallings nos habla en su libre, es una
explicación concreta , de los puntos mas importantes que se encuentran en su texto
hablándonos ampliamente de lo que es la memoria cache, sus elementos y los tamaño
en la que se pueden encontrar, también este documento muestra algunas imágenes que
están en el libro de Stallings sobre el funcionamiento que según Stallings es de la memoria
cache.
3. Memoria cache
Las memorias de los computadores, aunque parezcan conceptualmente sencillas,
presentan tal vez mas amplia diversidad de tipos, tecnología, estructura, prestaciones y
coste, entre todos los componentes de un computador. Ninguna tecnología es optima
para satisfacer las necesidades de memoria de un computador, un computador
convencional esta equipado con una jerarquía de subsistemas de memoria, algunos
internos, y otros externos.
El objetivo de la memoria cache es lograr que la velocidad de la memoria sea lo mas
rápida posible. Consiguiendo al mismo tiempo un tamaño grande al precio de memorias
semiconductoras menos costosas.
4. Hay una memoria principal relativamente más grande y mas lenta, junto con una
memoria cache mas pequeña y rápida. La cache contiene una copia de partes de la
memoria principal. Cuando el procesador intenta leer una palabra de memoria. Se hace
probación para determinar si la palabra esta en la cache, entonces se entrega dicha
palabra, por lo contrario un bloque de memoria principal, consistente es un cierto numero
de palabras, se transfiere a la cache y después la palabra se entrega al procesador, es
probable que se hagan referencias futuras a la misma posición de memoria o a otras
palabras del mismo bloque.
La cache consta de C líneas. Cada línea contiene K palabras, mas una etiqueta de unos
cuantos bits; denominándose tamaño de línea al numero de palabras que hay en la línea.
El numero de líneas es considerablemente menor que el numero de bloques de memoria
principal. En todo momento un subconjunto de los bloques, de memoria reside en líneas
de cache. Si se lee una palabra de un bloque que líneas, una línea dada no puede
dedicarse univoca y permanentemente a un bloque, cada lineae incluye una etiqueta
que identifica que bloque particular almacena. La etiqueta es usualmente una porción
de la dirección de memoria principal, como describiremos mas adelante en esta sección.
5.
6. Elementos del diseño de la cache:
El diseño de caches para HPC difiere bastante del diseño para otras plataformas
hardware y aplicaciones. Diversos investigadores han concluido que las aplicaciones de
HPC presentan unas presentaciones pobres en arquitecturas de computadores que
emplean caches. Desde entonces, otros investigadores han mostrado que una jerarquía
de caches puede ser útil para mejorar las prestaciones si el software de aplicación
permite una explotación adecuada de cache.
Tamaño de cache:
Cuanto mas grande es, mayor es el numero de puertas implicadas en direccionar la
cache. El resultado es que caches grandes tienden a ser ligeramente mas lentas que las
pequeñas.
El tamaño de cache esta tambien limitado por las superficies disponibles de chip y de
tarjeta.
Funcion de corerspondencia:
Ya que hay menos lineas de cache que bloques de memoria principal. Se necesita un
algoritmo que haga corresponder bloques de memoria principal a lineas de cache. Se
requiere algun medio para determinar que el bloque de memoria principla ocupa
actualmente una linea dada de cache. La eleccion de la funcion de correspondencia
determina como se organiza la cache.
Pueden utilisarse tres tecnicas: directa, asociativa, y asociativa por conjuntos.
- Correspondencia directa. La tecnica mas sencilla, denominada correspondencia
directa, consiste en hacer corresponder cada bloque que memoria principal a
solo una linea posible de cache.
- Correspondencia asociativa. La correspondencia asocitiva supera la desventaha
de la directiva, permitiendo que cada bloque de memoria principal pueda
cargarse en cualquier linea de la cache.
- Correspondencia asociativa por conjuntos. La correspondencia asociativa por
conjuntos es una solucion de compromiso que recoge lo positivo de las
correspondencias directa y asociativa por conjuntos es una solucion de
compromiso que recoge lo positivo de las correspondencias directa y asociativa.
Sin presentar sus desventajas.