我只是想知道,当 CPU-Z 或 CPU-ID 等程序检测到你的缓存级别时,它会说,例如:
L1 D-Cache 大小:16Kb“x 8”(4 路组相联)L1 I-Cache 大小:64 Kb“x 4”(2 路组相联)
x 8 和 x 4 指的是什么?如果可能的话,请提供一些背景信息。我对它可能意味着什么有一些想法,但不想继续不了解。
我对此很感兴趣,因为我已经在论文中描述了我的 CPU 的不同缓存级别。
对于那些欣赏视觉效果的人来说,以下是该程序的图像: http://image.prntscr.com/image/b6d216efd51449efb7da115cea064824.png http://image.prntscr.com/image/ae3a164e2cbb48a1a192c445d6179c1c.png
非常感谢!
答案1
以具有 8 个内核的 AMD FX-8350 CPU 为例。
“缓存”可以专用于单个核心,也可以在多个核心之间共享。
当 CPU-Z 说它x8
意味着有 8 个这样的缓存,因此每个核心都会获得一个自己的缓存。 x4
意味着 4 个缓存,因此每个缓存都由 2 个核心共享。
如果有x2
条目,则意味着 2 个缓存,每个缓存由 4 个内核共享。L3 缓存实际上是x1
(CPU-Z 只是将其留空),因此该缓存由所有内核共享。我希望这说得通。AMD像这样说:
- 16 KB 4 路关联、直写 ECC 保护 L1 数据缓存每个核心
- 64 KB 双向关联奇偶校验保护的 L1 指令缓存两个核心共享
- 1024 KB 16 路关联 ECC 保护 L2 缓存两个核心共享
- 最大 8192 KB (8 MB) 64 路关联缓存所有核心共享在节点上