【CHI协议-2】Read事务

本文详细介绍了CHI协议中的各种读事务类型,包括ReadNoSnp(非snoop读)、ReadOnce、ReadShared、ReadClean、ReadUnique和MakeReadUnique,阐述了它们在保证数据一致性时的不同特点和适用场景。

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

哈喽大家好,今天继续更新CHI协议系列,上次和大家一起学习了一下cacheline的几种状态。那么,从今天起,我们就正式来看看chi里面具体的事务类型。

  1. Read事务

首先read事务,很明显就是用来读数据的,这个很好理解。但是这个读可就没有我们平时理解的那么简单了,chi为了保证cache的一致性,搞了好多种类型的读。要把这些读都搞明白,cacheline状态的含义一定要滚瓜烂熟,没看的同学可以先去看看我的上一个帖子。
下面我们具体来看看每种read的定义和区别:

a,ReadNoSnp
这个是最简单的读,nosnp嘛,就是没有snoop(关于snoop是啥,不懂的同学可以先去了解一下,这里不展开说了),所以这个事务就是向非snoop的区域读一个数据来,不涉及一致性的东西。非snoop区域,说白了就是memory,内存嘛。

b,ReadOnce,ReadOnceMakeInvalid,ReadOnceCleanInvalid
ReadOnce也很简单啦,就是他只能读取Snoop地址区域的数据,就是它肯定得去cache里面拿数据了,但是对cacheline状态没啥要求。那么后面这两个呢,ReadOnceMakeInvalid,ReadOnceCleanInvalid名字这么长,看着蛮唬人的。其实就是在readonce的基础上多了一些功能。
ReadOnceMakeInvalid首先也是去snoop区域读数据,然后建议(但不是必须)无效掉其他的cacheline,但如果有cacheline为dirty并且被无效掉了,那么直接丢弃。这个事

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值