处理器核心可以摧毁彼此的缓存吗?

时间:2010-05-23 22:31:44

标签: caching multicore shared-memory

如果处理器上有多个核心正在访问相同的内存地址,它们是否会破坏彼此的缓存,或者某些侦听协议是否允许每个核心将数据保存在L1缓存中?

我对一般答案以及特定处理器的答案感兴趣。多少个缓存层无效?访问同一缓存行中的另一个地址会使整行无效吗?你能做些什么来缓解这些问题?

1 个答案:

答案 0 :(得分:2)

http://en.wikipedia.org/wiki/File:Dual_Core_Generic.svg意味着每个核心都有自己的(私有/独立)L1缓存。

  

但这并不意味着缓存行无法复制,代价是占用两倍的空间。

我认为你在问,“如果一个核心写入另一个核心缓存的内存地址,那是否会使其他核心的缓存无效/刷新/丢弃?”

This article表示存在各种/几种类型的窥探协议(这意味着您的问题的答案是特定于CPU的)。您也可以使用Google multicore cache coherence