CHI write 传输——CHI(5)

news2024/12/27 2:27:50

上篇介绍了dataless的操作类型,本篇我们来介绍一下write

一、Write 操作概览

cache stash :一种投机行为,通过在其未来的使用点附近分配一个cacheline来提高系统性能,因为可以减少使用数据时的内存访问延迟

二、CopyBack

CopyBack transactioncoherent datacache搬移到下一级cachememory中,不需要去snooping系统中的其它agents

支持的操作有:

WriteBackPtl

WriteBackFull

WriteCleanFull

WriteEvictFull

WriteEvictOrEvict

步骤如下:

(1)The Requester sends a CopyBack request on the REQ channel.

(2)The Completer returns a single combined CompDBIDResp response on the CRSP channel to indicate:

        a. It can accept the write data for the transaction.

        b. This request will complete before any snoop(保序)

(3)After the Requester has received the CompDBIDResp response it sends the write data, with the CopyBackWrData opcode on the WDAT channel. The write data can be sent using multiple transfers.

1、WriteBackFull

三、Non-CopyBack

支持的操作有:

WriteNoSnp, WriteNoSnpZero.
WriteUnique, WriteUniqueZero.

其中,WriteNoSnp, WriteNoSnpZero不需要snoop其他master

 WriteNoSnpZero, WriteUniqueZero 不需要传输数据

步骤如下:

(1)Requester 在REQ通道发送WriteNoSnp WriteUnique 请求

(2)ICN返回response2种形式

a. 返回 2 response

                返回DBIDResp DBIDRespOrd表示有data buffer可以接收数据

                返回Comp,表示其他requester都可以观测到该transaction

b. 返回 1 response

                返回CompDBIDResp

对于Response

Comp 完成response,为了与DBIDResp区别开

CompDBIDResp Comp+DBIDResp

对于CopyBack,必须使用CompDBIDResp 作为完成response

对于Non-CopyBackAtomicStore ,可以选择分别发送CompDBIDResp,也可以将它们合并,只发送CompDBIDResp

DBIDRespOrd 不支持DVM 传输。DBIDResp支持

DBIDResp,表示可以接收数据

NCBWrDataCompAck
用于WriteUnique and WriteNoSnp
结合了NonCopyBackWrData and CompAck
The cache state in the response must be I.

以上这个机制保证了Requester收到Comp和发送CompAck之间,不能收到任何的同地址的snoop请求

1、WriteNoSnp

(1)RN-F0 issues a WriteNoSnp transaction
(2)HN-F receives and allocates the request.
(3)HN-F sends DBIDResp without Comp.
(4)RN-F0 responds with data.
(5)HN-F sends a Comp after it receives CompDBIDResp from SN-F.
(6)RN-F0 waits for Comp from HN-F and deallocates its request. 

2、WriteUniquePtl

The Comp_I response from HN-F must be sent when the coherency activity is complete at HN-F.

其中:

SnpCleanInvalid : Snoop 操作

cache line更改为Invalid状态,并获得dirty副本

SnpRespData_I_PD : snoop response
伴随 data
Cache line state I
PD (pass dirty)

四、DWT

