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

Conversely, in multiprocessor (or multicore) systems, there are two or more processing elementsworking at the same time, and so it is possible that they simultaneously accessthe same memory location. Provided none of them changes the data in thislocation, they can share it indefinitely and cache it as they please. But assoon as one updates the location, the others might work on an out-of-date copythat, e.g., resides in their local cache. Consequently, some scheme is requiredto notify all the processing elements of changes to shared values; such ascheme is known as a "memory coherence protocol", and if such aprotocol 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 correctconcurrent programs, programmers must be aware of the exact consistency modelthat 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.

https://en.wikipedia.org/wiki/Memory_coherence
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值