3.3.1 Cache一致性的基本概念

本文介绍了Cache一致性协议的基础概念,重点讨论了MESI协议及其变种MOESI和MESIF协议。MESI协议用于处理多处理器系统中的Cache一致性,通过四种状态(Modified, Exclusive, Shared, Invalid)来维护数据的一致性。文章还提到了在不同状态下的数据写入和读取操作,以及O(Owned)状态在MOESI协议中的作用。在SMP处理器系统中,HIT#和HITM#信号用于反映HOST主桥访问地址是否在Cache中命中。最后,文章简要阐述了Cache一致性协议中涉及的Agent角色和FSB总线事务的四个阶段。" 128681807,12030802,ARM Cortex-M处理器详解,"['arm开发', '嵌入式硬件']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PCI设备对可Cache的存储器空间进行DMA读写的操作的过程较为复杂,有关Cache一致性的话题可以独立成书。而不同的处理器系统使用的Cache Memory的层次结构和访问机制有较大的差异,这部分内容也是现代处理器系统设计的重中之重。

本节仅介绍在Cache Memory系统中与PCI设备进行DMA操作相关的,一些最为基础的概念。在多数处理器系统中,使用了以下概念描述Cache一致性的实现过程。

1 Cache一致性协议

多数SMP处理器系统使用了MESI协议处理多个处理器之间的Cache一致性。该协议也被称为Illinois protocolMESI协议在SMP处理器系统中得到了广泛的应用。MESI协议使用四个状态位描述每一个Cache行。

  •  M(Modified)位。M 位为1 时表示当前Cache 行中包含的数据与存储器中的数据不一致,而且它仅在本CPUCache 中有效,不在其他CPUCache 中存在拷贝,在这个Cache行的数据是当前处理器系统中最新的数据拷贝。当CPU对这个Cache行进行替换操作时,必然会引发系统总线的写周期,将Cache行中数据与内存中的数据同步。
  •  E(Exclusive)位。E 位为1 时表示当前Cache行中包含的数据有效,而且该数据仅在当前CPUCache中有效,而不在其他CPUCache中存在拷贝。在该Cache行中的数据是当前处理器系统中最新的数据拷贝,而且与存储器中的数据一致。
  •  S(Shared)位。S 位为1 表示Cache行中包含的数据有效,而且在当前CPU和至少在其他一个CPU中具有副本。在该Cache行中的数据是当前处理器系统中最新的数据拷贝,而且与存储器中的数据一致。
  • I(Invalid)位。I 位为1 表示当前Cache 行中没有有效数据或者该Cache行没有使能。MESI协议在进行Cache行替换时,将优先使用I位为1Cache行。

MESI协议还存在一些变种,如MOESI协议和MESIF协议。基于MOESI协议的Cache一致性模型如35所示,该模型基于AMD处理器使用的MOESI协议。不同的处理器在实现MOESI协议时,状态机的转换原理类似,但是在处理上仍有细微区别。

3.3.1 <wbr>Cache一致性的基本概念

MOESI协议引入了一个O(Owned)状态,并在MESI协议的基础上,进行了重新定义了S状态,而EMI状态和MESI协议的对应状态相同。

  •  O位。O位为1表示在当前Cache 行中包含的数据是当前处理器系统最新的数据拷贝,而且在其他CPU中一定具有该Cache行的副本,其他CPUCache行状态为S。如果主存储器的数据在多个CPUCache中都具有副本时,有且仅有一个CPUCache行状态为O,其他CPUCache行状态只能为S。与MESI协议中的S状态不同,状态为OCache行中的数据与存储器中的数据并不一致。
  •  S位。在MOESI协议中,S状态的定义发生了细微的变化。当一个Cache行状态为S时,其包含的数据并不一定与存储器一致。如果在其他CPUCache中不存在状态为O的副本时,该Cache行中的数据与存储器一致;如果在其他CPUCache中存在状态为O的副本时,Cache行中的数据与存储器不一致。

在一个处理器系统中,主设备(CPU或者外部设备)进行存储器访问时,将

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值