MSI protocol

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 block contained inside a cache can have one of three possible states:

*Modified: The block has been modified in the cache. The data in the cache is then inconsistent with the backing store (e.g. memory). A cache with a block in the "M" state has the responsibility to write the block to the backing store when it is evicted.

*Shared: This block is unmodified and exists in at least one cache. The cache can evict the data without writing it to the backing store.

*Invalid: This block is invalid, and must be fetched from memory or another cache if the block is to be stored in this cache.

These coherency states are maintained through communication between the caches and the backing store. The caches have different responsibilities when blocks are read or written, or when they learn of other caches issuing reads or writes for a block.

When a read request arrives at a cache for a block in the "M" or "S" states, the cache supplies the data. If the block is not in the cache (in the "I" state), it must verify that the line is not in the "M" state in any other cache. Different caching architectures handle this differently. For example, bus architectures often perform snooping, where the read request is broadcast to all of the caches. Other architectures include cache directories which have agents (directories) that know which caches last had copies of a particular cache block. If another cache has the block in the "M" state, it must write back the data to the backing store and go to the "S" or "I" states. Once any "M" line is written back, the cache obtains the block from either the backing store, or another cache with the data in the "S" state. The cache can then supply the data to the requestor. After supplying the data, the cache block is in the "S" state.

When a write request arrives at a cache for a block in the "M" state, the cache modifies the data locally. If the block is in the "S" state, the cache must notify any other caches that might contain the block in the "S" state that they must evict the block. This notification may be via bus snooping or a directory, as described above. Then the data may be locally modified. If the block is in the "I" state, the cache must notify any other caches that might contain the block in the "S" or "M" states that they must evict the block. If the block is in another cache in the "M" state, that cache must either write the data to the backing store or supply it to the requesting cache. If at this point the cache does not yet have the block locally, the block is read from the backing store before being modified in the cache. After the data is modified, the cache block is in the "M" state.

Usages

This protocol was used in the SGI 4D machine. Fact|date=February 2007

Variants

Most modern systems use variants of the MSI protocol to reduce the amount of traffic in the coherency interconnect. The MESI protocol adds an "Exclusive" state to reduce the traffic caused by writes of blocks that only exist in one cache. The MOSI protocol adds an "Owned" state to reduce the traffic caused by write-backs of blocks that are read by other caches. The MOESI protocol does both of these things.

ee also

*Coherence protocol
*MESI protocol
*MOSI protocol
*MOESI protocol


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • MSI — Contents 1 Music 2 Computing 3 Science 4 Companies an …   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

  • 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

  • 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… …   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

  • Memory coherence — is an issue that affects the design of computer systems in which two or more processors or cores share a common area of memory.[1][2][3][4] In a uniprocessor system (whereby, in today s terms, there exists only one core), there is only one… …   Wikipedia

  • PCI Express — Not to be confused with PCI X. PCI Express Year created 2004 Created by Intel · Dell · IBM · …   Wikipedia

  • List of computing and IT abbreviations — This is a list of computing and IT acronyms and abbreviations. Contents: 0–9 A B C D E F G H I J K L M N O P Q R S T U V W X Y …   Wikipedia

  • Italy — /it l ee/, n. a republic in S Europe, comprising a peninsula S of the Alps, and Sicily, Sardinia, Elba, and other smaller islands: a kingdom 1870 1946. 57,534,088; 116,294 sq. mi. (301,200 sq. km). Cap.: Rome. Italian, Italia. * * * Italy… …   Universalium

Share the article and excerpts

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