protocolos de sondeo snoopy
DESCRIPTION
Protocolos de Sondeo SNOOPY. Integrantes: Katerine Huillca Apaza Rosberg Borda Solorio. Introducción. Coherencia de cache Básicamente consiste en que cualquier lectura de un dato devuelve el valor más recientemente escrito de ese dato. Políticas de escritura. Pos escritura (write back) - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/1.jpg)
Protocolos de SondeoSNOOPY
Integrantes:•Katerine Huillca Apaza•Rosberg Borda Solorio
![Page 2: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/2.jpg)
Introducción
• Coherencia de cache– Básicamente consiste en que cualquier lectura de
un dato devuelve el valor más recientemente escrito de ese dato
![Page 3: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/3.jpg)
Políticas de escritura
• Pos escritura (write back)– Las operaciones de escritura se hacen usualmente
solo en la caché, la memoria principal solo se actualiza cuando la línea de cache correspondiente se reemplaza.
![Page 4: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/4.jpg)
• Escritura directa (write though)• Todas las operaciones de escritura se realizaran en
memoria principal a la vez que en la cache, asegurandose así que el contenido de la memoria principal siempre es valido
![Page 5: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/5.jpg)
Soluciones al problema de coherencia de cache
• Soluciones Software– Usamos al sistema operativo para evitar que
cualquier dato compartido pase a la cache.– Se evitan el uso de muchos circuitos y lógica del
hardware.
![Page 6: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/6.jpg)
Soluciones Hardware
• Son los protocolos de coherencia de caches (protocolos de sondeo)
• Permite reconocer dinámicamente el problema.
• Existe un uso mas efectivo de las caches.
![Page 7: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/7.jpg)
PROTOCOLOS DE SONDEO
• Los controladores de las caches son capaces de sondear o espiar (snoop) a los otras caches con el fin de identificar cada notificación que se realiza y reaccionar adecuadamente.
• Al modificar un bloque en la cache se opta por dos alternativas:– Invalidar.– Actualizar.
![Page 8: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/8.jpg)
Invalidar
![Page 9: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/9.jpg)
Actualizar
![Page 10: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/10.jpg)
Estados de los bloques en la memoria cache
• Se suelen usar cinco estados.– Invalido (I)– Exclusivo (E)– Modificado (M)– Compartido (S)– Propietario (O)
• El uso de los estados depende de cada protocolo
![Page 11: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/11.jpg)
![Page 12: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/12.jpg)
SEÑALES DE CONTROL
• Acciones del procesador local– PR: processor read: Se lee una variable (en un
bloque de datos).– PW: processor write: Se escribe en una variable
(un bloque de cache).
![Page 13: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/13.jpg)
• Acciones que se observan en el bus – BR: bus read: Un procesador quiere leer una
palabra.– INV: invalidate : Se escribe una palabra en la
cache y, por tanto, hay que eliminar todas las copias de dicho bloque.
– BC: broadcast: Se escribe una palabra en la cache, por lo que hay que actualizar todas las copias de dicha variable.
![Page 14: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/14.jpg)
• BW: bus write: Un procesador va escribir un bloque entero de datos en memoria principal.
• BW*: Un procesador va a escribir una palabra en memoria principal
![Page 15: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/15.jpg)
Protocolos de invalidación
• Tenemos tres protocolo s de invalidación:– MSI– MESI– MOSI (BERKELEY)
![Page 16: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/16.jpg)
MSI
• El protocolo usa los tres estados necesarios en cualquier cache post-escritura para distinguir bloques validos que no han sido modificados.
Los estados son:• Invalido(I)• Compartido (S) • Modificado (M)
![Page 17: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/17.jpg)
• Compartido (S) .- Compartido significa que el bloque esta presente en la cache y no ha sido modificado, la memoria principal esta actualizada y cero o mas caches adicionales pueden tener también una copia actualizada (compartida).
![Page 18: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/18.jpg)
• Modificado (M).- Modificado significa que únicamente este procesador tiene una copia valida del bloque en su cache, la copia en la memoria principal esta anticuada y ninguna otra cache puede tener una copia valida del bloque.
• Antes escrito y pasar al estado modificado, todas las demás copias potenciales deben de ser invalidadas vía una transacción de bus de lectura exclusiva.
![Page 19: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/19.jpg)
• Esta transacción sirve para ordenar la escritura al mismo tiempo que causa la invalidaciones y por tanto asegura que la escritura se hace visible a los demás.
![Page 20: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/20.jpg)
![Page 21: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/21.jpg)
MESI
• El protocolo MESI consiste en cuatro estados:
• Modificado (M)• Exclusivo (E)• Compartido(S) • Invalido (I)
![Page 22: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/22.jpg)
• Exclusivo (E).- El estado exclusivo, significa que únicamente una cache tiene una copia del bloque, y no ha sido modificado (es decir, la memoria principal esta actualizada)
![Page 23: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/23.jpg)
• Compartido(S) .- El estado compartido significa que potencialmente dos o mas procesadores tienen este bloque en su cache en un estado no modificado.
![Page 24: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/24.jpg)
![Page 25: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/25.jpg)
BERKELEY
• El protocolo Berkeley, también llamado Berkeley-SPUR, usa la idea de propietario de la línea de cache.
En cualquier instante una línea de cache solo puede ser propiedad de una sola de las caches, y si ninguna tiene esa línea entonces se encuentra en memoria principal.
![Page 26: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/26.jpg)
• Hay cuatro estados y son :
• Invalida• Solo lectura • Súcia compartida • Sucia privada
![Page 27: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/27.jpg)
• Cuando una línea esta compartida, solo el propietario tiene esa línea en el estado sucia compartida; todos los demás deberán tener esa línea como solo lectura. Por lo tanto, una línea de cache solo puede estar en el estado sucia compartida o sucia privada en una única cache, que será la propietaria de esa línea.
![Page 28: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/28.jpg)
![Page 29: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/29.jpg)
![Page 30: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/30.jpg)
PROTOCOLOS DE ACTUALIZACION
• MSE (FIREFLY)• MOES (DRAGON)
![Page 31: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/31.jpg)
DRAGON
• El protocolo Dragon consta de 4 estados:
• Exclusivo (E)• Compartido (SC)• Compartido Modificado (SM) • Modificado (M)
![Page 32: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/32.jpg)
• Exclusivo (E).- El estado exclusivo significa que solo existe una cache (esta cache) con una copia del bloque y que dicho bloque no ha sido modificado
• Compartido (S) .- Significa que potencialmente dos o mas procesadores (incluyendo esta cache) tienen este bloque en su cache y que la memoria principal puede estar o no actualizada
![Page 33: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/33.jpg)
• Propietario(0) .- Significa que potencialmente dos o mas procesadores tienen este bloque en su cache, la memoria principal no esta actualizada y este procesador es el responsable de actualizar la memoria principal cuando este bloque sea reemplazado en la cache
![Page 34: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/34.jpg)
• Modificado (M) .- Significa, como anteriormente, que el bloque ha sido modificado únicamente en esta memoria, la memoria principal tiene un valor anticuado, y este procesador es el responsable de actualizar la memoria principal
![Page 35: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/35.jpg)
![Page 36: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/36.jpg)
![Page 37: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/37.jpg)
FIREFLY
• El Firefly tiene 4 estados aunque en realidad solo utiliza tres que son:
• Lectura privada,• Lectura compartida• Sucia privada.
![Page 38: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/38.jpg)
• El Firefly utiliza el esquema de actualización en vez del de invalidación, es decir, las escrituras a la cache son vistas por todos y se escribe a la memoria principal. El resto de caches que comparten la línea, buscan el bus actualizando sus copias. Por lo tanto, ninguna línea de cache será invalida después de ser cargada. Hay una línea especial del bus, la Línea Compartida, que se activa para indicar que al menos otra cache comparte la línea.
![Page 39: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/39.jpg)
![Page 40: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/40.jpg)
![Page 41: Protocolos de Sondeo SNOOPY](https://reader033.vdocumento.com/reader033/viewer/2022061602/568166a8550346895dda9bb6/html5/thumbnails/41.jpg)
GRACIAS