核心之间的缓存同步

时间:2014-03-28 18:46:43

标签: multithreading caching concurrency synchronization processor

每个处理器核心都可以拥有自己的缓存。缓存是通读和读取的。如果两个线程在不同的内核上运行并且通过信号量进行同步,那么在读取内存位置缓存时会发生这个位置的不同版本,或者它们是否以某种方式由处理器透明地同步?我对x86和RISC感兴趣。

2 个答案:

答案 0 :(得分:0)

您可能使用的每台SMP计算机都具有在硬件中实现的缓存一致性。

答案 1 :(得分:0)

根据Linux文档(https://www.kernel.org/doc/Documentation/memory-barriers.txt): 虽然预期缓存是连贯的,但不能保证这种一致性 将被订购。这意味着虽然在一个CPU上进行了更改 最终在所有CPU上都可见,不能保证它们会出现 在其他CPU上以相同的顺序变得明显。

相关问题