FANDOM



En los sistemas multiprocesador actuales, una organización esencial para conseguir unas prestaciones razonables es disponer de uno o dos niveles de caché asociados a cada procesador.

Esto, no obstante, origina un problema, conocido como el problema de la ‘coherencia de caché’.

La esencia del problema es la posibilidad de que existan varias copias del mismo dato simultáneamente en diferentes cachés. En este caso, si los procesadores actualizan sus copias, puede producirse una visión inconsistente de la memoria.

Cuando se utilizan cachés, existen dos políticas de escritura usuales:

· Post-escritura (Write back): Las operaciones de escritura se realizan usualmente sólo en la caché. La memoria principal sólo se actualiza cuando la línea de caché correspondiente se reemplaza.

· Escritura directa (Write through): Todas las operaciones de escritura se realizan en memoria principal a la vez que en la caché, asegurándose así de que el contenido de la memoria principal siempre es válido.

Resulta evidente que una política de post-escritura puede ocasionar inconsistencia. Por ejemplo, supóngase que dos cachés contienen la misma línea, y la línea se actualiza en una de ellas, entonces la otra caché tendrá un valor no válido. Por tanto, las lecturas siguientes a dicha línea producirán resultados no válidos. Incluso con la política de escritura directa puede existir inconsistencia, a no ser que las otras cachés comprueben los accesos a la memoria principal o reciban algún tipo de notificación directa de la escritura realizada.