发明名称 |
Cache一致性协议派生处理方法 |
摘要 |
本发明提供了一种Cache一致性协议派生处理方法。针对每一个一次请求的一致性处理流程依次执行目录访问以及派生请求判断;在目录访问中,查询一次请求地址对应的数据在CPU内部是否有比主存更新的副本,如有,则一次请求访问最新副本;否则判定主存中数据是最新的,一次请求直接访问主存;而且,对于CPU内部有最新副本的情况,生成作为所述一次请求的派生请求的二次请求,所述二次请求或将最新副本回写主存,并且将该最新副本置为无效,或将CPU内最新副本置为无效;在派生请求判断中,判断一次请求是否有派生请求,如果一次请求有派生请求,则使该一次请求不能从一次请求队列释放。 |
申请公布号 |
CN102929800B |
申请公布日期 |
2015.07.08 |
申请号 |
CN201210396169.4 |
申请日期 |
2012.10.17 |
申请人 |
无锡江南计算技术研究所 |
发明人 |
郑卫华;王梦嘉;张清波;许勇;郑方;高红光 |
分类号 |
G06F12/08(2006.01)I;G06F9/38(2006.01)I |
主分类号 |
G06F12/08(2006.01)I |
代理机构 |
北京众合诚成知识产权代理有限公司 11246 |
代理人 |
龚燮英 |
主权项 |
一种Cache一致性协议派生处理方法,其特征在于包括:针对每一个一次请求的一致性处理流程依次执行目录访问以及派生请求判断;其中,在目录访问中,查询一次请求地址对应的数据在CPU内部是否有比主存更新的副本,如果有比主存更新的副本,则一次请求访问最新副本;如果没有比主存更新的副本,则判定主存中数据是最新的,一次请求直接访问主存;而且,对于CPU内部有最新副本的情况,生成作为所述一次请求的派生请求的二次请求,所述二次请求将所述最新副本回写主存,并且将所述最新副本置为无效,或者直接将CPU中的所述最新副本置无效;其中,在派生请求判断中,判断一次请求是否有派生请求,如果一次请求有派生请求,则使该一次请求不能从一次请求队列释放;而且其中,还针对每一个一次请求的一致性处理流程执行地址冲突判断;其中,在地址冲突判断中,比较一次请求的地址和目前尚未完成的所有请求地址,如果有相同请求地址,则判断有地址冲突,记录地址冲突信息,并使所述一次请求等待下一次处理;其中,尚未完成的所有请求地址包括一次请求队列、访存请求队列以及其他悬挂队列中所有有效条目的地址信息,所述地址信息中包括未完成的派生请求的请求地址;而且其中,还针对每一个一次请求的一致性处理流程执行结构冲突判断;其中,在结构冲突判断中,不同的一次请求的处理需要不同的队列资源,根据目录访问的查询结果确定本次请求处理需要的队列资源,判断所需队列资源是否可得;如果本次请求处理需要的队列资源可用,则判定该一次请求无结构冲突;如果本次请求处理需要的队列资源不可用,则判定该一次请求存在结构冲突,该一次请求需要等待下一次处理。 |
地址 |
214083 江苏省无锡市滨湖区军东新村030号 |