Memoria Cache
Memoria rápida y
pequeña.
Situada entre el CPU y la memoria principal
(relativamente grande y
lenta).
Puede encontrarse dentro del
chip del CPU o en un módulo
externo a él.
Contiene una copia de
partes de la memoria principal.
Se trata de un banco de SRAM de muy alta velocidad, que contiene una copia de los datos e instrucciones que están en memoria principal
El arte consiste en que esta copia esté disponible justo cuando el procesador la necesita permitiéndole acceder a esos ítems sin recurrir en tiempos de espera
Combinada con una gran cantidad de memoria DRAM, para almacenar el resto de códigos y datos, resuelve el problema mediante una solución de compromiso típica.
Requiere de hardware adicional que asegure que este pequeño banco de memoria cache contenga los datos e instrucciones mas frecuentemente utilizados por el procesador.
RAM dinámica (DRAM)
Consumo mínimo. Capacidad de
almacenamiento comparativamente alta.
Costo por bit bajo. Tiempo de acceso alto
(lento), debido al circuito de regeneración de carga.
Si construimos el banco de memoria utilizando RAM dinámica, no aprovechamos la velocidad del procesador.
RAM estática (SRAM)
Alto consumo relativo. Capacidad de
almacenamiento comparativamente baja.
Costo por bit alto. Tiempo de acceso bajo
(es mas rápida). Si construimos el banco
de memoria utilizando RAM estática, el costo y el consumo de la computadora son altos.
Tamaño del bloque Rendimiento
•Relación entre los bloques de MP y los que se
encuentran en la Cache.
• Determina la ubicación qué ocupará el bloque en
la memoria caché. ¿hay sitio?
Función de correspondencia
• Determina qué bloque se tiene que reemplazar si no hay sitio.
El algoritmo del reemplazo o sustitución
• Cada vez que el bloque se actualiza.
• Cada vez que el bloque se reemplace.
• ¿Cuándo tiene lugar la operación de escritura en memoria?
• Minimiza la operación de la memoria.
• Deja la memoria en un estado obsoleto
Política de escritura.
Directa Asociativa Asociativa por
conjuntos
Cada bloque de memoria principal se asocia a una línea de la memoria cache
Cada bloque de memoria
principal se carga en
cualquier línea de la memoria
cache
Cada bloque de memoria
principal se carga en
cualquier línea de un conjunto i de líneas de la memoria cache
• Todas las operaciones de escritura se hacen tanto en cache como en memoria principal
• No hay incoherencia
• Mucho tráfico
Escritura
inmediata
• Las actualizaciones se hacen solo en la cache
• Hay incoherencia
• Rápida
• Poco tráfico
Escritura diferida o
postescritura
Política de actualización
•¿De qué depende el numero de la
cache?
•¿Cuántos niveles de chache?
•¿Se debe compartir una única
cache para instrucciones y datos o
debe haber caches separadas?
PRIMER NIVEL DE CACHE
SEGUNDO NIVEL DE CACHE
TERCER NIVEL DE
CACHE
CACHE DE DATOS E INSTRUCCIONES
MISMO ENCAPSULADO
MAYOR CAPACIDAD DE ALMACENAMIENTO
POLITICA POSTESCRITURA
MEMORIA ASOCIATIVA POR CONJUNTOS
MENOR CAPACICDAD DE ALMACENAMIENTO L1 MEMORIA ASOCIATIVA
ENCAPSULADO INDEPENDIENTE
Al incluir la caché dentro del mismo chip de la CPU ¿ merece la pena disponer de otra cache externa ?
•No conviene que la caché sea muy grande,
ya que se pierde velocidad de acceso.
•Espacio reducido del chip
•La falta de caché genera accesos a
memoria principal con un tiempo de acceso
lento.
Si
¿Cache compartida o separada?
• Equilibrio automático de instrucciones y datos
• Mayor tasa de aciertos
• Mas simple de diseñar e implementar
compartida
• (arquitectura Harvard)
• En procesadores con preferching y pipeline se permite acceso a datos mientras se extrae la siguiente instrucción
separadas
Top Related