在相容高速缓存分级结构中同步最近信息的制作方法

文档序号:6609065阅读:129来源:国知局
专利名称:在相容高速缓存分级结构中同步最近信息的制作方法
技术领域
本发明的实施例涉及处理器,更具体地说,涉及具有多级高速緩存 分级结构的系统的处理器。
背景技术
许多系统包括一个或多个高速緩冲存储器,用于暂时存储与将使用 数据的处理器密切相关的数据。这样,处理器可以实现减少的数据检索 次数,改进了性能。在某些系统中可以存在有多级高速緩沖存储器。这些高速緩存级别可包括所谓的零级(L0)高速緩冲存储器,它可以出现 在处理器中,以及所谓的一级(Ll )高速緩冲存储器,它也可以出现在 处理器中。附加的高速緩冲存储器级别,无论是在处理器中还是与其紧 密连接,都可以进一步出现在各种系统中。在一些系统中,多级高速緩冲存储器可以作为相容高速緩存分级结 构来实现。在相容高速緩存分级结构中,高速緩沖存储器之一 (也就是 较低级高速緩冲存储器)包括另一高速緩冲存储器(也就是较高级高速 緩沖存储器)中所含数据的子集。高速緩存分级结构可以改进处理器性 能,因为它们允许存取速度相对快的较小高速緩存含有频繁使用的数 据。而存取速度比较小高速緩存慢的较大高速緩存则存储使用不频繁的 数据(以及较低级高速緩存中的数据拷贝)。典型地,这种相容高速緩 存分级结构的较低级高速緩冲存储器比较高级高速緩冲存储器小。因为相容高速緩存分级结构存储一些共用数据,因此在一个高速緩 存级别中驱逐一个高速緩存线可在高速緩存分级结构的另一级别中引起 相应高速緩存线驱逐,以维持高速緩存一致性。更具体地说,在较高级 高速緩存中的驱逐引起在较低级高速緩存中的驱逐。各种驱逐方案可以 在不同的高速緩冲存储器中使用。 一个通用驱逐方案已知是最近最少使
用的(LRU)方案,其中最近最少使用的高速緩存线被选择进行驱逐。 因此,每个高速緩存线可具有与其关联的最近信息,以表明其相对于高 速緩存中其它高速緩存线的时效(age)。附加的高速緩存技术包括使状 态数据与高速緩存线相关联,以表明高速緩存线的可存取性和/或有效 性。例如,状态数据可包括以下状态修改的(M)、专用的(E)、共 享的(S)和/或无效的(I),或称之为MESI状态。使用常规的驱逐技术,较高级高速緩存中的高速緩存线可能由于陈 旧(也就是最近最少使用的高速緩存线)而被驱逐,尽管在较低级高速 緩存中该高速緩存线的相应拷贝被处理器频繁存取。在具有相容性的分 级结构中,当一个较高级高速緩存线被驱逐时,在较低级高速緩存中的 相应高速緩存线也必须被明确地无效。这种较低级的无效高速緩存线可 包括被处理器频繁存取的数据,引起不必要的高速緩存未中。这些高速 緩存未中需要相当长的等待时间以从其它存储器位置诸如主存储器中获 得有效数据。此外,当相容高速緩存分级结构具有在多个处理器例如多内核处理 器的多内核之间共享的较高级高速緩存时,问题就出现了。在这种情况 下,每个内核至少占用较高级高速緩存中的一些高速緩存线,但所有内 核都争夺共享资源。当其中 一个内核使用 一个适合在其较低级高速緩存 内部的小工作集时,这个内核很少(如果有的话)必须向较高级高速緩 存发送请求,因为这些请求在其较低级高速緩存中命中。因此,较高级 高速緩存中的这个内核的线变得陈旧,不管该内核多长时间使用它们一 次。当与不断向较高级高速緩存中分配高速緩存线的其它内核共享较高 级高速緩存时,该内核的数据被驱逐,导致性能下降。


