【发布时间】:2013-11-03 23:25:25
【问题描述】:
我可能应该阅读英特尔手册,但它真的很长,我有点迷失了
我想知道如何确保我的写入在主内存中。
或者是否有一些完全绕过缓存的写指令?
【问题讨论】:
-
“我可能应该阅读英特尔手册” - 正确。我们不会为您阅读。别再偷懒了。
-
@MitchWheat:如果他没有写第一行,你会做出同样的回应吗?坦率地说,这是一个相当沉重的阅读材料
-
除非您正在构建硬件,或者可能设置 DMA 传输(如果它们与 CPU 缓存一致,则为 IDK),您的数据何时到达主内存并不重要。多核系统中的内核保持它们的缓存彼此一致。英特尔在其设计中使用大型 inclusive L3 缓存的原因之一是检查 L3 标签足以判断该芯片中的任何内核是否在其缓存中的某处有缓存线。跨度>
-
使用内存屏障(又名存储/加载栅栏)来确保写入是全局可见的,并且读取可以看到其他内核上的线程进行的任何写入。