DWT(Direct Write-data Transfer) : 数据直接从RequsterSlave,减少了对DAT channel的使用,并且不需要Home Node保存write data(所有DWT操作都是Non-Copyback,且在REQ channelDoDWT设置为1

(1) Requester Home 发送 WriteNoSnp or WriteUnique
(2)Home requestforward Slave
(3)Home request 返回 Comp response
(4)Slave 检测到 DoDWT ==1 ,向 requester 发送 DBIDResp
(5) Requester 在收到 DBIDResp 后,发送 NCBWrData response Slave ;若写操作被取消,则发送 WriteDataCancel (DAT channel opcode)
(6)Tag Match,由于涉及内容过多,我们在链接层单独介绍

1、WriteUniqueStash

(1)RN sends a WriteUniqueFullStash request to HN-F with the Stash target identified as RN-F1. Typically, the reqesting RN is an RN-I. 
(2)HN-F sends SnpMakeInvalidStash to RN-F1 and SnpUnique to RN-F2.
(3)RN-F1 and RN-F2 send SnpResp response to HN-F. The Snoop response from RN-F1 also include s a Read request, that is, the Data Pull.
(4)HN-F treats the Read request from RN-F1 as a ReadUnique , and sends a combined CompData to RN-F1.  CompData response includes the data written by RN.
(5)RN-F1 sends CompAck to HN-F to complete the Read transaction.

SnpResp_I
snoop cache line 处于 I 状态。
例如, Snoopee 接收到 SnpMakeInvalid 后即是发送 SnpResp_I
SnpResp_SC
snoop cache line 处于 SC I 状态;
SnpResp_UC
snoop cache line 处于 UC UCE SC I 状态;
( 存在 I/SC 的原因是下文提及的“ ( ).Silent cache state transitions”)
SnpResp_UD
snoop cache line 处于 UD 状态;
SnpResp_SD
snoop cache line 处于 SD 状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2180670.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CRM如何助力企业内部高效管理?

企业内部的高效管理不仅是提升竞争力的关键,也是实现企业可持续发展的基石。客户关系管理(CRM)系统,作为连接客户与企业内部流程的重要桥梁,其在促进企业内部高效管理方面的作用日益凸显。通过自动化工作流程、跨部门信…

19.第二阶段x86游戏实战2-寻找寻路call

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要…

使用powershell的脚本报错:因为在此系统中禁止执行脚本

1.添加powershell功能环境: 2.启动powershell的执行策略 因为在此系统中禁止执行脚本。 set-executionpolicy unrestricted

leetcode每日一题day19(24.9.29)——买票需要的时间

思路:在最开始的情况下每人需要买的票数减一是能保持相对位置不变的, 如果再想减一就有可能 有某些人只买一张票,而离开了队伍, 所有容易想到对于某个人如果比当前的人买的多就按当前的人数量算 因为在一次次减一的情况下&#xf…

风险函数梳理工具

风险函数梳理工具 在日常的软件开发工作中,代码的安全性和质量至关重要。然而,面对庞大的代码库,手动查找潜在的风险函数不仅耗时,而且容易出错。特别是在团队协作中,代码审查和重构工作往往占据了大量宝贵的时间&…

【机器学习】---异构数据融合

文章目录 1. 引言2. 异构数据融合的概念3. 常用的异构数据融合技术3.1 早期融合(Early Fusion)3.2 晚期融合(Late Fusion)3.3 中期融合(Intermediate Fusion)3.4 递归融合(Recursive Fusion&…

JavaSE——进制转换、原码、反码、补码、位运算(左移、右移、取反)

目录 一、四种进制介绍 二、进制的转换 (一)二进制—>十进制 (二)八进制—>十进制 (三)十六进制—>十进制 (四)十进制—>二进制 (五)十进制—>八进制 (六)十进制—>十六进制 (七)二进制—>八进制 (八)二进制—>十六进制 (九)八进制—>二…

免费升级!Windows10 64位国庆特别版:包含最新安全补丁!

国庆佳节临近,系统之家小编给大家带来了Windows10 64位国庆特别版,该版本系统以最新Windows10 22H2专业版系统为基础,展开离线制作与优化,安全无毒,且运作更加流畅稳定,建议大家升级。Windows10 64位国庆特…

华为OD机试 - 三阶积幻方(Java 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(E卷D卷A卷B卷C卷)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加…

长沙惠科成功完成SAP S/4 1511到S/4 2021的无缝升级,实现“停机不停产”

关于HKC长沙惠科光电有限公司 长沙惠科光电有限公司于2019年9月20日落户于长沙市浏阳经济技术开发区,注册资本220亿元人民币,由惠科股份有限公司与湖南金阳投资集团、浏阳市城市建设集团有限公司共同出资,是惠科股份有限公司下属的第四家专业…

WebAssembly 为什么能提升性能,怎么使用它 ?

文章目录 简介:起源:前端性能提升历史JIT(Just-In-Time)编译器(即时编译) 为什么需要WebAssembly:WebAssembly能做什么:经常说WASM的性能高,为什么高??使用方法:Emscript…

《OpenCV 计算机视觉》—— 视频背景建模

还未写完!!! 完整代码如下: import cv2cap cv2.VideoCapture(test.avi)""" getstructuringElement(shape,ksize,anchorNone)得到一个卷积核。主要用于后续的腐蚀、膨胀、开、闭等运算。 参数:shape:设…

Redis进阶篇 - 缓存穿透、缓存击穿、缓存雪崩问题及其解决方案

文章目录 1 文章概述2 缓存穿透2.1 什么是缓存穿透?2.2 缓存穿透的解决方法2.2.1 做好参数校验2.2.2 缓存无效Key2.2.3 使用布隆过滤器2.2.4 接口限流 3 缓存击穿3.1 什么是缓存击穿?3.2 缓存击穿的解决方法3.2.1 调整热点数据过期时间3.2.2 热点数据预热…

docker环境下配置cerbot获取免费ssl证书并自动续期

文章目录 实践场景了解certbot查看nginx的映射情况操作目标配置nginx配置的ssl证书设置自动续签 实践场景 本人使用docker部署了一个nginx容器,通过容器卷,实现本地html,ssl,conf和ngiinx容器映射的, 经常需要手动部署…

WPS在表格中填写材料时,内容过多导致表格不换页,其余内容无法正常显示 以及 内容过多,导致表格换页——解决方法

一、现象 1,内容过多导致表格不换页,其余内容无法正常显示 2,内容过多,导致表格换页 二、解决方法 在表格内右击,选择表格属性 在菜单栏选择行,勾选允许跨页断行,点击确定即可 1&#xff0…

react+antdMobie实现消息通知页面样式

一、实现效果 二、代码 import React, { useEffect, useState } from react; import style from ./style/index.less; import { CapsuleTabs, Ellipsis, Empty, SearchBar, Tag } from antd-mobile; //消息通知页面 export default function Notification(props) {const [opti…

Kafka学习笔记(三)Kafka分区和副本机制、自定义分区、消费者指定分区

文章目录 前言7 分区和副本机制7.1 生产者分区写入策略7.1.1 轮询分区策略7.1.2 随机分区策略7.1.3 按key分区分配策略7.1.4 自定义分区策略7.1.4.1 实现Partitioner接口7.1.4.2 实现分区逻辑7.1.4.3 配置使用自定义分区器7.1.4.4 分区测试 7.2 消费者分区分配策略7.2.1 RangeA…

【MySQL】常见的SQL优化方式(二)

目录 1、limit 优化 (1)延迟关联(索引覆盖子查询) (2) 已知位置查询 2、group by 优化 (1)使用索引 (2)避免排序 (3)分析查询 …

LeetCode[中等] 739. 每日温度

给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 思路 栈 暴力法为遍历列…

毕业论文不会写?教你如何利用AI来帮我完成初稿

AI是个工具,它能帮你提高效率,但可不能完全替代你的工作。所以,你要做的是学会如何利用AI来辅助你的毕业论文写作。 writehelp智能写作辅导:可节约1000小时写作时间帮助快速完成初稿的撰写。 传送门:http://www.write…