Está en la página 1de 13

Protocolo MESI

Protocolo MESI
M. Tinoco Lara1

P. Centeno Becerra2

1,2 Instituto

Politcnico Nacional
IPN-CIDETEC

Maestra en Tecnologa de Cmputo

1/13

Protocolo MESI
Contenido

1 Contenido

MESI
Objetivo del estado E
Diagrama de transicin
Operaciones de MESI
Ejemplo del protocolo MESI
Optimizacin del protocolo MESI
Rendimiento del multiproceso MESI
Bibliografia

2/13

Protocolo MESI
Contenido
MESI

Introduccin
El protocolo Illinois, MESI

Principio
Illinois, utilizado (con algunas modificaciones). Es una mejora del protocolo MSI, al que se le aade un
cuarto estado, E, con el objetivo de minimizar el numero de invalidaciones.

3/13

Protocolo MESI
Contenido
Objetivo del estado E

Objetivo del estado E

Distinguir los bloques privados (siempre sern copias nicas) de los compartidos, y, as, reducir el trfico en
el bus.

4/13

Protocolo MESI
Contenido
Estados de MESI

Estados de MESI

(M) Modificado: La lnea de cache ha sido modificada (es distinta a su valor en memoria principal), y est
disponible slo en esta cache.
(E) Exclusivo: nicamente una cach tiene una copia del bloque, y no ha sido modificado.
(S) Compartido: potencialmente dos o ms procesadores tienen este bloque en su cach en un estado no
modificado.
(I) Invalido: La lnea de cache no contiene datos vlidos.

5/13

Protocolo MESI
Contenido
Diagrama de transicin

Diagrama de transicin

6/13

Protocolo MESI
Contenido

Cada lnea de cach esta en uno de los cuatro estados, exclusive, compartido (shared o invalid), . Cada
cach permanentemente al bus(snoop) y cambia de estado de la lnea dependiendo de las operaciones y el
mensaje que recibe.
Cuando un procesador lee de la memoria y carga en cache el estado se marca como exclusive.
Si otro procesador necesita acceder a la misma lnea se le enva una copia y se marca su estado como
compartido(shared).
Si el procesador modifica una lnea cuyo estado es compartido (shared) se la etiqueta como modificado
(modified) para que sea posteriormente copiada a RAM. Se enva un mensaje para que los dems
procesadores marquen su copa como invalido (invalid).
Si debe acceder a datos en una lnea etiquetada invalido (invalid), enva un mensaje de multifuncin
(broadcast) para que el tenga una copia vlida (en el estado exclusive o modified) le responda con el valor
actualizado. Si ninguno la tiene, accede a la memoria RAM para obtener una copia

7/13

Protocolo MESI
Contenido
Operaciones de MESI

Operaciones de MESI

Fallo de lectura: La lnea se coge de la cach que la tenga como propietaria. Si ninguna la tiene como
propietaria, se coge de la memoria principal.
Fallo de escritura: En este caso la lnea se coge de la cach que la tenga. Si ninguna la tiene, se coge de la
memoria principal. Si la lnea que se coge est modificada entonces se escribe esta lnea tambin a la
memoria al mismo tiempo.
Acierto de escritura: Si la cach peticionaria es la propietaria (lnea modificada o exclusiva), se actualiza la
lnea en la cach sin ms.

8/13

Protocolo MESI
Contenido
Ejemplo del protocolo MESI

Ejemplo del protocolo MESI

Para el primer instante tenemos dos


accesos de lectura de dos datos
diferentes que van a bloques de
memoria diferentes, pero que pueden
o no ir a la misma lnea de cach.

9/13

Protocolo MESI
Contenido
Ejemplo del protocolo MESI

Ejemplo del protocolo MESI

En este caso, si fueran a la cach del


mismo procesador, se mapearan en la
misma lnea de cach. Sin embargo,
como lo leen dos procesadores
diferentes, van a la misma lnea pero
de cachs diferentes

10/13

Protocolo MESI
Contenido
Optimizacin del protocolo MESI

Optimizacin del protocolo MESI

La optimizacin que se busca, en la


transferencia cach a cach, es
significativa porque las condiciones
para que se produzca suceden con
mucha frecuencia cuando los hilos de
las aplicaciones multitarea se ejecutan
en procesadores separados de una
mquina SMP (Symmetric
Multi-Processing o Multiproceso
Simtrico).

11/13

Protocolo MESI
Contenido
Rendimiento del multiproceso MESI

Rendimiento del multiproceso MESI

Varias escrituras de una misma palabra sin lecturas intermedias solo precisan de una escritura de
invalidacin.
Dadas lneas de cach de varias palabras solo es necesaria la escritura de cualquier palabra en la lnea.
El protocolo MESI trabaja sobre bloques de cac, a diferencia de otros protocolos (actualizacin) que
deben trabajar sobre palabras para aumentar su eficiencia.

12/13

Protocolo MESI
Contenido
Bibliografia

Bibliografia

COMPUTADORES PARALELOS Computacin de Alta Velocidad: A. Arruabarrena J. Muguerza.


MESI Cache Coherence Simulator for Teaching Purposes Juan Gmez-Luna,Ezequiel Herruzo and Jos
Ignacio Benavides.
Principios y algoritmos de concurrencia.
Multiprocesadores y multicomputadores: Daniel Jimnez Gonzlez.

13/13