stringtranslate.com

Escritura única (coherencia de caché)

En la literatura sobre protocolos de coherencia de caché , Write-Once fue el primer protocolo MESI definido. Tiene la optimización de ejecutar una escritura directa en la primera escritura y una escritura diferida en todas las escrituras posteriores, lo que reduce el tráfico general del bus en escrituras consecutivas en la memoria de la computadora . Fue descrito por primera vez por James R. Goodman en (1983). [1] Los protocolos de coherencia de caché son un tema importante en los sistemas de multiprocesamiento simétrico , donde cada CPU mantiene una caché de la memoria.

Estados

En este protocolo, cada bloque de la caché local se encuentra en uno de estos cuatro estados:

Estos estados tienen exactamente los mismos significados que los cuatro estados del protocolo MESI (simplemente se enumeran en orden inverso), pero se trata de una forma simplificada que evita la operación de lectura para obtener la propiedad. En cambio, toda la invalidación se realiza mediante escrituras en la memoria principal.

Para cualquier par de cachés dado, los estados permitidos de una línea de caché dada son los siguientes (abreviados en el orden anterior):

Transiciones

El protocolo sigue algunas reglas de transición para cada evento:

Diagrama de transición de escritura única
La transición "WM" del estado Inválido es errónea; la escritura debe realizarse en la memoria y, por lo tanto, deja la línea en el estado Reservado .

Esta es una variante del protocolo MESI, pero no hay una operación explícita de invalidación de lectura para propiedad o difusión para llevar una línea a la caché en el estado exclusivo sin realizar una escritura en la memoria principal. En cambio, la primera escritura en una línea de caché válida (también conocida como compartida ) realiza una escritura directa en la memoria, lo que invalida implícitamente otras cachés. Después de eso, la línea está en el estado reservado ( exclusivo ) y se pueden realizar más escrituras sin referencia a la memoria principal, lo que deja la línea de caché en el estado sucio ( modificado ).

Referencias

  1. ^ Goodman, James R. (1983). "Uso de la memoria caché para reducir el tráfico entre el procesador y la memoria". ACM Sigarch Computer Architecture News . 11 (3): 124–131. doi : 10.1145/1067651.801647 .