当前位置: 首页 > 专利查询>英特尔公司专利>正文

减少探听过滤器中的后来无效的行交换方案制造技术

技术编号:2826957 阅读:335 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及减少探听过滤器中的后来无效的行交换方案。在一个实施例中,提供一种方法。本实施例的方法提供以下步骤:接收来自多个处理器中的一个处理器的对数据的请求,至少部分根据请求来确定高速缓存条目位置,将数据存储在对应于处理器的高速缓存的高速缓存条目位置上,以及将对应于数据的一致性记录存储在对应于高速缓存的亲和单元中。

【技术实现步骤摘要】
减少探听过滤器中的后来无效的行交换方案
交换方案。技术背景00021 作为增加新的计算机系统的计算能力的一种方法,多个 处理器或者具有多个核心的处理器的使用越来越普遍。多处理器和多 核系统共享系统资源、如系统存储器和存储装置。多个处理器或核心 通常访问存储器或存储装置中的相同数据,并尝试同时利用这种数 据。为了实现这个方面,多处理器和多核系统跟踪数据的使用以保持 数据一致性。保持多处理器系统中的数据一致性的一个方面是确保各 处理器中緩存的数据是一致的。例如,各处理器可能在将数据写回系 统存储器之前改变其高速缓存中的数据。如果另一个处理器在被改变 数据写回存储器之前向系统存储器请求这个数据,则数据一致性丟失。100031 用于保持这些系统中的数据一致性的一个常见方案是采 用探听过滤器。要确保数据一致性,处理器或核心可在访问或修改数 据之前向其它处理器发送一致性请求、通常称作探听。传统的探听过 滤器保持来自各处理器或核心的数据请求的高速緩存,以便跟踪各处 理器或核心的高速緩存的内容。,每当处理器从存储器检索数据时,包 含那个数据的标记地址的一致性记录存储在探听过滤器中。但是,探 听过滤器不知道已经由处理器或核心逐出的高速緩存条目,因为不可 能让处理器向探听过滤器发送所有高速緩存命中存储器引用以保持处 理器的高速緩存条目与探听过滤器条目之间的完全匹配。例如,处理器经常引用的行可能在探听过滤器看来是陈旧的,因为该行的活动没 有暴露在内部高速缓存分级结构之外。在另一种情况中,处理器的高 速緩存中的清洁(未修改)行可能被另 一个高速緩存未命中地址取代而 没有通知探听过滤器。因此,探听过滤器可能具有不再由处理器使用 的许多陈旧数据条目。此外,为了在接收到来自处理器或核心的新请 求时为新条目留出空间,探听过滤器可能必须逐出可能仍然在使用的 高速緩存条目。 为了使这个过程对总线的带宽和处理器的使用情况的影 响最小,探听过滤器高速緩存通常足够大到跟踪探听过滤器所涵盖的 处理器中的所有高速緩存的组合大小的若千倍。实际上,探听过滤器 可能比系统中的处理器或核心的高速緩存的总大小要大四到八倍。这 些大探听过滤器占用大量空间,并增加复杂度因而增加集线器控制器 的成本。因此,选择良好的置换策略优于增加探听过滤器大小。另外 还需要对于后来无效的发布的改进。
技术实现思路
根据本专利技术的一方面,本专利技术涉及一种方法,包括 接收来自多个处理器中的一个处理器的对数据的请求; 至少部分根据所述请求来确定高速緩存条目位置; 将所述数据存储在对应于所述处理器的高速緩存的高速緩存条目 位置上;以及将对应于所述数据的 一致性记录存储在对应于所述高速緩存的亲 和单元中。根据本专利技术的另一方面,本专利技术涉及一种装置,包括 探听过滤器,可用于接收来自多个处理器中的一个处理器的对数据的请求; 至少部分根据所述请求来确定高速緩存条目位置; 将数据存储在对应于所述处理器的高速緩存的所述高速緩存条目 位置上;以及将对应于所述数据的 一致性记录存储在对应于所述高速緩存的亲 和单元中。根据本专利技术的又一方面,本专利技术涉及一种系统,包括 SRAM(静态随机存取存储器); 与所述SRAM耦合的多个处理器;以及与所述多个处理器耦合的芯片组,所述芯片组包括可用于从所述SRAM访问数据以及执行以下操作的探听过滤器接收来自多个处理器中的一个处理器的对数据的请求;至少部分根据所述请求来确定高速纟爰存条目位置;将所述数据存储在对应于所述处理器的高速緩存的所述高速緩存条目位置上;以及将对应于所述数据的 一致性记录存储在对应于所述高速緩存的亲和单元中。根据本专利技术的再一方面,本专利技术涉及一种在其中存储了指令的制造产品,所述指令在由机器执行时引起以下操作接收来自多个处理器中的一个处理器的对数据的请求;至少部分根据所述请求来确定高速緩存条目位置;将所述数据存储在对应于所述处理器的高速緩存的所述高速緩存条目位置上;以及将对应于所述数据的 一致性记录存储在对应于所述高速緩存的亲和单元中。 附图说明100061 通过附图、作为实例而不是限制来说明本专利技术的实施 例,附图中,相同的参考标号表示相似的元件。应当注意,本公开中, 一个实施例的不同说法不一定表示同一个实施例,这类说法表示 至少一个。 系统100可具有任何数量的处理器107、 111,均具有与 处理器107、 111关联的至少一个高速緩存109、 113。在一个实施例 中,系统100可具有固定数量的处理器107、 111。在另一个实施例中, 系统100可具有用于任何处理器的槽或接口 。处理器的数量可通过对 系统添加或去除处理器来改变。—致性引擎分析搜索结果以及路提示、标记地址数据、总线或处理器标识信息以及组位置指示。在一个实施例中,组位置可 在请求中指定,并且可能是提供一对 一 的 一致映射的固定的 一对一 映 射、简单二进制解码、表查找或者特殊哈希函数解码。路可采用标记 查找(上地址字段比较)来执行,或者在查找中没有找到,则可采用其它选择方案,其中包括但不限于pLRU(伪最近最少使用)、完全或部分 路提示或者随机。在得到查找过程的结果之后,可将请求转发给适当的目 的地来完成(框405)。在数据结构中找到所请求数据的情况下,将请求 转发给包含数据的处理器和高速緩存。保存所请求数据的处理器或高 速緩存可在查找的结果中表明,并根据在其中发现与请求匹配的亲和 单元来确定。在数据结构中未找到所请求数据的情况下,将请求转发给系统存储器来完成。类似地,如果在数据结构中找到所请求数据, 但它的状态信息表示其无效,则在系统存储器上完成该请求。00401 为了容纳要返回-哈请求处理器高速緩存的数据,更新由 探听过滤器保存的高速緩存的表示。通过为新条目分配空间来更新该 表示。通过检测在其上接收到请求的总线来确定响应请求而进行更新 的亲和单元。还可对请求进行解析或处理,以便确定请求中包含的路 提示或位置提示。根据请求所提供的路提示,以及通过釆用匹配请求 处理器的组选择算法的组选择算法,来选择用于将新条目存储在探听 过滤器中的槽。这样,在请求处理器的高速緩存以及探听过滤器的数 据结构中为所请求数据分配了相应条目。这种方案允许数据结构比传 统高速緩存更小并降低丢弃由处理器的任一个正使用的高速緩存条目 的可能性,以及使集线器控制器、请求处理器和完成请求的任何处理 器之间的总线带宽的使用为最小。100411 进行检查以确定高速緩存中的所选空间是否被占用(框 409)。如果槽未被占用,则更新该槽以反映数据存储在请求处理器高 速缓存的相应空间中(框413)。当请求根据所请求数据的位置从完成了 该请求的处理器返回时或者从存储器返回时,在4果听过滤器中更新数 据。如果槽被占用,则逐出该槽(框411)。在还没有使逐出的数据无效 的情况下,可在将无效消息发送给始发处理器之前将该数据暂时存储 在缓沖器中,以便确保请求处理器不依靠那个数据(框415)。00421 如果从另一个处理器检索到数据,则可通过向那个处理 器发送无效消息来使那个处理器的条目,无效。例如,如果接收到对另 一个处理器的高速緩存中的数据的独占请求,则在接收到数据之后向 那个处理器发送无效消息。 此外,在这个实施例中,如果本文档来自技高网
...

