计算架构中使用了哪些不同的缓存一致性协议?

计算架构中使用了几种缓存一致性协议:

1. MESI(修改、独占、共享、无效):这是一种广泛使用的协议,通过为缓存行定义四种状态来维护缓存一致性:修改、独占、共享和无效.

2. MOESI (Modified, Owned, Exclusive, Shared, Invalid):对MESI的修改,增加了Owned状态。在这个协议中,一个处理器拥有的缓存行可能仍然被处于共享状态的其他处理器缓存。

3. MOSI (Modified, Owned, Shared, Invalid):MOESI 协议的一种变体,消除了独占状态。

4. MSI (Modified, Shared, Invalid):MESI 的简化版本,没有 Exclusive 状态。在此协议中,缓存行是修改的、共享的或无效的。

5. MESIF (Modified, Exclusive, Shared, Invalid, Forward):这是MESI协议的扩展,增加了一个Forward状态。在这种状态下,缓存行被转发到另一个处理器,而无需等待缓存未命中。

6. Dragon(基于目录的读取和原子性生成):一种基于目录的协议,用于跟踪中央目录中缓存行的状态。该协议旨在通过仅将更新转发给需要它们的处理器来减少互连上的流量。

7. Firefly:Dragon 协议的扩展,增加了对推测执行的支持。在此协议中,处理器可以对缓存行进行推测性更新,而无需等待目录的确认。

Publication date: