为什么目录状态转换图没有处理课本上的写命中事件
Why directory state transition diagram does not handle write-hit events on the textbook
我正在阅读 Directory-Based Cache Coherence Protocols: The Basics 一书 Computer architecture A quantitative approach。下图是教科书上目录的状态转换图。 我的问题是:为什么shared状态的block不处理write hit事件?在我看来,如果块处于共享状态并且发生写入命中事件,则块应该进入独占状态。我相信我仔细阅读了这一章,但没有找到任何解释。是不是因为该图只是针对基本的基于目录的协议?
追问:下图是Snooping协议的缓存状态图。只读共享块能够接收名为此块的写入未命中 的事件。是否意味着允许写入只读块?
与 MESI 相同,需要一个 Read-For-Ownership(无效请求)来使该行的其他副本无效,因此在我们修改此副本后它们无法获得过时的读取命中。
否则缓存将不连贯。该缓存不需要实际接收数据的新副本,但它确实需要等待其他缓存已处理无效消息的确认。所以它必须离开核心并且基本上与缓存未命中相同,只是它可以避免通过内存控制器进入 DRAM。
(请注意,在实际 CPU 中, 比共享总线要好,尽管有些 material 根据共享总线定义 MESI。)
我正在阅读 Directory-Based Cache Coherence Protocols: The Basics 一书 Computer architecture A quantitative approach。下图是教科书上目录的状态转换图。
追问:下图是Snooping协议的缓存状态图。只读共享块能够接收名为此块的写入未命中 的事件。是否意味着允许写入只读块?
与 MESI 相同,需要一个 Read-For-Ownership(无效请求)来使该行的其他副本无效,因此在我们修改此副本后它们无法获得过时的读取命中。
否则缓存将不连贯。该缓存不需要实际接收数据的新副本,但它确实需要等待其他缓存已处理无效消息的确认。所以它必须离开核心并且基本上与缓存未命中相同,只是它可以避免通过内存控制器进入 DRAM。
(请注意,在实际 CPU 中,