Caché Flashcards

1
Q

¿Para qué sirve una memoria Caché?

A

La memoria Caché guarda copias de ciertas regiones de la memoria principal para que su acceso sea mucho más rápido.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
1
Q

¿A qué se refiere el principio de localidad de referencia?

A

Significa que si accedemos a una determinada posición de memoria es muy probable que brevemente tenga que acceder a posiciones cercanas a esta.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿En qué tipo de memoria se implementa el Caché?

A

S-RAM (RAM estática)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Qué significa mapeo directo en Caché?

A

Que tiene 1 sola vía.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿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.

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Verdadero o Falso?
Al aumentar la memoria Caché aumentará el rendimiento.

A

Falso. No necesariamente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Por qué se usan los LSBs para seleccionar la línea?

A

Porque reduce la probabilidad de colisiones entre datos próximos (Principio de localidad espacial).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Qué es una vía?

A

Es una tabla en el Caché.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Qué indican los bits de valid/invalid?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Qué indican los bits de Dirty/Clean?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Qué indica la política de reemplazo?

A

Indica sobre qué vía se escribirá la fila nueva.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Qué significa Write Through?

A

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í.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Qué significa Write Back?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Qué problema puede generar el Write Back?

A

Si algún agente externo pretende acceder al dato en la memoria principal, este estará desactualizado.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Qué es el Lazy Write?

A

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ó.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Qué significa Read Hit y Read Miss?

A

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.

16
Q

¿Qué significa Write Allocate?

A

Significa que se escribe sobre la memoria principal y se trae un copia de la fila correspondiente al Caché.

17
Q

¿Qué significa Write Non-Allocate?

A

Escribe directamente sobre la memoria principal sin traer copias. Sólo copia datos a la Caché en caso de lectura.

18
Q

¿Qué significa Write Non-Allocate?

A

Escribe directamente sobre la memoria principal sin traer copias. Sólo copia datos a la Caché en caso de lectura.

19
Q

Explique los distintos tipos de políticas de reemplazo.

A
  • 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.
20
Q

¿Qué es una memoria caché asociativa?

A

Una con varias vías.

21
Q

¿Qué columnas podemos encontrar en una vía?

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.

22
Q

¿Sobre qué escribe el Write Back en memoria al momento de actualizar?

A

Escribe sobre todas las posiciones de una fila.

23
Q

¿Sobre qué escribe el Write Through en memoria?

A

Escribe sobre 1 única posición de memoria.

24
Q

¿Qué es el modo ráfaga o burst?

A

Es un modo de lectura que permite acceder a N direcciones de memoria consecutivas de forma más rápida y eficiente.

25
Q

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?

A

Verdadero.

26
Q

La política de reemplazo en una caché asociativa nunca interviene ante un “miss” si se está empleando “write non allocate”.
¿Verdadero o Falso?

A

Verdadero.

27
Q

La política de reemplazo en una caché asociativa es manejada por hardware dedicado a este fin.
¿Verdadero o Falso?

A

Verdadero.