【技术保护点】
一种方法,包括:    接收来自多个处理器中的一个处理器的对数据的请求;    至少部分根据所述请求来确定高速缓存条目位置;    将所述数据存储在对应于所述处理器的高速缓存的高速缓存条目位置上;以及    将对应于所述数据的一致性记录存储在对应于所述高速缓存的亲和单元中。

【技术特征摘要】
US 2006-12-14 11/6388511.一种方法,包括接收来自多个处理器中的一个处理器的对数据的请求;至少部分根据所述请求来确定高速缓存条目位置;将所述数据存储在对应于所述处理器的高速缓存的高速缓存条目位置上;以及将对应于所述数据的一致性记录存储在对应于所述高速缓存的亲和单元中。2. 如权利要求l所述的方法,其特征在于,将对应于所述数据的 一致性记录存储在对应于所述高速緩存的亲和单元中的步骤包括将所 述数据存储在对应于所述高速纟爰存的亲和单元的随机选择的高速缓存 条目位置上。3. 如权利要求l所述的方法,其特征在于,将对应于所述数据的 一致性记录存储在对应于所述高速緩存的亲和单元中的步骤包括将所 述数据存储在对应于所述高速緩存的亲和单元的按照路提示置换策略 所选的高速緩存条目位置上。4. 如权利要求3所述的方法,其特征在于,还包括确定与所述多 个处理器的另一个处理器对应的另一个高速缓存的另一个高速緩存条 目位置上的高速緩存命中的发生,并且其中将所述一致性记录存储在 对应于所述高速緩存的亲和单元中的所述步骤包括将对应于所述高速 緩存的亲和单元的高速緩存条目位置上的一致性记录与对应于另一个 高速緩存的亲和单元的另一个高速緩存条目位置上的一致性记录交 换。5. 如权利要求3所述的方法,其特征在于,还包括确定高速緩存 未命中的发生,并且将所述一致性记录存储在对应于所述高速緩存的 亲和单元中的步骤包括如果在所述对应亲和单元中找到所述高速緩存条目位置,则将所述一致性记录存储在所述亲和单元的高速緩存条目位置上;以及如果在所述对应亲和单元中没有找到所述高速乡爰存条目位置,则 将所述一致性记录存储在所述亲和单元的推导高速緩存条目位置上。6. 如权利要求5所述的方法,其特征在于,所述高速緩存条目位 置包括组和路。7. 如权利要求6所述的方法,其特征在于,将所述一致性记录存 储在推导高速緩存条目位置上的所述步骤包括将所述一致性记录存储 在所述亲和单元的随机选取的路上。8. 如权利要求6所述的方法,其特征在于,将所述一致性记录存 储在推导高速緩存条目位置上的所述步骤包括计算路编号。9. 一种装置,包括 探听过滤器,可用于接收来自多个处理器中的一个处理器的对数据的请求; 至少部分根据所述请求来确定高速緩存条目位置; 将数据存储在对应于所述处理器的高速緩存的所述高速緩存条目 位置上;以及将对应于所述数据的 一致性记录存储在对应于所述高速緩存的亲 和单元中。10. 如权利要求9所述的装置,其特征在于,所述探听过滤器通 过将所述数据存储在对应于所迷高速緩存的亲和单元的随机选择的高 速緩存条目位置上,将对应于所述数据的 一致性记录存储在对应于所 述高速缓存的亲和单元中。11. 如权利要求9所述的装置,其特征在于,所述探听过滤器通 过将所述数据存储在对应于所迷高速緩存的亲和单元的按照路提示置 换策略所选的高速緩存条目位置上,将对应于所述数据的一致性记录 存储在对应于所述高速緩存的亲和单元中。12. 如权利要求ll所述的装置,其特征在于,所述探听过滤器还 可用于确定与所述多个处理器的另 一个处理器对应的另 一个高速缓存的另 一个高速緩存条目位置上的高速緩存命中的发生,并且其中所述 探听过滤器通过将对应于所述高速緩存的亲和单元的高速緩存条目位 置上的一致性记录与对应于另一个高速緩存的亲和单元的另一个高速 緩存条目位置上的一致性记录交换,将所述一致性记录存储在对应于 所述高速緩存的亲和单元中。13. 如权利要求ll所述的装置,其特征在于,所述探听过滤器还 可用于确定高速緩存未命中的发生,并且所述探听过滤器通过以下操 作将所述一致性记录存储在对应于所述高速緩存的亲和单元中如果在所述对应亲和单元中找到所述高速緩存条目位置,则将所 述一致性记录存储在所述亲和单元的高速緩存条目位置上;以及如果在所述对应亲和单元中没有找到所述高速緩存条目位置...

【专利技术属性】
技术研发人员:S钦塔马尼K程M曼维瓦拉B费希姆K普夫莱德雷尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1