stringtranslate.com

protocolo MSI

En informática , el protocolo MSI , un protocolo básico de coherencia de caché , opera en sistemas multiprocesador. Al igual que con otros protocolos de coherencia de caché, las letras del nombre del protocolo identifican los posibles estados en los que puede encontrarse una línea de caché.

Descripción general

En MSI, cada bloque contenido dentro de un caché puede tener uno de tres estados posibles:

Estos estados de coherencia se mantienen mediante la comunicación entre las cachés y el almacén de respaldo. Los cachés tienen diferentes responsabilidades cuando se leen o escriben bloques, o cuando se enteran de que otros cachés emiten lecturas o escrituras para un bloque.

Cuando llega una solicitud de lectura a una caché para un bloque en los estados "M" o "S", la caché proporciona los datos. Si el bloque no está en el caché (en el estado "I"), debe verificar que el bloque no esté en el estado "M" en ningún otro caché. Las distintas arquitecturas de almacenamiento en caché manejan esto de manera diferente. Por ejemplo, las arquitecturas de bus suelen realizar snooping , donde la solicitud de lectura se transmite a todas las cachés. Otras arquitecturas incluyen directorios de caché que tienen agentes (directorios) que saben qué cachés tuvieron copias de un bloque de caché en particular por última vez. Si otro caché tiene el bloque en el estado "M", debe volver a escribir los datos en el almacén de respaldo e ir a los estados "S" o "I". Una vez que se vuelve a escribir cualquier línea "M", el caché obtiene el bloque del almacén de respaldo o de otro caché con los datos en el estado "S". Luego, la caché puede proporcionar los datos al solicitante. Después de proporcionar los datos, el bloque de caché se encuentra en el estado "S".

Cuando llega una solicitud de escritura a un caché para un bloque en el estado "M", el caché modifica los datos localmente. Si el bloque está en el estado "S", la caché debe notificar a cualquier otra caché que pueda contener el bloque en el estado "S" que debe desalojar el bloque. Esta notificación puede realizarse a través de espionaje en el autobús o de un directorio, como se describe anteriormente. Entonces los datos pueden modificarse localmente. Si el bloque está en el estado "I", el caché debe notificar a cualquier otro caché que pueda contener el bloque en los estados "S" o "M" que deben desalojar el bloque. Si el bloque está en otra caché en el estado "M", esa caché debe escribir los datos en el almacén de respaldo o suministrarlos a la caché solicitante. Si en este punto el caché aún no tiene el bloque localmente, el bloque se lee desde el almacén de respaldo antes de modificarlo en el caché. Una vez modificados los datos, el bloque de caché está en el estado "M".

Para cualquier par de cachés determinado, los estados permitidos de una línea de caché determinada son los siguientes:

Máquina estatal

Diagrama de estado de solicitudes de procesador para el protocolo MSI

Las solicitudes del procesador al caché incluyen:

Diagrama de estado de transacciones de bus para el protocolo MSI.

Además, hay solicitudes en el lado del autobús. Éstas incluyen:

Transiciones de estado:

Uso

Este protocolo es similar al utilizado en la máquina SGI 4D. [3]

Variantes

Los sistemas modernos utilizan variantes del protocolo MSI para reducir la cantidad de tráfico en la interconexión de coherencia. El protocolo MESI agrega un estado "Exclusivo" para reducir el tráfico causado por escrituras de bloques que solo existen en un caché. El protocolo MOSI agrega un estado "Propiedad" para reducir el tráfico causado por las reescrituras de bloques leídos por otras cachés. El protocolo MOESI hace ambas cosas.

Ver también

Referencias

  1. ^ Fuchsen, R. (1 de octubre de 2010). "Cómo abordar la certificación para plataformas IMA basadas en múltiples núcleos: estado actual y posibles soluciones". 29ª Conferencia de Sistemas de Aviónica Digital . págs. 5.E.3–1-5.E.3-11. doi :10.1109/DASC.2010.5655461. ISBN 978-1-4244-6616-0. S2CID  16461614.
  2. ^ ab Solihin, Yan (2016). Fundamentos de la arquitectura multinúcleo paralelo . Serie de ciencias computacionales Chapman & Hall/CRC.
  3. ^ Suh, Taeweon (diciembre de 2006). «INTEGRACIÓN Y EVALUACIÓN DE PROTOCOLOS DE COHERENCIA DE CACHE PARA SOCS MULTIPROCESADORES» (PDF) .