Jump to content

MESIF protocol

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Funkyworklehead (talk | contribs) at 18:52, 7 June 2011 (adding in a little explanation for <i>how</i> the F state is useful.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The MESIF protocol is a cache coherency and memory coherence protocol developed by Intel for cache coherent non-uniform memory architectures[1]. The protocol consists of five states, Modified (M), Exclusive (E), Shared (S), Invalid (I) and Forward (F).

The M, E, S and I states are the same as in the MESI protocol. The F state is a specialized form of the S state, and indicates that a cache should act as a designated responder for any requests for the given line. The protocol ensures that, if any cache holds a line in the S state, exactly one (other) cache holds it in the F state.

In a system of caches employing the MESI protocol, a cache line request that is received by multiple caches holding a line in the S state will receive multiple responses. In a system of caches employing the MESIF protocol, a cache line request will be responded to only by the cache holding the line in the F state[2]. Using this methodology can be used to reduce the latency of the time that the original requestor of the cacheline will receive the cacheline, which still allowing the use of as few multicast packets as the network topology will allow.

For any given pair of caches, the permitted states of a given cache line are as follows:

 M   E   S   I   F 
 M  Red XN Red XN Red XN Green tickY Red XN
 E  Red XN Red XN Red XN Green tickY Red XN
 S  Red XN Red XN Green tickY Green tickY Green tickY
 I  Green tickY Green tickY Green tickY Green tickY Green tickY
 F  Red XN Red XN Green tickY Green tickY Red XN

References