请教一下关于接入Non-inclusive HuanCun作为L2 Cache Probe的问题
Closed this issue · 4 comments
FuWenyi commented
您好,想请教以下两个问题:
1.L2 HuanCun在什么情况下会向L1发送Probe请求?我目前只了解到,当一个L1 Cache的最新副本存在另一个L1 Cache时,L2 Cache会向另一个L1 Cache发出Probe请求。想问一下还有哪些情况会让HuanCun向Client Cache 发出Probe?
2.当进行Probe事务时,HuanCun 用什么方式告诉L1 Cache 需要ProbeAckData? (即L1 Cache ProbeAck的时候是否需要返回Data)。我正在尝试自己实现一个L1 Cache与Huancun连接,对于Probe请求,我目前使用的方式是在L1中通过onProbe函数判断是否有脏数据,若有则向Huancun返回Data,不过这个方式好像并不适配。
非常感谢~
wakafa1 commented
- 还有一种情况,是 L2 或者 L3 的 client dir 满了,会主动发送一个 probe 腾出位置
- 可以看一下 sourceB 模块,我们会在 B 通道的 data 域中设置一个 “needdata” 比特来提示上层是否需要返回数据
FuWenyi commented
谢谢。关于第一个问题您的解答,我去查阅了HuanCun文档中的ProbeHelper。我是否可以这么理解,在ProbeHelper的助力下,我实现的L1 Cache不需要实现主动的Release,victim的选择也是L2 Cache通过Probe辅助确定的。
wakafa1 commented
不是这样的,client dir 的容量大于 dcache 的容量,只在极端映射情况下才会主动发起 probehelper 的 probe
FuWenyi commented
好的,谢谢解答。