缓存与内存层次结构详解
1. 缓存一致性协议概述
在并行系统中,为了确保各个处理器对内存的一致视图,缓存一致性协议起着至关重要的作用。主要有基于更新(update - based)和基于失效(invalidation - based)的协议。
基于更新的协议中,本地缓存总是包含内存位置最近写入的值,缓存控制器会直接执行更新操作。而基于失效的协议则是将对应内存块的缓存块置为无效,这样下次读取访问时必须先从主内存进行更新。
总线监听(bus snooping)技术最初用于直写(write - through)策略,它依赖于广播介质,使得每个缓存控制器能够观察所有的写访问,从而执行更新或失效操作。不过,对于较新的架构,如使用交叉开关(crossbars)或点对点网络(point - to - point networks)的架构,更新或失效操作变得更加复杂,因为处理器间的链路不是共享的,一致性协议必须使用广播来查找可能共享的内存块副本。同时,由于一致性协议,互连网络中会产生额外的流量,这可能会限制处理器的有效内存访问时间。而且,监听协议并不局限于直写缓存,也可应用于回写(write - back)缓存。
2. 回写失效协议(Write - back invalidation protocol)
回写失效协议中,每个缓存块可以处于以下三种状态:
- M(Modified,修改) :表示缓存块包含内存块的当前值,并且该内存块在其他缓存或主内存中的所有其他副本均无效,即该块已在缓存中更新。
- S(Shared,共享) :表示该缓存块在本缓存中未更新,且
超级会员免费看
订阅专栏 解锁全文
1102

被折叠的 条评论
为什么被折叠?



