[发明专利]用于具有不同高速缓存位置长度的高速缓存中高速缓存一致性的系统和方法有效
申请号: | 200580044885.4 | 申请日: | 2005-12-27 |
公开(公告)号: | CN101088074A | 公开(公告)日: | 2007-12-12 |
发明(设计)人: | Y·陈;C·休斯;J·塔克三世 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F12/04 | 分类号: | G06F12/04;G06F12/08 |
代理公司: | 永新专利商标代理有限公司 | 代理人: | 王英 |
地址: | 美国加*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 具有 不同 高速缓存 位置 长度 一致性 系统 方法 | ||
1.一种处理器,包括:
具有第一高速缓存的第一内核,所述第一高速缓存包括第一长度的第一组高速缓存位置以及第二长度的第二组高速缓存位置;
第二高速缓存,其在层次级别上比所述第一高速缓存更远离所述第一内核,该第二高速缓存具有第三长度的第三组高速缓存位置;
执行一致性操作的第一逻辑模块,用来在所述第三组高速缓存位置之一中保存第一高速缓存行的目录条目,所述目录条目包括一矢量,该矢量用于表示在所述第一组和所述第二组高速缓存位置中是否存在所述第一高速缓存行的各个部分;以及
具有第三高速缓存的第二内核,所述第三高速缓存包括所述第一长度的第四组高速缓存位置以及所述第二长度的第五组高速缓存位置;
其中,所述第二高速缓存包括第一寄存器组,用于跟踪向所述第一高速缓存和所述第三高速缓存发出的请求,所述请求针对的是所述第一组、第二组、第四组和第五组高速缓存位置中的所述第一高速缓存行的各个部分。
2.如权利要求1所述的处理器,其中,所述矢量还表示在所述第四组和所述第五组高速缓存位置中是否存在所述第一高速缓存行的各个部分。
3.如权利要求2所述的处理器,其中,当所述第一高速缓存请求存储器或高速缓存操作时,所述第一逻辑模块根据所述矢量形成状态树,其中所述存储器或高速缓存操作对应于所述状态树的第一节点。
4.如权利要求3所述的处理器,其中,当所述第一节点已经处于活动状态时,所述第一逻辑模块将延迟所述一致性操作。
5.如权利要求3所述的处理器,其中,当所述状态树中的所述第一节点的祖先节点已经处于活动状态时,所述第一逻辑模块将延迟所述一致性操作。
6.如权利要求3所述的处理器,其中,当所述状态树中的所述第一节点的后代节点已经处于活动状态时,所述第一逻辑模块将延迟所述一致性操作。
7.如权利要求3所述的处理器,其中,所述第一逻辑模块将实现响应于所述第一节点和第二节点的依赖性的、用于所述第一节点和所述第二节点的可允许状态的规则。
8.如权利要求1所述的处理器,其中,所述第二高速缓存包括第二逻辑模块,用于组合所述各个部分以集合所述第一高速缓存行的当前值。
9.一种用于执行高速缓存一致性操作的方法,包括:
从一组第一级高速缓存中之一接收对存储器或高速缓存操作的一个请求,所述一组第一级高速缓存中的每一个都包括第一长度的高速缓存位置以及第二长度的高速缓存位置;
在第二级高速缓存中判断,所述第一长度的所述高速缓存位置和所述第二长度的所述高速缓存位置中的哪一个包括与该个请求相对应的所述第二级高速缓存的第一高速缓存行的各个部分;
部分地基于所述判断的结果延迟对所述存储器或高速缓存操作的该个请求;
发送一组数据请求给所述一组第一级高速缓存中的选定的一些第一级高速缓存,其中,在所述选定的一些第一级高速缓存中,所述判断发现所述第一高速缓存行的各个部分;以及
在寄存器中跟踪所述数据请求。
10.如权利要求9所述的方法,其中,所述判断包括检查所述第一高速缓存行的目录条目中的一个矢量,该个矢量表示在所述第一长度的高速缓存位置和所述第二长度的高速缓存位置中何处包括所述第一高速缓存行的各个部分。
11.如权利要求10所述的方法,其中,所述判断还包括使用所述第二级高速缓存的逻辑模块,根据所述矢量构造状态树。
12.如权利要求11所述的方法,其中,所述判断包括,从与该个请求对应的节点开始,将高速缓存一致性规则应用于所述状态树中的祖先节点和后代节点。
13.如权利要求9所述的方法,还包括集合所述各个部分以构成所述第一高速缓存行的当前值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200580044885.4/1.html,转载请声明来源钻瓜专利网。