Tecnología en construcción de Memoria Principal y Memoria Cache
MEMORIA PRINCIPAL

La dirección emitida
por la CPU se divide en dos campos: el bloque de memoria principal y el
desplazamiento dentro del bloque. El bloque de memoria principal en el cual
está incluida una dirección emitida por la CPU se obtiene fácilmente teniendo
en cuenta que los bits menos significativos de la dirección se emplean para
definir el desplazamiento del byte dentro del bloque, y por lo tanto
los demás proporcionan el número de bloque de memoria principal.
donde:
2dir = Espacio de direcciones
físicas
2d = Tamaño del bloque
2e = Número de bloques
e = dir-d
2d = Tamaño del bloque
2e = Número de bloques
e = dir-d
MEMORIA CACHE

La memoria caché se
divide en bloques, todos ellos conteniendo el mismo número de bytes. Cada
bloque contiene un conjunto de datos ubicados en posiciones de memoria
consecutivas. Cada vez que la CPU intenta acceder a una dirección de memoria
que no está en ningún bloque de la caché se produce un fallo de caché, y en caso
contrario un acierto de
caché. La consecuencia del fallo es que se suspende momentáneamente el acceso,
se copia el bloque que contiene la dirección desde la memoria principal a la
memoria caché y a continuación se reanuda el acceso. Desde el punto de vista de
interacción con la memoria caché, la memoria principal se puede ver como un
gran almacén de bloques del mismo tamaño que los bloques de la memoria caché.
Por ejemplo, una
memoria caché de 32 bytes organizada en bloques de 4 bytes tendrá
8 bloques. Si la memoria principal es de 256 bytes, la memoria caché
percibe a la memoria principal como 64 bloques de 4 bytes cada uno.
Toda memoria caché
lleva asociado un controlador de memoria caché, el cual se encarga de gestionar
todas las lecturas y escrituras en la memoria caché y decidir por ejemplo si
una dirección está cacheada, es decir, ubicada dentro de la memoria caché, o
por el contrario se ha producido un fallo de caché.
En general, el
funcionamiento de cualquier memoria caché viene definido por las siguientes
características: estrategia de correspondencia, de reemplazo y de escritura.
FUNCION DE CORRESPONDENCIA (MAPEO)
En Arquitectura de computadoras,
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.
TECNICAS DE LA FUNCION DE CORRESPONDENCIA
La elección de la función de correspondencia
determina cómo se organiza la cache. Pueden utilizarse tres técnicas: directa,
asociativa y asociativa por conjuntos:
Directa
Es la técnica más simple, consiste en hacer corresponder cada bloque de
memoria principal a sólo una línea posible de cache, en donde la
correspondencia se expresa como:
- I = J módulo M
- I = Número de línea cache
- J = Número de bloque de memoria principal.
- M = Número de líneas en la cache.

Asociativa
Este tipo de correspondencia supera la desventaja planteada en la
directa, permitiendo que cada bloque de memoria principal pueda cargarse en
cualquier línea de la cache. En este caso, la lógica de control de la cache
interpreta una dirección de memoria simplemente como una etiqueta y un campo de
palabra. El campo de etiqueta identifica unívocamente un bloque de memoria principal.
Para determinar si un bloque está en la cache, su lógica de control debe
examinarse simultáneamente todas las etiquetas de líneas para buscar una
coincidencia. Con la correspondencia asociativa hay flexibilidad para que
cualquier bloque sea reemplazado cuando se va a escribir uno nuevo en la cache.
Los algoritmos de reemplazo o sustitución, discutidos más adelante en esta
sección, se diseñan para maximizar la tasa de aciertos. La principal desventaja
de la correspondencia asociativa es la compleja circuitería necesaria para
examinar en paralelo las etiquetas de todas las líneas de cache.
Asociativa por conjunto
Se reconoce como una solución de compromiso que recoge lo positivo de
las correspondencias directa y asociativa, sin presentar sus desventajas. En
este caso, la cache se divide en v conjuntos cada uno de k líneas. Las
relaciones que se tienen son:
- M = V×K
- I = J módulo V
- I = Número de conjuntos de cache
- J = Número de bloque de memoria principal
- M = Número de líneas de la cache

Comentarios
Publicar un comentario