是否有一些来自英特尔的官方文档正确哪些级别的缓存在核心之间共享,哪些层特定于每个核心,以及每个级别有多少?
我在Xeon X3470
上运行,E5
是cat /proc/cpuinfo
系列处理器的一部分。
我从英特尔发现了this page,但没有说明每种类型的缓存有多少,以及它是在核心之间共享还是特定于每个核心。我还发现this article讨论了缓存结构,但我不确定数据的来源。
此外,8 MB
的输出会让我相信每个超线程都独立地拥有{{1}}某种缓存,但这似乎很难相信。
答案 0 :(得分:0)
wiki表明此CPU具有 - 4×256 KB的L2缓存,以及8MB的L3缓存。由于有4个核心,这意味着L2是每个核心私有的,而L3是共享的。
对于更官方的来源,您可以参考optimization guide(链接可能会更改,但通过谷歌很容易找到)。 该链接上的第2.4节涉及基于“Nehalem”的CPU,2.4.4专门针对缓存子系统,还指出L1 / L2是每个核心并且L3是共享的(在此上下文中统一意味着指令+数据,而不是与多核之间的共享混淆。
/ proc / cpuinfo只显示每个级别的整体可用空间,它不是每个线程的私有空间,只是限制。您可以看到预期输出here
的一些示例