no puede entender la política de escritura en la memoria caché

1

Estoy estudiando las políticas de escritura en la memoria caché (por primera vez). Soy capaz de entender el 'escritura directa' pero no puedo entender la 'respuesta' y los problemas asociados con ella. Por favor, ¿alguien puede explicarme claramente el concepto de "reescritura"?

    
pregunta AbKDs

1 respuesta

3

En un escritura directa , cada operación de almacenamiento desde el procesador escribe simultáneamente los nuevos datos en la línea de caché y en el almacén de respaldo (el siguiente caché más grande o la memoria principal).

En un write-back , una operación de almacenamiento del procesador modifica solo la línea de caché, por lo que la línea de caché contiene los datos más recientes, mientras que los datos en el almacén de respaldo son obsoleto . La escritura en el almacén de respaldo ocurre solo cuando la línea de caché en cuestión se reemplaza porque se necesita para alguna otra línea en una dirección diferente.

Las imágenes en la página de wikipedia sobre almacenamiento en caché están bien.

En una caché de escritura simultánea, cada línea está en solo uno de dos estados: válido o no válido . Por lo tanto, cuando necesita buscar una línea que no está en el caché, simplemente tira una línea para dejar espacio para ella

En una memoria caché de escritura, cada línea puede estar en uno de tres estados: válido, inválido o sucio . Cuando se produce una lectura errónea y necesita tirar una línea para hacer espacio para la nueva línea, la línea que necesita tirar puede estar sucia. Si la línea que necesita tirar está sucia, debe escribirla en la tienda de respaldo antes de poder ingresar la nueva línea. Esto significa que en el momento en que está procesando una lectura leída, es posible que deba realizar dos operaciones con el almacén de respaldo en lugar de una.

Si las mismas líneas de caché se escriben muchas veces, las cachés de escritura pueden reducir drásticamente el número de veces que necesita enviar escrituras al almacén de respaldo. Simplemente siga haciendo modificaciones a la línea de caché sucia hasta que la línea deba reemplazarse y luego vuelva a escribir solo los últimos valores escritos en cada ubicación de la línea.

    
respondido por el Wandering Logic

Lea otras preguntas en las etiquetas