图l是根据本发明一个实施例的处理器框图。图2是根据本发明一个实施例的同步方法流程图。图3是根据本发明一个实施例的消息扼制方法流程图。图4是根据本发明一个实施例的扼制单元框图。图5是根据本发明一个实施例的方法流程图。图6是根据本发明一个实施例的多处理器系统框图。
具体实施方式
本发明的实施例可用于在高速緩存分级结构的多级之间同步时效信 息(下文中也被称之为最近信息或者LRU信息)。更具体地说,提供最 近数据的同步消息可用来在相容高速緩存分级结构的多级之间同步该最 近数据。这样,较高级高速緩存可用与较低级高速緩存中相应高速緩存 线的使用有关的信息进行更新。因此,从较高级高速緩存中的驱逐可考 虑也存在于较低级高速緩存中的其高速緩存线的正确时效信息。因而, 较低级高速緩存中被处理器频繁存取的高速緩存线将很少可能从较高级 高速緩存中被驱逐,改进了性能。换句话说,较低级高速緩存中最近较 多使用的高速緩存线可维持在较高级高速緩存的相应高速緩存线中,降 低了因较低级高速緩存中高速緩存未中而带来的性能损失。更进一步,在存在多内核处理器或其它多处理器系统的实施例中, 提供这个LRU信息可阻止一个内核引起从较高级高速緩存中过多的驱 逐。这样,具有较少高速緩存未中的内核可以从与其关联的较低级高速 緩存向较高级高速緩存发送LRU信息,以便阻止关联的高速緩存线被 驱逐(在较高级高速緩存中和在较低级高速緩存中)。尽管根据本发明实施例传输的LRU信息可阻止不希望的驱逐,但 是可产生增加的总线业务量。因此, 一些实施例可包括扼制(throttle) 机制,以基于各种系统准则来扼制同步消息的传输。例如,在给定的时 间间隔内仅可发送一定数量的这种同步消息。.进一步地,当发生大量其 它事务处理业务量时,内核可阻止同步消息的传输,因为同步业务量可 阻塞有用工作的进展。正如本文将描述的,各种硬件、软件、固件和/或它们的组合可以实 现来执行根据本发明实施例的方法。而且,虽然这里特别相对于多内核 处理器描述的,但是应该明白本发明的范围并不局限于此,并且实施例 可以实现在包含相容高速緩存分级结构的其它系统中,以及虽然缺少这
种分级结构但维持其它相容数据结构如探听滤波器等的其它系统中。现在参考图1,该图给出了根据本发明一个实施例的处理器框图。如图1所示,处理器10可以是包括多个处理器内核2(V20n (通称内核 20)的多内核处理器。如图1所示,每个内核可包括多级的高速緩存分 级结构。具体地说,如图1所示,每个内核20可包括最低级高速緩存 25Q-25n (通称高速緩存25)。在一个实施例中,高速緩存25可对应于L0 高速緩存,尽管本发明的范围不局限于此。每个内核20还可包括中级 高速緩存28Q-28n (通称高速緩存28)。在一些实施例中,中级高速緩存 28可对应于L1高速緩存。进一步如图l所示,每个内核20还包括消息 单元22。-22。(通称消息单元22)。如下面将进一步描述的,消息单元22 可用于产生和传输最近消息。处理器10还可包括末级高速緩存(LLC) 40,它可以是较高级高 速緩存,包含存在于较低级高速緩存中的数据拷贝。如图1所示,每个 内核20可通过链路3(V30n (通称链路30 )与LLC 40连接,以使LLC 40 用作共享存储器。在各种实施例中,处理器10可以包括相容高速緩存分级结构。例 如,在图1的相容高速緩存分级结构中,高速緩存25可以包括高速緩 存28中的数据子集,而高速緩存28又可以包括高速緩存40中的数据 子集。在一些实施例中,为了在一个高速緩存线从末级高速緩存40中 驱逐后维持高速緩存一致性,在给定的中级高速緩存28和最低级高速 緩存25中的相应高速緩存线也可被驱逐。在操作期间,来自给定内核(图1中未示出)执行单元的存储器请 求可首先存取高速緩存分级结构的最低级,然后查找系统中的任何其它 高速緩存。因此,为了改进性能,被频繁存取的数据可存在于最低可能 的高速緩存级别中,也就是高速緩存25。如果请求的数据不存在于高速 緩存25中,则接下来可存取高速緩存28,以确定数据是否存在于那里。 在图1所示的实施例中,每个中级高速緩存28是每个内核20的最后查 找点,然后请求^C^布到LLC40,它是在多内核之间共享的高速緩存。在各种实施例中, 一组显式消息可用来在内核和一个或多个其相应 较高级高速緩存之间传递LRU信息。这样,时效或最近信息可以在较 高级高速緩存中进行更新,减少了与频繁使用的较低级高速緩存线关联 的高速緩存线的驱逐。这些最近消息可以是对在较低级高速緩存内命中 的事务处理的读请求,并且可以从消息单元22提供。在各种实施例中, 这些读请求可以是寻找零长度数据的请求。换句话说,这些读请求不要 求将数据返回内核。而是,这些读请求被较高级高速緩存用来更新其最 近信息,无需读出相应的高速緩存线。现在参考图2,该图给出了根据本发明一个实施例的方法流程图。 方法100可用于从较低级高速緩存中存取请求的数据,并且在较低级高 速緩存中命中后向较高级高速緩存提供最近信息。在一个实施例中,方 法100可在处理器内核的高速緩存控制器中实现。如图2所示,方法IOO 可从向高速緩存请求数据开始(框105)。例如,处理器内核可向最低级 高速緩存请求数据。下一步,可以确定在最低级高速緩存中是否有高速 緩存命中(菱形框110)。如果有高速緩存未中(也就是数据没有存在于最低级高速緩存中), 控制转到框115。在那里,请求的数据可以从存储器分级结构中获得(框 115)。如图2所示,方法100可以在该点结束,并且请求的数据例如可 以通过常规方式来存取。仍参考图2,相反如杲在菱形框110确定有一个高速緩存命中,则 控制转到框120。在那里,请求的数据可#1返回到请求方(框120)。也 就是说,包括请求数据的高速緩存线可从较低级高速緩存发送到处理器 内核。接下来,可确定消息扼制是否被激活(菱形框130)。如以下将进 一步描述的,这种扼制可以被激活以阻止从较低级高速緩存到较高级高 速緩存的某些消息业务量。如果扼制还没有被激活,则控制从菱形框130 转到框140。然后用于相应高速緩存线(也就是受到命中的较低级高速 緩存的高速緩存线)的同步消息可被发送到高速緩存分级结构的下一级 (框140)。请注意,这些消息可被发送到多于一个高速緩存级别,并可 源于高速緩存分级结构的任何期望级别。而且,基于同步消息,这种所 发送消息的计数(即消息计数)可被更新(仍是框140)。
仍参考图2,相应高速緩存线的最近信息可在下一级高速緩存中被 更新(框150)。作为一个例子,下一级高速緩沖存储器可具有一个与被 更新高速緩存线关联的标签,以表明该高速緩存线是最近最多使用 (MRU)的高速緩存线。控制从框150或者菱形框130转到框160。在 那里,请求可以从事务处理队列中解除分配(框160)。换句话说,对数 据的初始处理器请求可以从緩沖器诸如存储未决内核事务处理的事务处 理緩沖器中解除分配。因此,方法100终止。虽然用图2实施例中的具 体实现方案作了描述,但是应该理解本发明的范围不局限于此,并且从 较低级高速緩存向较高级高速緩存提供LRU信息的不同方式都可实现。通过从较低级高速緩存向较高级高速緩存提供最近信息,在较低级 高速緩存中最近最多使用的数据(也存在于相容较高级高速緩存中)可 以在较高级高速緩存中被更新作为最近最多使用的高速緩存线。这样, 该高速緩存线可避免在较高级高速緩存中(并因此也在较低级高速緩存 中)驱逐。因为在相容高速緩存分级结构中高速緩存之间发送的同步消息也影 响处理器中的共享资源,因此这种消息实际上可引起性能下降。由此, 如果正在发送的最近信息对高速緩存行为没有显著的正面影响,则附加 的高速緩存业务量实际上可引起性能下降。因此,实施例可以用不同的 方式来扼制同步消息,以限制可用于这种消息的最大带宽。这样,可最 大化发送这种消息的潜在性能增益,同时最小化任何可能的负面效应。在各种实现方案中,多种扼制机制可以被实现。例如,基于计数器 的扼制和基于占用的扼制可以在给定系统中实现。在一个实施例中,单 个状态位可以表明同步消息是否可以在给定时间发送。该位,这里称之 为提示位,可以通过基于计数器的扼制和/或基于占用的扼制而被抑制, 以阻止同步消息被发送。在一个实施例中,第一扼制机制可以是基于计 数器的方法,它可以有效地限制可用于同步消息的带宽。 一个可配置计 数器可用来确定可设置提示位的时间间隔。当该计数器溢出时,新的时 间间隔可被触发。在各种实现方案中,单独的计数器可用来跟踪在给定 时间间隔内发送的同步消息的数量。提示位可在每个时间间隔的开始时
设置,并且当该时间间隔的同步消息数量被超过时可被清除。然而,在 一些实施例中,每个时间间隔仅有单个消息可被发送,并因此可以避免 第二个计数器的需要。第二扼制机制可以是一个基于占用的方法,当高速緩存分级结构被 其它有用工作占用时,该方法限制消息带宽。例如,对高速緩存分级结 构中未决的请求数量进行分析,以确定是否实现了基于占用的扼制。在 一个实施例中,对可拥有未决事务处理的内核中的共用队列结构进行分 析。更具体地说,在一些实施例中,可以分析队列中的每个条目,以使 只有那些在某种状态的事务处理可对应于高速緩存分级结构中别处目前 未决的请求。如果在给定时间间隔内未完成的条目数量超过阈值,那么 同步消息就被抑制,直到下一个时间间隔。不同的扼制方法可以实现来设置和清除提示位。在一个实例中,提 示位可以在第 一个计数器溢出时进行设置,其表明新时间间隔的开始。 此时,可检查事务处理队列中未完成的条目数量,并将其与阈值级别相 比较。只有当该队列的占用级别低于阈值时,提示位实际上才可被设置。 否则,该位被抑制并且不能被设置,直到下一个时间间隔开始,不管队 列占用的任何随后变化如何。现在参考图3,该图给出了根据本发明一个实施例的消息扼制方法 的流程图。方法200可以被执行来确定是否扼制来自给定内核的最近消 息。如图3所示,方法200可以从禁止消息扼制开始,换句话说,就是 启动同步消息(框210)。例如,处理器启动后,同步消息就可被启动以 便传输。接下来,可以确定计数器是否已经溢出(菱形框220)。该计数器可 以是一个在预定数目范围内连续计数的计数器。在各种实施例中,该计 数器可以计数周期,比如高速緩存存取的事件等。该计数器可以连续递 增其计数,直到发生溢出为止。当计数器溢出时,控制返回到框210。 在那里,消息扼制(如果已激活的话)可被禁止。仍参考图3,相反如果在菱形框220确定计数器没有溢出,则控制 转到菱形框230,在此确定同步消息计数是否超过消息阈值(菱形框
230 )。同步消息计数可对应于在给定计数器周期内(也就是在计数器溢 出之前)所发送的同步消息数量。注意,消息阈值可以改变,并且在不 同的实现方案中可以受用户控制。如果同步消息计数超过消息阈值,则 控制转到框240,在那里消息扼制被启动。因此,控制返回到菱形框220, 来继续确定计数器的计数值。
相反如果在菱形框230确定同步消息计数没有超过消息阈值,则控 制转到菱形框250。在那里可以确定内核的事务处理队列级别是否超过 水印阈值(菱形框250)。即, 一个内核可具有一个与其相关联的事务处 理队列,其包括该内核的所有未决事务处理的条目。这种事务处理可包 括例如在探听业务量和其它这种总线事务处理之间的存储器读和写。如 果存在大量这样的条目,那么这是在内核中正在执行的、取决于消息业 务量的有用工作量的一种指示。如果条目数量超过水印阈值,则控制可 以因此转到框240,如上所述,以启动消息扼制。这样,与同步消息关 联的消息业务量可以避免,代之以允许由这些同步消息将有用工作的进 展不受阻碍地进行下去。反之如果在菱形框250确定事务处理队列级别 小于水印阈值,则控制返回到上述讨论的菱形框220。虽然用图3实施 例中的这个特定实现方案作了描述,但是应该理解,本发明的范围不局 限于此。
实现扼制机制的各种方式可以在不同实施例中实现。例如,硬件、 软件、固件或它们的組合都可用来执行扼制。现在参考图4,该图给出 了根据本发明一个实施例的扼制单元300的框图。在一个实施例中,扼 制单元300可以适配在消息发生单元中,例如,图1的消息单元22。然 而,要理解的是,在其它实施例中扼制单元300可以被置于其它位置。 扼制单元300可包括第一计数器310,该计数器具有一个溢出信号(OF) 作为其输出。第一计数器310可适配成连续计数通过预定范围,并且然 后溢出。同步消息计数器320连接成接收由内核产生的每个同步消息的 信号。由此同步消息计数器320可以产生消息计数。计数器310和320 的输出可以连接到扼制逻辑330。扼制逻辑330可以实现如上相对于图 3所述的方法,以确定是否基于各种系统参数来扼制同步消息。各种阈
值可存储在扼制逻辑330的寄存器中。例如,第一寄存器335可以存储 一个消息阈值,而第二寄存器340可以存储一个水印阈值。这些阈值可 以如上图3所述的那样被用于与是否扼制同步消息的分析中的各种计数 相比丰交。进一步如图4所示,扼制逻辑330可以连接成接收对应于队列条目 数的信号。这个数例如可对应于相关联内核的事务处理队列的级别。基 于各种阈值和输入的计数,扼制逻辑330可以确定是否扼制同步消息。 如果扼制需被激活,就可以将扼制信号从扼制逻辑330发送出去。在各 种实施例中,这种扼制信号可以被发送到例如传输同步消息的高速緩存 控制器。虽然用图4实施例中的这个特定实现方案作了描述,但是应该 理解的是本发明的范围不局限于此。使用各种实施例,同步消息可以由此从较低级高速緩存发送到较高 级高速緩存。基于这些消息,与高速緩存线相关联的标签数据的时效信 息可以被更新。当驱逐发生在这些较高级高速緩存中时,更新的最近信 息可以阻止在较高级高速緩存中最近未被存取但在较低级高速緩存中最 近被存取的高速緩存线的驱逐。现在参考图5,该图给出了根据本发明一个实施例的方法流程图。 如图5所示,方法400可以用来创建同步消息、向较高级高速緩存传输 消息、并且用消息数据更新较高级高速緩存。参考图5,方法400可开 始于接收一个高速緩存线的同步消息,该高速緩存线对应于在较低级高 速緩存中被命中的线(框410)。虽然该同步消息的内容在不同实施例中 可以不同,但是在一个实施例中该同步消息可以是零长度的读请求。接 收到同步消息后,较高级高速緩存可以向较低级高速緩存发送回一个确 认信号(框420)。在一些实现方案中,该确认消息可以是一个全局监测 (GO)信号,尽管本发明的范围不局限于此。仍然参考图5,从框420控制转到菱形框430。在那里确定对应于 同步消息的高速緩存线是否存在于较高级高速緩存中(框430)。典型地, 在相容高速緩沖存储器分级结构中,存在于较低级高速緩存中的高速緩 存线也应该存在于相应的较高级高速緩存中,它包括较低级高速緩存的
数据。然而,如果数据没有存在于较高级高速緩存中,则控制可以从菱形框430转到框440。在那里可以向存储器分级结构的其它部分请求数 据(框440)。然而,在其它实施例中,该消息而是可能被丟弃,并且不 再相对于该消息采取进一步行动。从框440 ,方法400可以终止。仍参考图5,如果数据存在于较高级高速緩存中,则控制从菱形框 430转到框450。在那里可以在较高级高速緩存中更新相关联高速緩存 线的最近信息(框450)。例如,用于相关联高速緩存线的高速緩存标签 可以用最近信息来更新。这个最近信息在不同实施例中可以不同,但是 例如可以是对于每个事务处理连续递增的计数值。在其它实施例中,可 以使用一个类似时间戳的值,或者可以使用另一个LRU指示器。因此, 较高级高速緩存可以由此用更精确的信息来更新,该信息关于在较低级 高速緩存中其继续存在的高速緩存线的使用。仍参考图5,在正常操作期间, 一个高速緩存线可能需要从较高级 高速緩存中被驱逐,以使新高速緩存线可以被插入。因此,较高级高速 緩存可执行一个驱逐例行程序来选择驱逐的线(框460)。驱逐例行程序 可以采用许多不同的形式。在一个实施例中,LRU驱逐方案可以,皮实现。 因此,较高级高速緩存可以确定哪个高速緩存线是最近最少使用的高速 緩存线,并且可以选择该线进行驱逐。由于所发送的同步消息用于较低 级高速緩存中最近使用的高速緩存线(也就是框410),因此较高级高速 緩存中的相应高速緩存线就可基于其最近信息来维持,而代之以废弃较 高级高速緩存的不同高速緩存线(都在框470)。虽然用图5实施例中该 特定实现方案作了描述,但是应理解的是本发明的范围不局限于此,并 且实现同步消息和执行驱逐的其它方式也可实现。本发明的实施例可以改进较高级高速緩存中时效信息的精确性。这 样,基于更全局性的精确信息,高速緩存可以作出有关驱逐的更好决定。 在各种实施例中,同步消息可以是轻型消息,因为它不寻求返回任何数 据。因此在各种实施例中,同步消息可允许较高级高速緩存来处理高速 緩存线替换以实现最佳的高速緩存行为,因为较低级高速緩存中的MRU 高速緩存线对于较高级高速緩存是可见的,甚至在没有高速緩存未中的
情况下。而且,在多于一个独立高速緩存分级结构共享相容较高级高速緩存 的多内核系统中,多内核之间对较高级高速緩存的不对称存取模式可以 通过发送同步消息使其平衡,由此导致更加合理地共享较高级高速緩 存。因此,向较高级高速緩存发送少量高速緩存未中的内核可以通过同 步消息来避免负面性能影响。进一步通过依照本发明的实施例扼制同步 消息,多内核处理器的单个内核可以当该内核受到对其内核高速緩存的 高未中率时,例如当执行代码流时,可以阻止超过其合理带宽。实施例可以在许多不同的系统类型中实现。现在参考图6,该图给 出了依照本发明实施例的多处理器系统框图。如图6所示,多处理器系统500是一个点对点互连系统,并且包括第一处理器570和第二处理器 580,它们通过点对点互连550连接。然而,在其它实施例中,多处理 器系统可具有另 一总线体系结构,比如多点总线或另 一这种实现方案。 如图6所示,每个处理器570和580都可以是多内核处理器,包括第一 和第二处理器内核(也就是处理器内核574a和574b以及处理器内核584a 和584b),尽管其它内核以及可能更多的其它内核可存在于特定实施例 中。虽然在图6的实施例中未示出,^f旦应该理解的是,第一和第二处理 器内核每个都可包括一个或多个高速緩冲存储器。而且,如图6所示, 末级高速緩冲存储器575和585可以分别连接到每对处理器内核574a 和574b以及584a和584b。为了改进这种体系结构中的性能,依照本发 明的实施例,处理器570和580中的高速緩存控制器或其它控制逻辑可 以产生、传输、和/或扼制最近消息。仍参考图6,第一处理器570还包括存储控制器中心(MCH) 572 以及点对点(P-P)接口 576和578。相似地,第二处理器580包括MCH 582以及P-P接口 586和588。如图6所示,MCH 572和582将处理器 连接到各自的存储器,也就是存储器532和存储器534,它们可以是局 部附到各自处理器的主存储器的一部分。第一处理器570和第二处理器580可以分别通过P-P互连552和554 与芯片组590连接。如图6所示,芯片组590包括P-P接口 594和598。 而且,芯片组590包括一个接口 592,以将芯片组590与高性能图形引 擎538连接。在一个实施例中,高级图形端口 (AGP)总线539可用来 将图形引擎538连接到芯片组590。 AGP总线539可符合加速图形端口 接口规范(修订2.0,由加利福尼亚州Santa Clara的英特尔公司于1998 年5月4日出版)。备选的是,点对点互连539可以连接这些组件。芯片组590又可以通过接口 596与第一总线516连接。在一个实施 例中,第一总线516可以是外围组件互连(PCI)总线,如由PCI局部 总线规范(生产版,修订2.1,日期为1995年6月)所定义的,或是例 如PCIExpress总线或另一个第三代输入/输出(I/O)互连总线的总线, 尽管本发明的范围不局限于此。如图6所示,各种I/O装置514可以和总线桥518 —起连接到第一 总线516,总线桥518将第一总线516连接到第二总线520。在一个实 施例中,第二总线520可以是一个低管脚计数(LPC)总线。在一个实 施例中,各种装置可以连接到第二总线520,例如包括4定盘/鼠标522、 通信装置526、以及可包括代码530的数据存储单元528。进一步,音 频I/O 524可以连接到第二总线520。实施例可以用代码实现,并且可以存储在存储介质上,该存储介质 其上存储可用于对系统编程的指令以执行该指令。存储介质可包括^旦不 限于任何类型的盘,包括软盘、光盘、光盘只读存储器(CD-ROM)、 光盘可重写存储器(CD-RW)以及磁光盘;半导体器件,比如只读存储 器(ROM)、随机存取存储器(RAM),比如动态随机存取存储器 (DRAM)、静态随机存取存储器(SRAM)、可擦除可编程只读存储器 (EPROM)、闪存、电可擦除可编程只读存储器(EEPROM)、磁卡或 光卡;或者适合于存储电子指令的任何其它类型的介质。虽然已经相对于有限数量的实施例对本发明作了描述,但是本领域 技术人员将理解其许多修改和变化。意图是所附权利要求覆盖落在本发 明的真实精神和范围内的所有这种修改和变化。
权利要求
1.一种方法,包括接收对存在于较低级高速缓存的较低级高速缓存线中数据的高速缓存存取请求;以及向较高级高速缓存发送有关所述较低级高速缓存线的最近信息,所述较高级高速缓存与所述较低级高速缓存相容。
2. 如权利要求1所述的方法,还包括基于所述最近信息,更新与 对应于所述较低级高速緩存线的所述较高级高速緩存的较高级高速緩存 线相关联的时效数据。
3. 如权利要求2所述的方法,还包括至少部分基于所述时效数据 不驱逐所述较高级高速緩存线,并且驱逐具有与其关联的较老时效数据 的第二较高级高速緩存线。
4. 如权利要求1所述的方法,其中发送所述最近信息包括向所述较 高级高速緩存发送零长度的读请求。
5. 如权利要求4所述的方法,还包括响应于所述零长度的读请求, 将对应于所述较低级高速緩存线的较高级高速緩存线设置为最近最多使 用的状态。
6. 如权利要求1所述的方法,还包括从多个较低级高速緩存向所 述较高级高速緩存发送有关高速緩存存取请求的最近信息,每个较低级 高速緩存与多个处理器内核之一相关联。
7. 如权利要求6所述的方法,还包括扼制发送有关所述多个较低 级高速緩存中至少 一个的所述最近信息。
8. 如权利要求7所述的方法,还包括基于与所述多个较低级高速 緩存中至少 一个相关联的处理器内核的带宽分配进行扼制。
9. 一种设备,包括 第一级高速緩存;第二级高速緩存,连接到第一级高速緩存;以及消息单元,如果存取请求对应于存在于第 一级高速緩存中的数据就 向第二级高速緩存传输消息。
10. 如权利要求9所述的设备,其中所述消息单元产生作为具有零 长度字段的读请求的消息。
11. 如权利要求9所述的设备,还包括扼制器,如果消息的阈值数 已经在第一时段从所述消息单元发送,则所述扼制器就扼制所述传输。
12. 如权利要求11所述的设备,其中所述消息单元至少部分基于与 第一级高速緩存相关联的内核的事务处理业务量来扼制所述传输。
13. 如权利要求12所述的设备,其中所述扼制器还包括确定所述事 务处理业务量是否超过业务量阈值并且如果超过就扼制所述传输的逻辑。
14. 如权利要求9所述的设备,其中第二级高速緩存更新包含所述 数据的第二级高速緩存的高速緩存线的最近信息。
15. 如权利要求14所述的设备,其中第二级高速緩存至少部分基于 所述最近信息来维持包含所述数据的所述高速緩存线,并且驱逐不同的 高速緩存线。
16. 如权利要求9所述的设备,其中第二级高速緩存具有比第一级 高速緩存更高的级别。
17. —种制品,包括包含指令的机器可读存储介质,所述指令如果 被机器执行则使所述机器能够执行包括如下步骤的方法确定在一个时段内从高速緩存分级结构的第一高速緩存向第二高速 緩存发送的同步消息的数量;以及如果所述同步消息的数量超过消息阈值,则扼制所述同步消息。
18. 如权利要求17所述的制品,其中所述方法还包括如果所述同 步消息的数量超过所述消息阈值,则设置扼制指示器。
19. 如权利要求18所述的制品,其中所述方法还包括在所述时段 后清除所述扼制指示器。
20. 如权利要求17所述的制品,其中所述方法还包括确定未决的 处理器事务处理的数量是否超过水印阈值。
21. 如权利要求20所述的制品,其中所述方法还包括如果所述未决的处理器事务处理的数量超过所述水印阈值,则扼制所述同步消息。
22. 如权利要求17所述的制品,其中所述方法还包括扼制从第一 处理器内核到共享高速緩冲存储器的同步消息,而不扼制从第二处理器 内核到所述共享高速緩冲存储器的同步消息。
23. —种系统,包括第一处理器内核,包含第一高速緩冲存储器;第二处理器内核,包含第二高速緩冲存储器;共享高速緩冲存储器,连接到第一处理器内核和第二处理器内核, 其中如果命中发生在第一高速緩沖存储器中,则第一处理器内核向所述 共享高速緩冲存储器发送同步消息;以及动态随机存取存储器(DRAM),连接到所述共享高速緩沖存储器。
24. 如权利要求23所述的系统,其中所述共享高速緩沖存储器包括 相对于第一高速緩沖存储器和第二高速緩沖存储器的相容高速緩冲存储 器。
25. 如权利要求23所述的系统,还包括多内核处理器,所述多内核 处理器包含第一处理器内核、第二处理器内核和所述共享高速緩冲存储 器。
26. 如权利要求23所述的系统,其中第一处理器内核还包括产生所 述同步消息的消息单元,其中所述同步消息包括零长度的读请求。
27. 如权利要求24所述的系统,其中所述消息单元还包括扼制逻辑, 所述扼制逻辑至少部分基于第 一处理器内核中的未决事务处理的级别来 扼制同步消息的传输。
28. 如权利要求27所述的系统,其中所述扼制逻辑至少部分基于在 一个时段内发送的同步消息的数量来扼制同步消息的传输。
全文摘要
在一个实施例中,本发明包括一种方法,用于接收对存在于较低级高速缓存的较低级高速缓存线中的数据的高速缓存存取请求,并且向较高级高速缓存发送关于较低级高速缓存线的最近信息。较高级高速缓存可以与较低级高速缓存相容,并且可以更新与高速缓存线相关联的时效数据,由此减少高速缓存线驱逐的可能性。说明和要求了其它实施例。
文档编号G06F12/08GK101127005SQ20071010356
公开日2008年2月20日 申请日期2007年3月12日 优先权日2006年3月13日
发明者C·香农, G·欣顿, H·加特勒, P·哈默伦德, R·辛哈尔 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1