Caché Flashcards
¿Para qué sirve una memoria Caché?
La memoria Caché guarda copias de ciertas regiones de la memoria principal para que su acceso sea mucho más rápido.
¿A qué se refiere el principio de localidad de referencia?
Significa que si accedemos a una determinada posición de memoria es muy probable que brevemente tenga que acceder a posiciones cercanas a esta.
¿En qué tipo de memoria se implementa el Caché?
S-RAM (RAM estática)
¿Qué significa mapeo directo en Caché?
Que tiene 1 sola vía.
¿Cómo sabemos adónde guardar un dato en una Caché con 64 filas de 8 columnas donde la memoria principal tiene 256Kb? Asumir mapeo directo.
Como la memoria principal es de 256Kb, cada address será de 16 bits.
Los 3LSB indican la columna (3 bits -> 8 columnas)
Los siguientes 6LSB indican la fila (6 bits -> 64 filas)
Los 7 MSB restantes se guardan en el TAG de la fila resultante.
¿Verdadero o Falso?
Al aumentar la memoria Caché aumentará el rendimiento.
Falso. No necesariamente.
¿Por qué se usan los LSBs para seleccionar la línea?
Porque reduce la probabilidad de colisiones entre datos próximos (Principio de localidad espacial).
¿Qué es una vía?
Es una tabla en el Caché.
¿Qué indican los bits de valid/invalid?
Indica si los valores de esa fila son válidos. Resulta útil en la inicialización, donde en toda la tabla este bit es cero. También se utiliza al trabajar con multiprocesadores con una Caché local.
¿Qué indican los bits de Dirty/Clean?
Si el bit está en 1 (Dirty) significa que el dato en el Caché y en la memoria principal no coinciden, por lo que habrá que actualizar la memoria.
¿Qué indica la política de reemplazo?
Indica sobre qué vía se escribirá la fila nueva.
¿Qué significa Write Through?
Significa que toda operación de escritura actualiza directamente la memoria principal, y en caso de que esa dirección esté presente en el Caché, también la actualiza ahí.
¿Qué significa Write Back?
Significa que la escritura se realiza sobre el dato en Caché, dejando desactualizada la memoria principal. Esta se actualizará cuando una línea del Caché esté por ser desalojada.
¿Qué problema puede generar el Write Back?
Si algún agente externo pretende acceder al dato en la memoria principal, este estará desactualizado.
¿Qué es el Lazy Write?
Es una versión del Write Back donde la actualización en memoria se realiza durante un tiempo muerto después de varios ciclos en los que el dato no cambió.
¿Qué significa Read Hit y Read Miss?
Read Hit es cuando se encuentra el dato a leer en la Caché mientras que el Read Miss es cuando este dato debe traerse de la memoria junto a sus valores cercanos.
¿Qué significa Write Allocate?
Significa que se escribe sobre la memoria principal y se trae un copia de la fila correspondiente al Caché.
¿Qué significa Write Non-Allocate?
Escribe directamente sobre la memoria principal sin traer copias. Sólo copia datos a la Caché en caso de lectura.
¿Qué significa Write Non-Allocate?
Escribe directamente sobre la memoria principal sin traer copias. Sólo copia datos a la Caché en caso de lectura.
Explique los distintos tipos de políticas de reemplazo.
- Least Recently Used (LRU): Se desaloja la fila con el acceso menos reciente.
- Least Frequently Used (LFU): Se desaloja la fila a la que se accedió menos veces.
- First In First Out (FIFO): Se desaloja la fila más antigua.
¿Qué es una memoria caché asociativa?
Una con varias vías.
¿Qué columnas podemos encontrar en una vía?
- Tag: Indica MSBs del address a buscar.
- Fila (implícito): Número de fila en la tabla. Se utiliza para calcular el address de un dato.
- Datos: Columnas con los datos, la columna se corresponde con los LSBs de sus address.
- Bit Valid: Indica si los datos de la fila son válidos.
- Bit Dirty: Indica si algún dato de la fila fue modificado y no coincide con el valor en memoria.
Además se cuenta con una columna que guarda la política de reemplazo, que se comparte entre vías por lo que aparece 1 vez en la fila.
¿Sobre qué escribe el Write Back en memoria al momento de actualizar?
Escribe sobre todas las posiciones de una fila.
¿Sobre qué escribe el Write Through en memoria?
Escribe sobre 1 única posición de memoria.
¿Qué es el modo ráfaga o burst?
Es un modo de lectura que permite acceder a N direcciones de memoria consecutivas de forma más rápida y eficiente.
La política de reemplazo en una caché asociativa tiene menor complejidad cuando se trabaja en modo “write through”, en comparación con el modo “write back”.
¿Verdadero o Falso?
Verdadero.
La política de reemplazo en una caché asociativa nunca interviene ante un “miss” si se está empleando “write non allocate”.
¿Verdadero o Falso?
Verdadero.
La política de reemplazo en una caché asociativa es manejada por hardware dedicado a este fin.
¿Verdadero o Falso?
Verdadero.