Memory coherence

Memory coherence

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 processing element doing all the work and therefore only one processing element that can read or write from/to a given memory location. As a result, when a value is changed, all subsequent read operations of the corresponding memory location will see the updated value, even if it is cached.

Conversely, in multiprocessor (or multicore) systems, there are two or more processing elements working at the same time, and so it is possible that they simultaneously access the same memory location. Provided none of them changes the data in this location, they can share it indefinitely and cache it as they please. But as soon as one updates the location, the others might work on an out-of-date copy that, e.g., resides in their local cache. Consequently, some scheme is required to notify all the processing elements of changes to shared values; such a scheme is known as a "memory coherence protocol", and if such a protocol is employed the system is said to have a "coherent memory".

The exact nature and meaning of the memory coherency is determined by the consistency model that the coherence protocol implements. In order to write correct concurrent programs, programmers must be aware of the exact consistency model that is employed by their systems.

When implemented in hardware, the coherency protocol can, e.g., be directory based or employ snooping (a.k.a "sniffing"). Examples of specific protocols are the MSI protocol and its derivatives MESI, MOSI and MOESI.

References

  1. ^ Censier, L.M.; Feautrier, P. (December 1978). "A New Solution to Coherence Problems in Multicache Systems". IEEE Transactions on Computers (IEEE) C-27 (12): 1112–1118. doi:10.1109/TC.1978.1675013. 
  2. ^ Smith, Alan Jay (September 1982). "Cache Memories" (pdf). ACM Computing Surveys (ACM) 14 (3): 473–530. doi:doi.acm.org/10.1145/356887.356892. http://doi.acm.org/10.1145/356887.356892. Retrieved 2011-02-25. 
  3. ^ Li, Kai; Hudak, Paul (November 1989). "Memory coherence in shared virtual memory systems" (pdf). Transactions on Computer Systems (ACM) 7 (4): 321–359. doi:doi.acm.org/10.1145/75104.75105. http://doi.acm.org/10.1145/75104.75105. Retrieved 2011-02-25. 
  4. ^ Stenstrom, Per (June 1990). "A survey of cache coherence schemes for multiprocessors". IEEE Computer (IEEE) 23 (6): 12–24. doi:10.1109/2.55497. 

See also


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Coherence — Coherence, coherency, or coherent can refer to: Contents 1 In physics 2 In mathematics 3 In financial economics 4 In philosophy …   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

  • Memory consolidation — is a category of processes that stabilize a memory trace after the initial acquisition.[1] Consolidation is distinguished into two specific processes, synaptic consolidation, which occurs within the first few hours after learning, and system… …   Wikipedia

  • Memory barrier — Memory barrier, also known as membar or memory fence or fence instruction, is a type of barrier and a class of instruction which causes a central processing unit (CPU) or compiler to enforce an ordering constraint on memory operations issued… …   Wikipedia

  • Memory Alpha En Français — Memory Alpha francophone (MA fr) Logo de Memory Alpha Encyclopédie Star Trek de type Wiki …   Wikipédia en Français

  • Memory Alpha en francais — Memory Alpha en français Memory Alpha francophone (MA fr) Logo de Memory Alpha Encyclopédie Star Trek de type Wiki …   Wikipédia en Français

  • Memory Alpha en français — Memory Alpha francophone (MA fr) Logo de Memory Alpha Encyclopédie Star Trek de type Wiki …   Wikipédia en Français

  • Memory alpha en français — Memory Alpha francophone (MA fr) Logo de Memory Alpha Encyclopédie Star Trek de type Wiki …   Wikipédia en Français

  • Coherence therapy — Psychology …   Wikipedia

  • memory abnormality — Introduction       any of the disorders that affect the ability to remember.       Disorders of memory must have been known to the ancients and are mentioned in several early medical texts, but it was not until the closing decades of the 19th… …   Universalium

Share the article and excerpts

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