当前位置: 首页 > news >正文

CHI协议中的read transaction flow

cacheline的各个状态介绍在之前的文章都已经描述过,在这不再赘述,直接开始看CHI协议中规定的几种read transaction。

1. readnosnp

顾名思义,它是向non-snoopable(主存)区域发起的一个读请求,这个读请求不需要snp其它RN,不涉及一致性的东西。说白了就是RN直接去到主存读回数据。

2. readonce

只读一次,用一下就完事儿。 只能去snoopable地址区域读,那就是去cache中读咯,对都回来的cacheline状态并无要求。

3. readclean

想要获取一个cacheline的clean状态,SC态或者UC态都可以。

HN-F收到RN0发来的readclean,会发送snpclean给到RN1 RN2,同时去主存中readclean。由于RN2中该cacheline的状态也是I态(说明这个cacheline并不存在于RN2中),所以返回snpresp_I; 而RN1该cacheline的状态是UDP(该cacheline部分是unique dirty态),会将主存读到的数据和RN1的部分dirty的cacheline merge 给到RN0,同时再次发起writenosnp将merge data再重新写回主存。

 

4.readunique

想要获取一个cacheline的unique状态,UC态或者UD态都可以。

HN-F收到RN0发来的readunique,会发送snpunique给到RN1 RN2,同时去主存中readnosnp(因为HN-F记录了这个cacheline在RN-F1中的状态是UDP,所以还需要去主存中读回另一部分)。由于RN2中该cacheline的状态也是I态(说明这个cacheline并不存在于RN2中),所以返回snpresp_I; 而RN1该cacheline的状态是UDP(该cacheline部分是unique dirty态),会将主存读到的数据和RN1的部分dirty的cacheline merge 给到RN0,RN0最终得到该cacheline的UD态。

相关文章:

  • UDP-网络编程/socket编程
  • 【K8s】专题十六(3):Kubernetes 包管理工具之 Helm 语法
  • Excel 中如何实现数据透视表?
  • 信奥赛CSP-J复赛集训(模拟算法专题)(9):P6437 [COCI 2011/2012 #6] JACK
  • 数据库系统概论(二)数据模型
  • 记录--有惊无险
  • 产城融合典范:树莓科技如何助力宜宾数字经济腾飞​
  • 自启动、关联启动的拦截规则
  • 4g串口发短信踩坑
  • 【文件系统】
  • C语言for循环语句的用法(非常详细)
  • Ubuntu 源码安装 Qt5
  • 报错E0513:不能将 “const wchar_t *“ 类型的值分配到 “LPWSTR“ (aka “wchar_t *“) 类型的实体
  • 【性能测试入门_01性能测试jmeter基础实操场景详解】
  • # 如何确认elementary os (linux)使用的是Wayland而不是x11?
  • TCP连接过程图解
  • Android Compose是如何使用什么架构,多个Activity?还是Fragment?compose的ui又是如何卸载和挂载的呢?
  • 【day10】智慧导览:学习LBS定位精度标准
  • markdown转docx
  • Java基础关键_020_集合(四)
  • 美国务卿鲁比奥将前往土耳其参加俄乌会谈
  • 上海北外滩,未来五年将如何“长个子”“壮筋骨”?
  • 市场监管总局等五部门约谈外卖平台企业
  • 日本广岛大学一处拆迁工地发现疑似未爆弹
  • 工人日报评规范隐藏式车门把手:科技美学须将安全置顶
  • IPO周报|本周A股暂无新股网上申购,年内最低价股周二上市