gpt4 book ai didi

c - 缓存对齐的数据结构如何在 L1 缓存行中失效

转载 作者:太空宇宙 更新时间:2023-11-04 03:20:43 24 4
gpt4 key购买 nike

我正在尝试了解 CPU 的 L1 缓存机制。

  1. 假设 CPU 有 4 个内核,L1 缓存行大小64 字节,每个内核使用 MESI 协议(protocol)有 N 个条目强>.

  2. 因此,内存引用的加载与缓存行大小对齐(引用是某种数据结构,恰好包含 64 个字节)。

  3. 此时,Core-0 修改此缓存行中的 4 个字节(在偏移量 0)。
  4. 然后,Core-1 引用相同的内存位置。因此,缓存一致性协议(protocol)识别此操作并将 Core-0 中的缓存行复制到 Core-1(避免从主内存读取)。

  5. Core-1 因此修改了此缓存行中的 4 个字节(在偏移量 15)。

我的问题是:缓存一致性协议(protocol)是否会使 Core-0 中的缓存行无效?尽管修改在不同的偏移量中。

另外,在这一点上,有人可以告诉这个缓存行引用的缓存一致性协议(protocol) (MESI) 状态是什么吗?

最佳答案

MESI 协议(protocol)在缓存行上运行,因此单个缓存行内的偏移量无关紧要。

当 core-1 最初从 core-0 请求缓存行时,它被复制过来并且两个核心的状态都设置为 S(共享)。当core-1修改缓存行时,core-1中的缓存行设置为M(修改),而对于core-0则设置为I(无效) .

关于c - 缓存对齐的数据结构如何在 L1 缓存行中失效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46633699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com