Jerarquía de memorias:Existe una gran diferencia entre las velocidades de la CPU y
memoria. Para acortar esa diferencia de velocidad se emplea un sistema jerárquico de
memoria, la idea es tener cerca de la CPU las memorias más rápidas y lejos de la CPU
las más lentas.Los objetivos de la jerarquía de memoria es conseguir el rendimiento
de una memoria de gran velocidad al coste de una memoria de baja velocidad.
CPU
Cache CPU
Memoria physical
memoria solida
memoria virtual
La pirámide del gráfico antecesor, está construida por diversos tipos de memoria, de
tal manera que a medida que se va de arriba hacia abajo, sucede lo siguiente:
• Disminuye el coste por bit
• Aumenta la capacidad
• Aumenta el tiempo de acceso
• Disminuye la frecuencia de acceso a la memoria desde la CPU
Caché de 1er nivel (L1): Esta caché está integrada en el núcleo del procesador,
trabajando a la misma o similar velocidad.
Caché de 2º nivel (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, alcanzando en llegar a
superar los 2MB.
• Caché de 3º nivel (L3): Se encuetra tambien dentro del microprocesador y es
compartida por todos los nucleos. La caché L3 es mayor que la caché L2.
memoria principal
a memoria principal es una memoria volátil, esta tiene poca capacidad pero
alta velocidad. En la misma se guardan los datos y programas que el CPU está
procesando. Un ejemplo de esta memoria es la memoria RAM. La memoria
secundaria es una memoria no volátil, en la misma se guarda información de
manera masiva.
memoria secundaria
La memoria secundaria, memoria auxiliar, memoria periférica o memoria externa, también
conocida como almacenamiento secundario, es el conjunto de dispositivos y soportes de
almacenamiento de datos que conforman el subsistema de memoria de la computadora,
junto con la memoria primaria o principal
El Principio de Localidad de Referencia:dice que los accesos a memoria que realiza la
CPU no están uniformemente distribuidos por todo el espacio de direcciones, sino
que, temporalmente, se concentran en áreas de la memoria,Lo que establece este
principio se debe a que el contenido de cada programa no está esparcido por toda la
memoria, sino que sus instrucciones y datos están contenidos en una o varias
secciones de memoria contigua.
Localidad de referencia temporal :Si en un momento se hace referencia a una ubicación
de memoria particular, entonces es probable que la misma ubicación se refiera de nuevo
en un futuro próximo. Hay proximidad temporal entre referencias adyacentes a la misma
ubicación de memoria. En este caso es común hacer esfuerzos para almacenar una copia
de los datos referenciados en un almacenamiento de memoria más rápido, para reducir la
latencia de referencias posteriores.
Localidad espacial: Si una ubicación de almacenamiento particular se hace referencia en
un momento determinado, entonces es probable que los lugares de memoria cercanos se
refieran en un futuro próximo. En este caso es común intentar adivinar el tamaño y la
forma de la zona alrededor de la referencia actual para la que vale la pena preparar un
acceso más rápido para la referencia posterior.
Localidad Espacial: El aspecto espacial quiere decir que las instrucciones que se
encuentran en la proximidad de una instrucción recientemente ejecutada (en cuanto a sus
direcciones en memoria) también es muy probable que se ejecuten muy pronto.
Falta de Cache: Cuando la CPU intenta leer una palabra de memoria principal, se le
presenta la dirección a la memoria caché y ésta comprueba si tiene el dato
correspondiente a esa dirección. Si es así, entrega el dato; si no, se produce una falta de
caché,con lo que hay que acudir a la memoria principal para leer un bloque de varias
palabras adyacentes en memoria.
Política de Ubicación: La correspondencia entre los bloques de la memoria principal y los
que se encuentran en la caché se denomina “función de correspondencia”. La función de
correspondencia a utilizar se establece mediante la política de ubicación
Política de sustitución:. Cuando la caché está llena, y se referencia una dirección cuyo
bloque no está en la caché, el hardware de la caché debe decidir qué bloque deberá ser
expulsado para dejar espacio al bloque que se acaba de referenciar. El conjunto de reglas
que se utilizan para tomar esta decisión se denominan algoritmos o políticas de
sustitución.
Políticas de actualización: Si la operación es una escritura, la palabra afectada en la
memoria caché deberá actualizarse, en algún momento, en la memoria principal, para que
el contenido de un bloque en la caché sea idéntico al de su correspondiente en memoria
principal. En estos casos, la actualización en memoria principal de los bloques
modificados en la caché se realiza según una política de escritura o de actualización.
POlítica de ubicación(correspondencias):
Correspondencia directa La función más sencilla de correspondencia es la conocida
como correspondencia directa, según la cual cada bloque de memoria principal
solamente puede ubicarse en una única línea de la caché. La línea que le corresponde a
cada bloque se obtiene mediante este algoritmo.
correspondencia asociativa: Con la correspondencia asociativa (o completamente
asociativa) se solventan los problemas de la correspondencia directa, pues aquí se
permite que cada bloque de memoria pueda estar en cualquier línea de la caché, por lo
que mientras la memoria caché no esté llena, no habrá que hacer ninguna sustitución.
Cuando esté llena y haya que traer un nuevo bloque, habrá que sustituir alguno de los
bloques según la política de sustitución más apropiada, es decir, la que genere menos
faltas de caché.
Correspondencia Asociativa de Conjuntos
La correspondencia asociativa de conjuntos combina la economía de la correspondencia
directa con la tasa de aciertos de la correspondencia asociativa. Consiste en agrupar las
líneas de la caché en conjuntos, de tal forma que la función de correspondencia permita
que un bloque de la memoria principal pueda ubicarse en cualquier línea de un conjunto
concreto
Políticas de sustitución: Hay dos enfoques a la hora de elegir una política de sustitución:
el que tiene en cuenta la estadística de utilización de los bloques (la historia de uso), y el
que no lo tiene en cuenta. Entre los primeros se encuentran las políticas LRU y LFU, y
como representantes del segundo enfoque está la política random y la FIFO.
Políticas de actualización()
Write through: La técnica más simple es la escritura o copia inmediata (write through),
según la cual todas las escrituras se realizan tanto en la caché como en la memoria
principal.
Copy back: La otra alternativa es la escritura o copia diferida (copy back), en la cual una
operación de escritura solamente escribe en la caché.