CHI协议之DVM操作

本文部分内容参考了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;

In the two SnpDVMOp requests the combination of the two address fields transports the complete payload. SNP.Addr[0] is used in a SnpDVMOp request to indicate which part of the payload is being transported.


区别点在于每个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。
 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值