Lower-level Design Choices 当M态的块观察到 BusRd时,变迁到哪个态 M→SorM→l取决于访问模式 Transition to state s 如果不久会有本地读操作,而不是其他处理器的写操作 比较适合于经常发生读操作的访问模式 Transition to state I 经常发生其他处理器写操作 比较适合数据迁移操作:即本地写后,其他处理器将会发出 读和写请求,然后本地又进行读和写。即连续的对称式访问 模式。 不同选择方案会影响存储器的性能 2021/2/1 计算机体系结构
Lower-level Design Choices • 当 M态的块观察到BusRd 时,变迁到哪个态 – M → S or M → I 取决于访问模式 • Transition to state S – 如果不久会有本地读操作,而不是其他处理器的写操作 – 比较适合于经常发生读操作的访问模式 • Transition to state I – 经常发生其他处理器写操作 – 比较适合数据迁移操作:即本地写后,其他处理器将会发出 读和写请求,然后本地又进行读和写。即连续的对称式访问 模式。 • 不同选择方案会影响存储器的性能 2021/2/1 计算机体系结构 12
Satisfying Coherence 写传播( Write propagation 对一个 shared或 Einvalid块的写,其他 cache都可见 使用 Bus Read-exclusive( BusRdX)事务,Bus Prrd/- Read-exclusive事务作废其他 Cache中的块 PrWr/-- 他处理器在未看到该写操作的效果前体验 的是 Cache miss 写串行( Write serialization) 侑有出现在bus上的写操作( BusRdX)被总 串行化 所有处理器 包括发出写操作的处理器)以 PrWr/Bus Rdx BusRd/Flush I 同样的方式排序 结是資解雾1的处理的本地2),P Bus RdX/Flush Replace /Busy 并不是所有的写操作都会出现在总线上 对 modified块的写序列来自同一个处理器(P) Bus RdX/ 将不会产生总线 PrRd/Bus Rd PrRd- Replace/ 同一处理器是串行化的写:由P进行读操作将 Bus Rd/- 会看到串行序的写序列 基他处理罨对该块的读操作会导致个点 緒也籍汇 的顺序对其他处理 2021/2/1 计算机体系结构
Satisfying Coherence • 写传播(Write propagation) – 对一个shared 或invalid块的写,其他 cache都可见 • 使用Bus Read-exclusive (BusRdX) 事务,Bus Read-exclusive 事务作废其他Cache中的块 • 其他处理器在未看到该写操作的效果前体验 到的是Cache Miss • 写串行(Write serialization) – 所有出现在bus上的写操作(BusRdX)被总 线串行化 • 所有处理器(包括发出写操作的处理器)以 同样的方式排序 • 首先更新发出写操作的处理器的本地cache, 然后处理其他事务 – 并不是所有的写操作都会出现在总线上 • 对modified 块的写序列来自同一个处理器(P) 将不会产生总线事务 • 同一处理器是串行化的写:由P进行读操作将 会看到串行序的写序列 • 其他处理器对该块的读操作:会导致一个总 线事务,这保证了写操作的顺序对其他处理 器而言也是串行化的。 2021/2/1 计算机体系结构 13 M I S PrRd/— PrWr/— PrRd/BusRd PrWr/BusRdX PrWr/BusRdX PrRd/— BusRd/— BusRd/Flush BusRdX/Flush Replace/BusWB BusRdX/— Replace/—
-review 共享数据块的跟踪:监听和目录 · Cache一致性协议实现:写作废和写更新 集中式共享存储 Cache一致性协议 Snooping协议:MS|,MESI,MOES Coherency misses ownership (note: the Exclusive state is not always considered an True Sharing Owned ownership state) validity False Sharing Modified Exclusive dirtiness exclusivity Shared Invalid 2021/2/1 计算机体系结构
-review • 共享数据块的跟踪:监听和目录 • Cache一致性协议实现:写作废和写更新 • 集中式共享存储 Cache一致性协议 – Snooping协议:MSI,MESI,MOESI • Coherency Misses – True Sharing – False Sharing 2021/2/1 计算机体系结构 14
MESI Write-Back Invalidation Protocol · MSI Protocol的缺陷: 读进并修改一个bock,产生2个总线事务 首先是读操作产生 BusRd(→S),并置状态为 Shared,写 更新时产生 BusRdX(S→M) ·即使一个块是 Cache独占的这种情况仍然存在 ·使用多道程序负载时,这种情况很普遍 ·增加 exclusive state,减少总线事务 Exclusive state表示仅当前 Cache包含该块,并且是 干净的块 区分独占块的“cean”和“dit 一个处于 exclusive state的块,更新时不产生总线 事务 2021/2/1 计算机体系结构
MESI Write-Back Invalidation Protocol • MSI Protocol的缺陷: – 读进并修改一个block,产生2 个总线事务 • 首先是读操作产生 BusRd (I→S),并置状态为Shared, 写 更新时产生 BusRdX (S→M) • 即使一个块是Cache独占的这种情况仍然存在 • 使用多道程序负载时,这种情况很普遍 • 增加exclusive state, 减少总线事务 – Exclusive state 表示仅当前Cache包含该块,并且是 干净的块 – 区分独占块的“clean”和“dirty” – 一个处于exclusive state的块,更新时不产生总线 事务 2021/2/1 计算机体系结构 15
Four States: MESI M: Modified 仅当前ache含有该块,并且该块被修改过 内存中的Cop是陈旧的值 E: Exclusive or exclusive-clean 仅当前ache含有该块,并且该块没被修改过 内存中的数据是最新的 S: Shared 多个 Cache中都含有本块,而且都没有修改过 内存中的数据是最新的 I: Invalid 也称Ⅲ inos protocol 首先是由Ⅲ linois的研究人员研制并发表论文 MES协议的变种广泛应用于现代微处理器中 2021/2/1 计算机体系结构
Four States: MESI • M: Modified – 仅当前Cache含有该块,并且该块被修改过 – 内存中的Copy是陈旧的值 • E: Exclusive or exclusive-clean – 仅当前Cache含有该块,并且该块没被修改过 – 内存中的数据是最新的 • S: Shared – 多个Cache中都含有本块,而且都没有修改过 – 内存中的数据是最新的 • I: Invalid • 也称Illinois protocol – 首先是由Illinois的研究人员研制并发表论文 – MESI协议的变种广泛应用于现代微处理器中 2021/2/1 计算机体系结构 16