CHI协议之DVM操作

news2024/11/26 9:54:59

本文部分内容参考了CHI的Cache Stashing和DVM操作_谷公子的藏经阁的博客-CSDN博客


□ 注意此处RNF发送的noncopyback data, 只有8byte;
□ MN会发送两个SNP给每个RNF, 因为一个SNP,携带的信息不够;
□ 如果MN具备将来自同一个源头的non-sync/sync dvmop操作,排序的能力,那么对于non-sysn的dvm操作,可以不用等待snoop响应返回,直接返回comp; 否则,必须等待snoop结果之后再返回;
□ 对于上述这种能力,可以将comp和dbid合并返回,CompDBIDResp;


□ 区别点在于每个RN, 需要dvm操作真正完成之后,才会返回SnpResp_I;


Flow control
□ DVMPOp可以被retry;
□ 同一个RN, 再之前的DVMOp没有完成时,不能发送下一个;
□ MN至少要有一个entry,用来接收DVMOp;
□ 两个SNPdvmop的txnid, 是一样的;
□ 两个snp之间,没有顺序关系,可以任意先接收其中一个;
□ MN中多个SnpDVMOp(Non-sync), 可以outstanding发送;
□ MN中到RN的SnpDVMOp(Sync)  outstanding为1;
□ 为了避免死锁,RN中必须要能够接收两个snpdvmop的能力时,MN才能发送snpdvmop的操作;
□ 对于invalidated page entries的sync-dvm, RN会发送stashonceseq;
□ 只有当RN可以接收下一个snpdvmop时,才会返回snopdvmop resp;
□ 每个RN节点,至少要能够接收一个snpdvmop(Non-Sync) 和一个SnpDVMOp(Sync) transaction;


DVMOp field value restrictions
Request message field value restrictions for DVMOp
□ DCT/STASH相关的域段必须全为0;
□ size: 8byte;
□ NS/likelyshared/Order/MemAttrr/excl/expack/mpam/tagop必须为0;
□ ADDR域段,拆分并复用成如下含义;---参考DVMOp payload

 

Data message field value restrictions for DVMOp
□ HomeNID/Resp/CBusy/CCID/DATAID等必须为0(贴图);
□ Opcode:NonCopyBackWriteData
□ RespErr: Must be 0b00 or 0b10
□ BE: Only BE[7:0] must be asserted

Snoop message field value restrictions for DVMOp
□ 看协议;

DVM Operation types
• TLB Invalidate. 
• Branch Predictor Invalidate. 
• Instruction Cache Invalidate: 
— Physical address invalidate. 
— Virtual address invalidate. 
• Synchronization.

DVMOp payload:
dvm的payload, 是放在req通道的addr域段,以及data通道的低8byte数据;
分布如下:

 

后续内容copy CHI的Cache Stashing和DVM操作_谷公子的藏经阁的博客-CSDN博客

图片未copy,可以直接看原文; 

DVMOp and SnpDVMOp packet
表4为使用8bytes write格式的RN发送的DVMOp request的payload分布,以及MN发送的SnpDVMOp requests的payload的分布。
在DVMop request中,request的address域段和write data的8bytes共同完成完整的request payload,其中request的Addr[3]没有用,且必须设置为0。
在SnpDVMOp中,两笔SnpDVMOp的address域段组成完整的request payload。SnpDVMOp request的Addr[3]指示哪一笔SnpDVMOp正在传输。
Maximum PA(MPA)和Maximum VA(MVA) address的有效组合是:

MPA = 44 : MVA = 49.
MPA = 45 : MVA = 51.
MPA = 46 to 52 : MVA = 53.
表4为Address和Data的数字指示哪些bit被用于DVMOp field。例如Addr[4]是被VA Valid所替代。在Request packet中,该bit会在address域段的第五bit,但是在snoop packet中,该bit会在address的第二bit,因为snoop packet没有包含地址的低3bits;
同样的,write data packet的Data[4]被PA[6]所替代,在snoop packet中,Addr[4]同样也被占用了。对于两个snoop packets,PA[6]是在第二个packet中,但是VA Valid是在第一个packet中。
表4 DVMOp and SnpDVMOp request payloads using a 49-bit VA and 44-bit PA


