Coherencia de memoria

La coherencia de memoria hace referencia a la necesidad de establecer la lógica necesaria para que los distintos datos replicados a lo largo de la jerarquía de memoria, contengan la misma información si se trata de la misma dirección física.

Por ejemplo, un dato que se encuentra en el nivel más alto de la jerarquía, esto es, en la caché de L1, y que ha sido modificado, deberá activar los mecanismos necesarios para que esta modificación se lleve a cabo en el resto de niveles, donde este dato también existe.

Esto puede cobrar más relevancia en el caso de los procesadores multinúcleos, donde, en general, se comparte un nivel de caché, L2 o Ln(donde n podrá ser cualquier número natural), pero cada núcleo dispone de su propia L1 donde modifica los datos, pudiendo haber una incoherencia de los datos que lee un núcleo y que han sido modificados recientemente por otro, disponiendo el dato sin modificar en la caché compartida.

Estos mecanismos de control, por tanto, sólo se activarán como parece lógico pensar, en los casos en los que se produzca una escritura.

Donde en la inclusiva nos encontramos una circuitería más simple, aumentando la complejidad en la exclusiva.