Dragon protocol

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

States

In this protocol, the following states can be assigned to each block:

  • Invalid: No data in cache block.
  • Clean: Clean, only copy.
  • Shared-Clean: Clean, might be shared.
  • Dirty: Modified, only copy.
  • Shared-Dirty: Modified, might be shared. This implies that there might be up-to-date other copies of the data (in Shared-Clean state) but that the memory copy is not up-to-date.

These five states correspond to the five states of the MOESI protocol, although they are listed above in IESMO order.

For any given pair of caches, the permitted states of a given cache line are as follows (the states abbreviated in the order above):

 I   C   SC   D   SD 
 I  Green tickY Green tickY Green tickY Green tickY Green tickY
 C  Green tickY Red XN Red XN Red XN Red XN
 SC  Green tickY Red XN Green tickY Red XN Green tickY
 D  Green tickY Red XN Red XN Red XN Red XN
 SD  Green tickY Red XN Green tickY Red XN Red XN

Transitions

In order to identify which transitions must be made, the protocol detects sharing using a special bus line named Shared. All accesses on the main memory bus are snooped by all caches, which assert the Shared line when a snoop hit occurs. The following rules are then applied to the transitions:

  • Read hit: The data is supplied by the local cache. No state change.
  • Read miss: If there is any cache with a copy of the cache line, it indicates this with the Shared line and supplies the data to the requesting cache, which keeps a copy in the Shared-Clean state. The supplying cache leaves its copy of the line in the Shared-Dirty or Shared-Clean state, as appropriate. Otherwise fetch the data from main memory and mark the cache Clean.
  • Write hit: If the data in the cache is in Dirty or Clean state, updated the cached data and mark Dirty. If the state is Shared-Clean or Shared-Dirty then update other caches. If the Shared line is asserted change the local cache to Shared-Dirty and all others to Shared-Clean, otherwise the local cache changes to Dirty.
  • Write miss: If there is any cache with a copy, that cache supplies the data. The writer generates a write broadcast, the local cache changes to Shared-Dirty and all others to Shared-Clean. Otherwise main memory supplies the data, the local cache state changes to Dirty.

References

  • [1] Introduction to Multiprocessor Cache Design, Wen-Mei Hwu.

See also


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Dragon Skin (body armor) — Dragon Skin is a type of ballistic vest made by Pinnacle Armor. It is distinguished by its silver dollar sized circular discs that overlap like scale armour, creating a flexible vest that allows a greater range of motion and can allegedly absorb… …   Wikipedia

  • Dragon Skin — X ray of Dragon Skin Body Armor Dragon Skin is a type of ballistic vest made by Pinnacle Armor. It is currently produced in Fresno, California. Its characteristic two inch wide circular discs overlap like scale armor, creating a flexible vest… …   Wikipedia

  • Legend of the Red Dragon — For the unrelated film of the same name, see Legend of the Red Dragon (film). Legend of the Red Dragon (LORD) is a text based online role playing video game, released in 1989 by Robinson Technologies.[1] LORD is one of the best known door… …   Wikipedia

  • Online Certificate Status Protocol — The Online Certificate Status Protocol (OCSP) is an Internet protocol used for obtaining the revocation status of an X.509 digital certificate. It is described in RFC 2560 and is on the Internet standards track. It was created as an alternative… …   Wikipedia

  • Когерентность кэша — Несколько кэшей для разделяемого ресурса памяти Когерентность кэша (англ. cache coherence) свойство кэшей, означающее целостность данных, хранящихся в локальных …   Википедия

  • 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

  • Cache coherence — In computing, cache coherence (also cache coherency) refers to the consistency of data stored in local caches of a shared resource. Multiple Caches of Shared Resource When clients in a system maintain caches of a common memory resource, problems… …   Wikipedia

  • Atmel AVR — AVR logo. Atmel AVR ATmega8 in 28 pin DIP . The AVR is a …   Wikipedia

  • Action role-playing game — Not to be confused with Live action role playing game …   Wikipedia

  • Xbox 360 — Xbox 360 …   Wikipedia

Share the article and excerpts

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