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

减少来自侦听过滤器的后无效事务制造技术

技术编号:3908216 阅读:273 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及减少来自侦听过滤器的后无效事务,在一个实施例中,本发明专利技术包括一种方法:从高速缓存代理接收未决容量驱逐的指示,确定来自高速缓存代理的无效写回事务对于与未决容量驱逐相关联的高速缓存线是否是可能的,以及如果为是,则将与所述高速缓存线相关联的侦听过滤器条目从侦听过滤器移到分级区。描述并要求保护其他实施例。

【技术实现步骤摘要】
减少来自侦听过滤器的后无效事务
技术介绍
在具有多个处理器和多个高速缓存的多处理器系统中,每个高速缓存可存储存储器中所存储的数据片的副本。当一个以上的高速缓存包含同一数据片的 副本时出现了问题。已经开发了多种技术来确保多个高速缓存上的数据一致 性。例如,当一个高速缓存中的数据被修改时,该数据的其它副本被标记为无 效,以使得它们将不会被使用。为了帮助维持高速缓存一致性,很多系统包括诸如侦听过滤器之类的目录 以帮助确定在这种多个高速缓存的高速缓存线中数据的存在和状态。可发生总 线代理监视例如读/写操作的存储器事务的侦听操作。代理可将存储器事务中涉 及的高速缓存线的状态记录在侦听过滤器中。高速缓存线的状态可指示该线是 仅具有在主存储器外的一个有效副本,具有由多个高速缓存共享的多个有效副 本,还是不具有在主存储器外的副本(即它在所有高速缓存中都已经无效)。 侦听过滤器中的数据条目通常部分地根据主存储器中其地址的一部分索引。侦听过滤器有时会缺乏用于记录新存储器事务的线的状态的空间,且可能 需要从侦听过滤器驱逐条目以容纳新的事务。通常当条目被驱逐出侦听过滤器时,后无效(back-invalidation)消息被发送到可能保存与所驱逐条目相关联的 线的有效副本的每个处理器高速缓存。很多高速缓存未命中是由于侦听过滤器 发起即将使用的高速缓存线的后无效。某些侦听过滤器被称为包含式侦听过滤器(ISF),因为侦听过滤器中的 信息用侦听过滤器覆盖的髙速缓存的高速缓存线来包含式地维持。在包含式高 速缓存分层结构中,高速缓存存储器之一 (g卩,较低层的高速缓存存储器)包 括另一个高速缓存存储器(较高层高速缓存存储器)中所包含的数据的子集。 高速缓存分层结构可提高处理器性能,因为它们使得具有相对较快存取速度的 较小高速缓存包含频繁使用的数据。而存取速度比较小高速缓存慢的较大高速 缓存存储较不频繁使用的数据(以及较低层高速缓存中的数据的副本)。侦听过滤器同它们覆盖的高速缓存一样分配并驱逐条目。然而,因为具有ISF的包含式高速缓存分层结构存储某些共用数据, 一个高速缓存层中的高速 缓存线或侦听过滤器的驱逐可导致高速缓存分层结构的另一个层中的相应高 速缓存线驱逐以维持高速缓存一致性。ISF必需确保其地址被驱逐出侦听过滤 器的高速缓存线从所有覆盖的高速缓存中去除。 一般而言,这涉及将后无效请 求从侦听过滤器发送到所覆盖的高速缓存。当侦听过滤器发送很多这种请求时 它消耗互连带宽,这可增加有效存储器等待时间,并可能去除有用的高速缓存 条目。附图简述附图说明图1是多处理器系统的实施例的框图。 图2是根据本专利技术一个实施例的一致性控制器的框图。 图3是根据本专利技术的实施例示出高速缓存代理、侦听过滤器和分级区 (stagingarea)之间的交互的框图。图4是根据本专利技术一个实施例的方法的流程图。详细描述在各实施例中,侦听过滤器可被配置成使得它将数量减少的后无效消息发 送到与其耦合的高速缓存。由此,从高速缓存驱逐较少的条目,从而提高高速缓存命中率。减少后无效消息的数量还将减少系统互连通信量,从而改进存储 器等待时间和其它系统效率因数。更具体地,在各实现中,如果相应的高速缓 存有可能将立刻发出给定高速缓存线的其自身的无效消息,则将从侦听过滤器 驱逐条目的侦听过滤器(其中条目与该给定高速缓存线相关联)可避免发送后 无效消息。由此,可避免从侦听过滤器发送后无效消息的开销。取决于高速缓存大小和应用,被驱逐出侦听过滤器的高速缓存线的相当大 的部分将被修改(也称为"脏")。当高速缓存决定驱逐脏线时,它一般发出 "显式写回"(EWB)事务。在某些实现中,这种事务被称为无效显式写回(或 BWL.INVLD)事务,其将两个语义组合到单个事务中。更具体地,该事务报 告所指高速缓存线的当前值,并提供指示高速缓存线已经从高速缓存分层结构的所有层中完全去除的指示。各实施例利用该第二属性,以使得覆盖该高速 缓存的侦听过滤器可静默去除其相关联的条目。即,侦听过滤器可将相应条目 驱逐出侦听过滤器而不发出后无效请求。因此,当ISF可确定所覆盖的高速缓存有可能对已经或即将被驱逐的ISF 条目发出无效显式写回事务时,它可延迟发出无效请求。然后,当高速缓存对 所指高速缓存线发出该事务时,侦听过滤器不需要发出该无效请求。因此,实施例可提供第一机制,其向ISF提供可能对该侦听过滤器中已驱 逐(或即将驱逐)的条目发出无效显式写回的指示,以及第二机制,其利用该 信息制止在给定时间段内发出无效请求。如果在该时间段中接收到相关联的无 效显式写回事务,则侦听过滤器可避免发送该请求。在一个实施例中,第一机制可就读取事务利用提示,其指示特定高速缓存 中的哪个高速缓存线位置正被驱逐从而为读取结果让出空间。提示本身可包括 用以报告该驱逐方式被修改的在本文中称为"EWB提示"的信息。该机制的 替换形式可利用侦听过滤器本身中的信息。例如,在接收驱逐提示后,侦听过 滤器可保持指示高速缓存获得将被驱逐的线的独占所有权的指示。请求线的独 占所有权与修改该线高度相关(通常,对于Intel 64和Intd⑧架构(IA) -32 指令集架构(ISA)应用远超过90%的概率)。因此,该指示可导致侦听过滤 器延迟发出无效消息。在一个实施例中,第二机制可被实现为缓冲器,诸如无效请求的虚拟或物 理队列或池。即,侦听过滤器可被分成主侦听过滤器部分和辅侦听过滤器部分, 在主侦听过滤器部分中存储所有的侦听过滤器条目,辅侦听过滤器部分可被称 为分级池或无效池,其中存储要被驱逐出侦听过滤器的条目。因此在驱逐前, 且在其中阻止来自侦听过滤器的无效请求进行传输的至少一个时间段(例如, 在某些实施例中可以是约100纳秒数量级的预定时间段)内,被驱逐出主侦听 过滤器部分的条目可被存储在该分级池中。因此传入的无效显式写回事务可用 于引起对包括等待无效请求的未决条目集合的该池的搜索并删除任何匹配项。 该虚拟或物理结构中的未决无效可在某一时间段之后发出,在池或队列群体达 到某一水平时以某种时间顺序为基础发出,和/或在有足够的系统资源可用时发 出。7参照图1,示出的是多处理器系统10的实施例的框图。如图1所示,系 统10可具有与芯片组13互连的多个处理节点17。每个处理节点17可包括一 个或多个处理器11 (示出每个处理节点有两个处理器,其中每个处理器可以是 处理器核或多核处理器)和高速缓存12。每个高速缓存12可被"主节点"(该 高速缓存所处的处理节点)的处理器11本地访问,且可被"远程节点"(主 节点以外的处理节点)的处理器ll远程访问。高速缓存12被称为关于主节点 的处理器11的"本地高速缓存",且可由诸如静态随机存取存储器(SRAM) 之类的相对较小且快速的存储器构成。处理节点17可经由一个或多个前端总 线(FSB) 14 (仅示出两个FSB)或诸如点对点互连之类的其它类型的互连耦 合到芯片组13。可在单个芯片上实现一个或多个处理节点17。系统10由于其 所具有的高集合处理能力而可用作服务器系统,但本专利技术的范围不限于此方 面。芯片组13可包括一致性控制器132,其可包括根据本专利技术实施例的侦听 过滤器,用于处理从FSB 14接收的请求并在高速缓本文档来自技高网...

【技术保护点】
一种方法,包括: 从高速缓存代理接收未决容量驱逐的指示; 确定来自所述高速缓存代理的无效写回事务对于与所述未决容量驱逐相关联的高速缓存线是否是可能的;以及 如果所述无效写回事务是可能的,则将与所述高速缓存线相关联的侦听过滤 器条目从侦听过滤器移到分级区。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:T库尔茨K程JD吉尔伯特J曼德尔布莱特
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1