Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Memory coherence

From Wikipedia, the free encyclopedia
(Redirected fromMemory coherency)

Memory coherence is an issue that affects the design ofcomputer systems in which two or moreprocessors orcores share a common area ofmemory.[1][2][3][4]

In auniprocessor system (where there exists only one core), there is only oneprocessing 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 iscached.

Conversely, inmultiprocessor (ormulticore) 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 amemory coherence protocol, and if such a protocol is employed the system is said to have acoherent memory.

The exact nature and meaning of the memory coherency is determined by theconsistency 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, for example, bedirectory-based orsnooping-based (also calledsniffing). Specific protocols include theMSI protocol and its derivativesMESI,MOSI andMOESI.

See also

[edit]

References

[edit]
  1. ^Censier, L.M.; Feautrier, P. (December 1978). "A New Solution to Coherence Problems in Multicache Systems".IEEE Transactions on Computers.C-27 (12):1112–18.doi:10.1109/TC.1978.1675013.S2CID 5898229.
  2. ^Smith, Alan Jay (September 1982). "Cache Memories".ACM Computing Surveys.14 (3):473–530.doi:10.1145/356887.356892.S2CID 6023466.
  3. ^Li, Kai; Hudak, Paul (November 1989)."Memory coherence in shared virtual memory systems".ACM Transactions on Computer Systems.7 (4):321–59.doi:10.1145/75104.75105.S2CID 1678750.
  4. ^Stenstrom, Per (June 1990). "A survey of cache coherence schemes for multiprocessors".IEEE Computer.23 (6):12–24.doi:10.1109/2.55497.
General
Levels
Multithreading
Theory
Elements
Coordination
Programming
Hardware
APIs
Problems
Retrieved from "https://en.wikipedia.org/w/index.php?title=Memory_coherence&oldid=1241368210"
Categories:

[8]ページ先頭

©2009-2025 Movatter.jp