![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
一致性
synchronizing
这个作者很懒,什么都没留下…
展开
-
cache之多核一致性(三) - MSI协议
看到之后做什么?当某个CPU更改了自己的cache line中的共享变量的值时,其他也拥有这个共享变量的cache line拷贝的CPU会做什么?比如上文的第一个例子,P2往cache line中的变量写入了13,那么P1会立刻更新自己cache line中该变量的值,将其也变成13么?假设过一会儿P2又将这个变量的值改为了18,照此逻辑,P1也应该立刻更新变量的值为18,但如果在此期间,P1根本就没有访问这个变量,那它的值是13还是18,根本就没有关系嘛,更新岂不是做了无用功。在其他CPU..转载 2020-07-07 18:19:44 · 1524 阅读 · 1 评论 -
cache之多核一致性(二) - 总线上没有秘密
前面的文章讲到了cache(高速缓存)的读写一致性,这主要是基于单核的角度讨论的,在单核系统中,cache line中的数据是primary memory(主存/内存)中对应位置的数据的一个拷贝(副本),“cache一致性”就是cache和内存之间的数据一致性。而在多核系统中(限定于只有一级local cache的情况),每个CPU(processor/core)的cache line中的数据都是它们共享的内存中对应位置的数据的一个拷贝,因此多核系统的“cache一致性”既包括cache和内存之间的..转载 2020-07-07 18:13:56 · 2146 阅读 · 4 评论 -
cache之读写一致性(一)
cache根据写操作后是否要直接同步到内存,可分为write back(稍后同步)和write through(立刻同步)。write through的方式虽然享受不到写cache带来的性能优势,但是还是可以享受读cache的好处的,而且其(和内存的)一致性维护也更简单,适用场景包括视频输出等。而write back可以减少不必要的内存写入,减轻总线竞争。现在大部分应用场景下,cache多采用write back的方式,本文以下的讨论都基于write back且只有一个level的cache。c..转载 2020-07-07 18:05:31 · 2259 阅读 · 0 评论