MOESI protocol


MOESI protocol

This is a full cache coherency protocol that encompasses all of the possible states commonly used in other protocols. As discussed in AMD64 Architecture Programmer's Manual Vol 2 'System Programming' [ [http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/24593.pdf AMD64 Architecture Programmer's Manual Vol 2 'System Programming'] ] , each cache line is in one of five states:

;Modified: A cache line in the modified state holds the most recent, correct copy of the data. The copy in main memory is stale (incorrect), and no other processor holds a copy.

;Owned: A cache line in the owned state holds the most recent, correct copy of the data. The owned state is similar to the shared state in that other processors can hold a copy of the most recent, correct data. Unlike the shared state, however, the copy in main memory can be stale (incorrect). Only one processor can hold the data in the owned state—all other processors must hold the data in the shared state.

;Exclusive: A cache line in the exclusive state holds the most recent, correct copy of the data. The copy in main memory is also the most recent, correct copy of the data. No other processor holds a copy of the data.

;Shared: A cache line in the shared state holds the most recent, correct copy of the data. Other processors in the system may hold copies of the data in the shared state, as well. The copy in main memory is also the most recent, correct copy of the data, if no other processor holds it in owned state.

;Invalid: A cache line in the invalid state does not hold a valid copy of the data. Valid copies of the data might be either in main memory or another processor cache.

For any given pair of caches, the permitted states of a given cache line are as follows:(The order in which the states are normally listed serves only to make the acronym "MOESI" pronounceable.)

This protocol, a more elaborate version of the simpler MESI protocol, avoids the need to write modifications back to main memory when another processor tries to read it. Instead, the Owned state allows a processor to supply the modified data directly to the other processor. This is beneficial when the communication latency and bandwidth between two CPUs is significantly better than to main memory. An example would be multi-core CPUs with per-core L2 caches.

If a processor wishes to write to an Owned cache line, it must notify the other processors that are sharing that cache line. Depending on the implementation it may simply tell them to invalidate their copies (moving its own copy to the Modified state), or it may tell them to update their copies with the new contents (leaving its own copy in the Owned state).

ee also

* MSI protocol
* MESI protocol
* MOSI protocol

References


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Moesi — For the cache coherency protocol, see MOESI protocol. The Moesi (Greek: Μοισοί) were a Daco Thracian tribe who inhabited present day Serbia and Bulgaria, part of the then Roman province of Moesia, which was named after them in 87 AD by the Romans …   Wikipedia

  • MOESI — протокол поддержки когерентности кэшей микропроцессоров, включающий в себя все возможные состояния, используемые в других протоколах. В дополнение к состояниям часто используемого протокола MESI, добавлено пятое состояние «Owned», означающее что… …   Википедия

  • MSI protocol — The MSI protocol is a basic cache coherence protocol that is used in multiprocessor systems. As with other cache coherency protocols, the letters of the protocol name identify the possible states in which a cache line can be. So, for MSI, each… …   Wikipedia

  • MESI protocol — The MESI protocol (known also as Illinois protocol ) is a widely used cache coherency and memory coherence protocol. It is the most common protocol which supports write back cache. Its use in personal computers became widespread with the… …   Wikipedia

  • Coherence protocol — In computer science, a coherence protocol is a protocol which maintains the consistency between all the caches in a system of distributed shared memory; the protocol maintains memory coherence according to a specified consistency model.Examples… …   Wikipedia

  • MOSI protocol — The MOSI protocol is an extension of the basic MSI cache coherency protocol. It adds the Owned state, which indicates that the current processor owns this block, and will service requests from other processors for the block.ee also*Coherence… …   Wikipedia

  • Dragon protocol — The Dragon cache coherence protocol is the schema used in the Xerox Dragon multiprocessor workstation, developed by Xerox PARC. This protocol uses a write back policy. Contents 1 States 2 Transitions 3 References 4 See a …   Wikipedia

  • Cache coherency — In computing, cache coherency (also cache coherence) refers to the integrity of data stored in local caches of a shared resource. Cache coherence is a special case of memory coherence.When clients in a system maintain caches of a common memory… …   Wikipedia

  • MESI — Protocole MESI Le protocole MESI (Modified Exclusive, Shared, Invalid, aussi connu sous le nom d Illinois protocol) est un protocole de cohérence de cache utilisé dans les systèmes multiprocesseur. Chaque ligne du cache est estampillée avec l une …   Wikipédia en Français

  • Protocole MESI — Le protocole MESI (Modified Exclusive, Shared, Invalid, aussi connu sous le nom d Illinois protocol) est un protocole de cohérence de cache utilisé dans les systèmes multiprocesseur. Chaque ligne du cache est estampillée avec l une des marques… …   Wikipédia en Français


Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.