2.3 DVM Operations
本节描述CHI支持的DVM operations。
表5为DVM operations的Part Num域段值。
表5 Part Num field values


2.3.1 TLB Invalidate
TLB Invalidate operations的各个具体含义值参考CHI issue-C P265的表8-5。

2.3.2 Branch Predictor Invalidate
Branch Predictor Invalidate的各个具体含义值参考CHI issue-C P267的表8-6。

2.3.3 Physical Instruction Cache Invalidate
Physical Instruction Cache Invalidate的各个具体含义值参考CHI issue-C P268的表8-9。

2.3.4 Virtual Instruction Cache Invalidate
Virtual Instruction Cache Invalidate的各个具体含义值参考CHI issue-C P269的表8-11。

2.3.5 Synchronization
Synchronization的各个具体含义值参考CHI issue-C P270的表8-12。
 

 

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

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

相关文章

详解Mybatis之自动映射 自定义映射问题

编译软件:IntelliJ IDEA 2019.2.4 x64 操作系统:win10 x64 位 家庭版 Maven版本:apache-maven-3.6.3 Mybatis版本:3.5.6 文章目录 一、Mybatis中的自动映射是什么?二、Mybatis中的自定义映射是什么?三、为什…

华东师范大学计算机考研分析

关注我们的微信公众号 姚哥计算机考研 更多详情欢迎咨询 华东师范大学(B)考研难度(☆☆☆☆) 华东师范大学计算机考研招生学院是计算机科学与技术学院、软件工程学院网址和数据科学与工程学院。目前均已出拟录取名单。 华东师…

前端JS 展示上传图片缩略图(本地图片读取)

需求: 点击上传图片按钮,选择图片以后,不请求后端接口,直接将图片展示在缩略图中。 解决方案: 使用 FileReader 和 FileReader 中的 readAsDataURL 方法。 第一步 从input[type“file”] (上传文件标签) 里面拿到fil…

解密直播美颜SDK和滤镜算法的工作原理:如何实现实时美化效果

直播美颜已成为许多直播平台的核心功能之一。通过美颜技术,主播可以在直播过程中实时改善自己的外貌,给观众带来更好的视觉体验。而实现这一效果的关键在于直播美颜SDK和滤镜算法。 一、美颜SDK的工作原理 美颜SDK是一种集成了美颜算法的软件开发工具包…

亚马逊奥地利卖家出口额创新高!2022年突破5.5亿欧元!

近日亚马逊报告说,2022年奥地利中小企业的出口额达到5.5亿欧元以上,比上一年增长了10%,延续了跨境销售的趋势。去年,奥地利卖家在亚马逊上销售了约2000万件产品。 亚马逊宣称,通过其全球22个站点,奥地利的…

[ 容器 ] consul 容器服务更新与发现

目录 什么是服务注册与发现什么是consulconsul 部署consul 服务器 registrator服务器consul-templateconsul 多节点 什么是服务注册与发现 服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承…

学习 C语言第二天 :C语言数据类型和变量(下)

目录: 1.变量的介绍以及存储 2.算术操作符、赋值操作符、单目操作符 3.scanf和printf的介绍 1.变量的介绍以及存储 1.1.变量的创建 了解了什么是类型了,类型是用来创建变量的。 变量是什么呢?在C语言当中不经常变的量称为常量,经常…

Python实战项目——O2O_优惠券使用情况分析(五)

O2O优惠券线下使用情况数据分析 一 项目简介 随着移动设备的完善和普及,移动互联网各行各业进入了高速发展阶段,这其中以O2O(Online to Offline)消费最为吸引眼球。据不完全统计,O2O行业估值上亿的创业公司至少有10家…

【Docker】Docker的服务更新与发现

consul 一、服务注册与发现1. 服务注册与发现的概念2. 服务发现的机制 二、consul 的概念1. 什么是 consul2. consul 的特性 三、consul 的部署1. consul 服务器架构2. consul 的部署过程2.1 环境配置2.2 consul 服务器建立 Consul 服务查看集群信息通过 http api 获取集群信息…

Jenkins 安装构建

