【发布时间】:2015-05-07 14:51:28
【问题描述】:
鉴于 CPU 现在是多核并拥有自己的 L1/L2 缓存,我很好奇 L3 缓存是如何组织的,因为它由多个内核共享。我想如果我们有 4 个内核,那么 L3 缓存将包含 4 页的数据,每个页面对应于特定内核正在引用的内存区域。假设我有点正确,就这样吗?例如,它可以将这些页面中的每一个划分为子页面。这样,当多个线程在同一个核心上运行时,每个线程都可以在其中一个子页面中找到它们的数据。我只是在脑海中想出这个,所以我非常有兴趣让自己了解幕后真正发生的事情。任何人都可以分享他们的见解或提供一个链接来治愈我的无知吗?
非常感谢。
【问题讨论】:
-
不是编程问题。看看什么更适合:stackexchange.com/sites#
-
如果您根据某些内存范围方案在内核之间拆分共享缓存,您将失去共享的容量优势 - 尽可能多地使用您的共享。您还会失去银行业务带来的带宽优势。