当前位置: 首页 > 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态。

http://www.dtcms.com/a/62572.html

相关文章:

  • 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_集合(四)
  • 电网电压暂态扰动机理与工业设备抗失压防护策略研究
  • 【SpringBoot】深入剖析 Spring Boot 自动装配原理(附源码与实战)
  • 内存检测工具——Qt Creator
  • git使用命令总结
  • python总结(3)
  • QT工程打开、编译、运行流程
  • Netty基础—2.网络编程基础三
  • Dify平台训练个人文档助手
  • 2024年群智能SCI1区TOP:混沌可行性恢复粒子群算法CEPSO,深度解析+性能实测
  • 20250212:linux系统DNS解析卡顿5秒的bug