1、ACE5-LITE
stashnideden stashlpideden permitted behavior
0 0 WriteUniqueStash or StashOnce以外的所有trans
1 0 WriteUniqueStash or StashOnce,stash target只有physical intf
0 1 WriteUniqueStash or StashOnce, ACE5-LITEACP intf
1 1 WriteUniqueStash or StashOnce
2、测试场景
测试场景:
(1)RNI先1&0和1&1去写ddr地址,stash RNF。1&0和1&1两种组合都可以。
(2)RNI读ddr,数据比对OK,写进DDR,无法确认cache状态。
(3)RNF readnosnp,数据走HNF返回RNF,数据比对OK。
证明RNI stash操作成功,数据stash在离RNF最近的HNF中。注意:此处HNF data通道fwdstast为3。另外CMN内的HNF数据不算RNF的cacheline。此时可以认为cacheline中addr为I。
测试场景:
(1)RNF1去写DDR,cacheline为I。RNF0去readshared读。数据比对OK,确认写进DDR,RNF0 cache为I -> UC。
(2)RNF1去readshared读。数据比对OK,数据从RNF0 fwd过来。cache为UC -> SC。
(3)RNI stash,写ddr地址,writeuniqueptlstash。写ddr地址,ddr数据更新。同时snpcleanInvalid cacheline,将RNF0/1 cacheline SC -> I。此时数据存储在ddr和hnf,cacheline为I。这就是uniquestash的含义。