Protocolos de coherencia de caché (ejemplos)


Aquí se enumeran ejemplos de protocolos de coherencia para la memoria caché. Para simplificar, no se muestran en los diagramas todas las transacciones de estado de lectura y escritura "fallidas" que obviamente provienen del estado "I" (o falta de etiqueta ) . Se muestran directamente en el nuevo estado. Muchos de los siguientes protocolos solo tienen valor histórico. Actualmente los principales protocolos utilizados son los protocolos tipo R-MESI / MESIF y el HRT-ST-MESI (tipo MOESI) o un subconjunto o una extensión de estos.

En sistemas como Multiprocesador , multinúcleo y sistema NUMA , donde se utiliza un caché dedicado para cada procesador , núcleo o nodo , puede ocurrir un problema de coherencia cuando un mismo dato se almacena en más de un caché. Este problema surge cuando se modifican los datos en un caché. Este problema se puede resolver de dos formas:

Nota: la coherencia generalmente se aplica solo a los datos (como operandos) y no a las instrucciones (consulte Código automodificable ).

Sistemas que operan bajo un solo SO ( Sistema Operativo ) con dos o más procesadores homogéneos y con una Memoria Principal compartida centralizada

Cada procesador tiene su propio caché que actúa como puente entre el procesador y la memoria principal . La conexión se realiza mediante un System Bus o un Crossbar ("xbar") o una combinación de los dos anteriores, bus para dirección y crossbar para Data (Data crossbar). [1] [2] [3]

El cuello de botella de estos sistemas es el tráfico y el ancho de banda de la memoria. El ancho de banda se puede aumentar mediante el uso de una ruta de bus de datos grande, barra cruzada de datos, intercalado de memoria (acceso paralelo de múltiples bancos) y transacciones de datos fuera de servicio . El tráfico se puede reducir mediante el uso de un caché que actúa como un "filtro" frente a la memoria compartida, es decir, el caché es un elemento esencial para la memoria compartida en los sistemas SMP.


SMP – Sistema multiprocesador simétrico
Protocolo MESI - Diagrama de transacción de estado
Protocolo MOESI - Diagrama de transacción de estado
Diagrama de transacción del estado de Illinois
Protocolo de escritura única: diagrama de transacción de estado
Protocolo Bull HN ISI - Diagrama de transacción de estado
Protocolo de sinapsis: diagrama de transacción de estado
Protocolo de Berkeley - Diagrama de transacción de estado
Protocolo Firefly - Diagrama de transacción de estado
Protocolo Dragon - Diagrama de transacción de estado
MERSI – Protocolo MESIF – Diagrama de Transacción de Estado
Protocolo RT-MESI - Diagrama de transacción de estado
Protocolo HRT-ST-MESI - Diagrama de transacción de estado