stringtranslate.com

protocolo MESIF

El protocolo MESIF es un protocolo de coherencia de caché y coherencia de memoria desarrollado por Intel para arquitecturas de memoria no uniforme coherente con caché . [1] El protocolo consta de cinco estados: Modificado (M), Exclusivo (E), Compartido (S), Inválido (I) y Reenviado (F). [2]

Los estados M, E, S e I son los mismos que en el protocolo MESI . El estado F es una forma especializada del estado S e indica que una caché debe actuar como respondedor designado para cualquier solicitud de la línea determinada. El protocolo garantiza que, si algún caché contiene una línea en el estado S, como máximo un (otro) caché la mantiene en el estado F.

En un sistema de cachés que emplea el protocolo MESI, una solicitud de línea de caché recibida por múltiples cachés que contienen una línea en el estado S será atendida de manera ineficiente. Puede satisfacerse desde la memoria principal (lenta) o todos los cachés compartidos podrían responder, bombardeando al solicitante con respuestas redundantes. En un sistema de cachés que emplea el protocolo MESIF, una solicitud de línea de caché será respondida únicamente por el caché que mantiene la línea en el estado F. [3] Esto permite al solicitante recibir una copia a velocidades de caché a caché, al tiempo que permite el uso de tan pocos paquetes de multidifusión como lo permita la topología de la red.

Debido a que un caché puede descartar (invalidar) unilateralmente una línea en los estados S o F, es posible que ningún caché tenga una copia en el estado F, aunque existan copias en el estado S. En este caso, se satisface una solicitud de la línea (de manera menos eficiente, pero aún correcta) desde la memoria principal. Para minimizar la posibilidad de que la línea F se descarte debido a falta de interés, al solicitante más reciente de una línea se le asigna el estado F; cuando un caché en el estado F responde, cede el estado F al nuevo caché.

Por lo tanto, la principal diferencia con el protocolo MESI es que una solicitud de copia de la línea de caché para lectura siempre ingresa al caché en el estado F. La única forma de ingresar al estado S es satisfacer una solicitud de lectura desde la memoria principal.

Para cualquier par de cachés determinado, los estados permitidos de una línea de caché determinada se enumeran en la tabla de la derecha. El orden en que se enumeran los estados no tiene otro significado que el de hacer pronunciable el acrónimo MESIF.

Existen otras técnicas para satisfacer las solicitudes de lectura de cachés compartidas y al mismo tiempo suprimir respuestas redundantes, pero tener una sola respuesta de caché designada hace que sea más fácil invalidar todas las copias cuando sea necesario para realizar la transición al estado Exclusivo.

Comparación con el protocolo MOESI

El estado F en este protocolo no debe confundirse con el estado O "Propietario" en el protocolo MOESI. Si bien ambos estados identifican un caché de un conjunto de compartidores para transferir datos de manera eficiente mediante transferencias directas de caché a caché (en lugar de esperar información de la memoria principal), existe una diferencia detrás de la intención de los dos estados.

El estado F en el protocolo MESIF es simplemente una forma de elegir uno de los participantes de una línea de caché limpia para responder a una solicitud de lectura de datos mediante una transferencia directa de caché a caché en lugar de esperar a que los datos provengan del protocolo principal. memoria. Esta optimización tiene sentido en arquitecturas donde la latencia de caché a caché es mucho menor en comparación con la latencia de acceso a la memoria principal. Un punto clave a tener en cuenta aquí es que, de manera similar al protocolo MESI, cuando los datos están en estado compartido (con una de las cachés en el estado F), los datos están limpios.

El estado O en el protocolo MOESI es una optimización del protocolo MESI donde se relaja el requisito de que los datos compartidos estén limpios. En otras palabras, los cachés pueden compartir datos que están sucios siempre que uno de los que los comparten asuma la responsabilidad de poseer los datos. Las solicitudes de datos compartidos ahora serán satisfechas por el propietario. Esta optimización permite retrasar la reescritura de datos al permitir compartir datos sucios. [4] La diferencia clave en el protocolo MOESI es que, a diferencia del protocolo MESIF, el estado Propiedad no es limpio.

Es posible construir un protocolo MOESIF.

Ver también

Referencias

  1. ^ David Kanter (28 de agosto de 2007), "La interfaz del sistema común: la interconexión futura de Intel", Real World Tech : 5 , consultado el 12 de agosto de 2012
  2. ^ Michael E. Thomadakis (17 de marzo de 2011). "La arquitectura del procesador Nehalem y las plataformas SMP Nehalem-EP" (PDF) . Universidad Texas A & M. pag. 30–34. Archivado desde el original (PDF) el 11 de agosto de 2014 . Consultado el 21 de marzo de 2014 .
  3. ^ US 6922756, Hum, Herbert HJ & Goodman, James R., "Estado directo para uso en coherencia de caché en un sistema multiprocesador", publicado el 26 de julio de 2005, asignado a Intel Corporation 
  4. ^ Hennessy, J.; Patterson, D. Arquitectura informática: un enfoque cuantitativo (quinta ed.). pag. 362.