一、CentOS 安装 1. 使用该存储库 sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key 2. 安装 Java yum install fontconfig java-11-openjdk配…

聚焦APP开发:理解并预防常见的安全问题

移动应用程序是我们日常生活中不可或缺的一部分,它帮助我们处理信息,完成任务,甚至更多。因此,移动应用程序在我们日常生活中的重要性是毋庸置疑的。随着越来越多的人使用智能手机和平板电脑进行工作和娱乐,移动应用程…

项目管理系统软件有哪些?别错过!这款超好用!(免费试用)

如今,很多企业都面临着复杂的业务流程和庞大的项目数量,为了更好地管理和协调这些项目,企业需要一个高效的项目管理系统。然而,传统的项目管理系统已经无法满足企业的需求了。 企业需要一种新型的项目管理系统来应对这些挑战。一…

Spring Cloud【SkyWalking网络钩子Webhooks、SkyWalking钉钉告警、SkyWalking邮件告警】(十六)

目录 分布式请求链路追踪_SkyWalking网络钩子Webhooks 分布式请求链路追踪_SkyWalking钉钉告警 分布式请求链路追踪_SkyWalking邮件告警 分布式请求链路追踪_SkyWalking网络钩子Webhooks Wbhooks网络钩子 Webhok可以简单理解为是一种Web层面的回调机制。告警就是一个事件&a…

mybatisPlus进阶篇

文章目录 映射自动映射规则表映射字段映射字段失效视图属性 条件构造器条件构造器介绍 等值查询eqallEqne 范围查询gtge(>)lt(<)le(<)betweennotBetween 模糊查询likenotLikelikeLeftlikeRight 判空查询isNullisNotNull 包含查询innotIninSqlnotInSql 分组查询groupBy…

【Java基础教程】(四十七)网络编程篇:网络通讯概念,TCP、UDP协议,Socket与ServerSocket类使用实践与应用场景~

Java基础教程之网络编程 &#x1f539;本节学习目标1️⃣ 网络编程的概念&#x1f50d; TCP和 UDP协议 2️⃣ Socket 与ServerSocket 类3️⃣ 网络编程实战——Echo 程序4️⃣ 应用场景&#x1f33e; 总结 &#x1f539;本节学习目标 了解多线程与网络编程的操作关系&#xff…

JavaWeb黑马程序员——数据库相关概念

本文前提 这是黑马程序员JavaWeb视频里的笔记资源&#xff0c;我只是照搬过来以便于日后复习。 视频链接&#xff1a;https://www.bilibili.com/video/BV1Qf4y1T7Hx?p3&vd_sourced4bb8e491e28c81c780f2db9d6123a41 MySQL基础 今日目标&#xff1a; 完成MySQL的安装及登…

如何利用JMeter测试带有Token参数的POST接口

JMeter有一个很强大的功能就是可以用来做接口测试。 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系…

如何将路径字符串数组(string[])转成树结构(treeNode[])?

原文链接&#xff1a;如何将路径字符串数组(string[])转成树结构(treeNode[])&#xff1f; 需求 这里的UI使用的是Element-Plus。 将一个路径字符串数组&#xff08;当然也可能是其他目标字符串数组&#xff09;&#xff0c;渲染成树。 /*source:/a/b/c/d/e/a/b/e/f/g/a/b/h/a…

深入浅出对话系统——闲聊对话系统

引言 闲聊对话系统也很多别名 聊天机器人ChatbotSocial ChatbotChit-chat botConversational AI开放领域对话系统 实现方法 现在闲聊对话系统一般有两种主要的实现方法 检索式对话系统生成式对话系统 可以任务闲聊对话系统也是一个函数 y f ( x ) yf(x) yf(x)&#xff0…

6-Linux的磁盘分区和挂载

Linux的磁盘分区和挂载 Linux分区查看所有设备的挂载情况 将磁盘进行挂载的案例增加一块磁盘的总体步骤1-在虚拟机中增加磁盘2- 分区3-格式化分区4-挂载分区5-进行永久挂载 磁盘情况查询查询系统整体磁盘使用情况查询指定目录的磁盘占用情况 磁盘情况-工作实用指令统计文件夹下…