关于Cache一致性

本文探讨了多处理器系统中确保Cache一致性的重要性,主要介绍了两种策略:监听策略(snooping)和基于目录的策略。通过理解系统模型和一致性需求,如处理器对数据的读写操作,以及保证数据串行化的条件,我们可以设计满足这些条件的协议。文章还详细阐述了Cache的状态(Invalid、Shared、Exclusive)及其转换,帮助理解Cache一致性协议的工作原理。
摘要由CSDN通过智能技术生成

总算是把Hennessy&Patterson的多处理器和线程级并行拿下了,由于多处理器领域的问题多多,很多也没有一个统一的解决标准,所以关于这一领域两位大师主要是把研究集中在了Cache一致性上,也就是如何保证多核间共享的数据可以保持一致。

总体上分为两种策略:1. snooping--监听策略,2. Directory based--基于目录

在我们分析两种策略前,先明白几个问题,首先我们要知道我们的,目标是什么?系统模型是什么?

1.模型与需求

系统模型有两种,分别对应两种策略,第一种模型是多处理器对称的共享存储器,每个处理器有自己的Cache,各Cache挂到总线上与存储器通信。第二种模型是多处理器分布的共享存储器,每个处理器有自己的存储器,Cache,各处理模块通过网络互连。这两种模型都共享存储器,他们的目的都是让个处理器都能访问到正确的数据,也即Cache和存储器中的数据对所有的处理器来说都是一致的。

 

2.确定计划

要想保证一致性,需要满足以下三大条件:

a.P1对X写数据,然后P1对X读数据,且期间没有别的P对X写,那么此时读到的是P1修改过的数据。

b.P1对X写数据,然后p2对X读数据,且期间没有别的P对X写,那么此时独到的是P1修改过的数据。

c.各个P对X的写需要串行化,也就是按序写。

我们假定只要满足以上三个条件就可以保证一致性,那么我们就设计协议以满足上面三个条件。

 

3.建立构思

在建立构思前,我们约定我们的系统具有以下的存储机制。

a.处理器通过Cache访

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值