CHI - Transaction介绍(1) - Dataless
2. DataLess
在CHI中Dataless类型的传输主要是用来完成以下功能:
a. 获取store cache 权限;
b. 执行 cache maintenance;
c. Updating the state of snoop filter;
d. 把data移动到与将要访问的点更近的点
下面继续描述关于该类型传输的
2.1 CMO Dataless
Request Command | addition setting | 请求来源/目的 | Comment | 涉及节点 | ||
CleanShared | No ExpCompAck | 采用该transaction来使所有的cache备份都变为non-dirty,且dirty的都写回mem了 -- 收到comp resp,表示该行为完成 | 1. comp resp并不包含data;且需要忽略resp域的信息; 2. 从一个RN向互连发送CMO事务和从一个SN向互连发送CMO事务由BROADCASTPERSIST (BP)和broadcastcachemmaintenance (BCM)接口信号控制; 3. 可接受的memAttr域值为: device allocate cacheable EWA 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 1 0 1 1 1 4. snpAttr 可以为任意值; 5. order field不能设置; | — RN-F, RN-D, RN-I to ICN(HN-F, HN-I). — ICN(HN-F) to SN-F. — ICN(HN-I) to SN-I. | ||
CleanInvalid | No ExpCompAck | 采用该transaction来使所有的cache备份都变为Invalid,且dirty的都写回mem了 -- 收到comp resp,表示该行为完成 | ||||
MakeInvalid | No ExpCompAck | 采用该transaction来使所有的cache备份都变为Invalid,且dirty line直接丢弃 -- 收到comp resp,表示该行为完成 | ||||
CleanSharedPersist | No ExpCompAck | 采用该transaction来使所有的cache备份都变为non-dirty,且dirty的都写回mem或者 point of persistence位置了 -- 收到comp resp,表示该行为完成 |
2.2 Other Dataless
Evict | No ExpCompAck | 表示一个clean 的cache line不再被RN cache | 1. transaction 没有data信息; 2. cacheline不再被保持 | |||
StashOnceShared | No ExpCompAck | 读请求,且是一个Snoopable地址区域 | ||||
StashOnceUnique | No ExpCompAck | 读请求,且是一个Snoopable地址区域 | ||||
CleanUnique | ExpCompAck | 为了使请求的snp地址变成独占态,然后方便后续修改; 一般就是请求的人自己有share的备份<没有也行>,然后又要修改这个cache line | 1. comp resp并不包含data; 2. snp过程中的dirty 备份必须被写回; 3. 可以有exclusive参数; | RN-F to ICN(HN-F). | ||
MakeUnique | ExpCompAck | 为了获得请求的snp地址的权限,不需要data返回; 只能用在 requester保证后续会修改整个cacheline时使用 | 1. comp resp并不包含data; 2. snp过程中的dirty 备份,直接被invalid即可; |