Arquitecturas-Paralelas
2017-18
INVALIDACION
Write through
Write-back
- Protocolo MSI
En MSI, cada bloque contenido dentro de una caché puede tener uno de tres estados posibles: M odified: El bloque se ha modificado en la memoria caché . Los datos en la caché son entonces inconsistentes con el almacenamiento de respaldo (por ejemplo, la memoria ). Una caché con un bloque en el estado “M” tiene la responsabilidad de escribir el bloque en la zona de respaldo cuando se desaloja.
S hared: este bloque no está modificado y existe en estado de solo lectura en al menos una caché. La caché puede desalojar los datos sin escribirlos en el almacén de respaldo.
I nvalid: este bloque no está presente en la caché actual o ha sido invalidado por una solicitud de bus, y debe recuperarse de la memoria u otra caché si el bloque se va a almacenar en esta caché. [1]
- MESI
cuatro estados exclusivos con los que se puede marcar una línea de caché (codificada con dos bits adicionales ):
Modificado (M)La línea de caché está presente solo en la caché actual y está sucia ; se ha modificado (estado M) del valor en la memoria principal . Se requiere que la caché vuelva a escribir los datos en la memoria principal en algún momento en el futuro, antes de permitir cualquier otra lectura del estado de la memoria principal (que ya no es válido). La escritura diferida cambia la línea al estado Compartido (S).
Exclusivo (E) La línea de caché está presente solo en el caché actual, pero está limpia : coincide con la memoria principal. Puede cambiarse al estado Compartido en cualquier momento, en respuesta a una solicitud de lectura. Alternativamente, se puede cambiar al estado Modificado al escribir en él.
Compartido (S)Indica que esta línea de caché puede estar almacenada en otras cachés de la máquina y está limpia ; coincide con la memoria principal. La línea se puede descartar (cambiar al estado no válido) en cualquier momento.
Inválido (I) Indica que esta línea de caché no es válida (sin usar).
- MOESI*
- MESIF*